KMNSearchReplaceItemView.swift 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. //
  2. // KMNSearchReplaceItemView.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by User-Tangchao on 2024/12/2.
  6. //
  7. import Cocoa
  8. import KMComponentLibrary
  9. class KMNSearchReplaceItemView: NSView {
  10. private lazy var input_: ComponentInput = {
  11. let view = ComponentInput()
  12. let prop = ComponentInputProperty()
  13. prop.size = .s
  14. prop.showPrefix = true
  15. prop.placeholder = KMLocalizedString("Replace with...")
  16. // KMImagenameBotaSearchInputPrefiex
  17. view.properties = prop
  18. return view
  19. }()
  20. private lazy var replaceAllButton_: ComponentButton = {
  21. let view = ComponentButton()
  22. let prop = ComponentButtonProperty()
  23. prop.type = .default_tertiary
  24. prop.size = .xxs
  25. prop.buttonText = KMLocalizedString("Replace All")
  26. view.properties = prop
  27. return view
  28. }()
  29. private lazy var replaceButton_: ComponentButton = {
  30. let view = ComponentButton()
  31. let prop = ComponentButtonProperty()
  32. prop.type = .primary
  33. prop.size = .xxs
  34. prop.buttonText = KMLocalizedString("Replace")
  35. view.properties = prop
  36. return view
  37. }()
  38. convenience init() {
  39. self.init(frame: .init(x: 0, y: 0, width: 300, height: 60))
  40. initSubviews()
  41. }
  42. override func awakeFromNib() {
  43. super.awakeFromNib()
  44. initSubviews()
  45. }
  46. func initSubviews() {
  47. addSubview(input_)
  48. addSubview(replaceAllButton_)
  49. addSubview(replaceButton_)
  50. input_.km_add_leading_constraint(constant: 12)
  51. input_.km_add_top_constraint(constant: 8)
  52. input_.km_add_trailing_constraint(constant: -12)
  53. input_.km_add_height_constraint(constant: 32)
  54. replaceButton_.km_add_height_constraint(constant: 24)
  55. replaceButton_.km_add_trailing_constraint(constant: -12)
  56. replaceButton_.km_add_bottom_constraint()
  57. replaceButton_.km_add_width_constraint(constant: replaceButton_.properties.propertyInfo.viewWidth)
  58. replaceAllButton_.km_add_height_constraint(constant: 24)
  59. replaceAllButton_.km_add_trailing_constraint(equalTo: replaceButton_, attribute: .leading, constant: -8)
  60. replaceAllButton_.km_add_bottom_constraint()
  61. replaceAllButton_.km_add_width_constraint(constant: replaceAllButton_.properties.propertyInfo.viewWidth)
  62. }
  63. override func draw(_ dirtyRect: NSRect) {
  64. super.draw(dirtyRect)
  65. // Drawing code here.
  66. }
  67. }