KMNSearchReplaceItemView.swift 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  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 KMNSearchReplacePopItemView: KMNSearchReplaceItemView {
  10. override func initSubviews() {
  11. addSubview(input)
  12. addSubview(replaceAllButton)
  13. addSubview(replaceButton)
  14. input.km_add_leading_constraint(constant: 12)
  15. input.km_add_top_constraint(constant: 0)
  16. input.km_add_trailing_constraint(constant: -12)
  17. input.km_add_height_constraint(constant: 32)
  18. replaceButton.km_add_height_constraint(constant: 32)
  19. replaceButton.km_add_trailing_constraint(constant: -12)
  20. replaceButton.km_add_bottom_constraint()
  21. replaceButton.km_add_width_constraint(constant: replaceButton.properties.propertyInfo.viewWidth)
  22. replaceAllButton.km_add_height_constraint(constant: 32)
  23. replaceAllButton.km_add_trailing_constraint(equalTo: replaceButton, attribute: .leading, constant: -8)
  24. replaceAllButton.km_add_bottom_constraint()
  25. replaceAllButton.km_add_width_constraint(constant: replaceAllButton.properties.propertyInfo.viewWidth)
  26. }
  27. }
  28. class KMNSearchReplaceItemView: NSView {
  29. private lazy var input_: ComponentInput = {
  30. let view = ComponentInput()
  31. let prop = ComponentInputProperty()
  32. prop.size = .s
  33. prop.showPrefix = true
  34. prop.placeholder = KMLocalizedString("Replace with...")
  35. // KMImagenameBotaSearchInputPrefiex
  36. view.properties = prop
  37. return view
  38. }()
  39. private lazy var replaceAllButton_: ComponentButton = {
  40. let view = ComponentButton()
  41. let prop = ComponentButtonProperty()
  42. prop.type = .default_tertiary
  43. prop.size = .xxs
  44. prop.buttonText = KMLocalizedString("Replace All")
  45. view.properties = prop
  46. return view
  47. }()
  48. private lazy var replaceButton_: ComponentButton = {
  49. let view = ComponentButton()
  50. let prop = ComponentButtonProperty()
  51. prop.type = .primary
  52. prop.size = .xxs
  53. prop.buttonText = KMLocalizedString("Replace")
  54. view.properties = prop
  55. return view
  56. }()
  57. var input: ComponentInput {
  58. get {
  59. return input_
  60. }
  61. }
  62. var replaceAllButton: ComponentButton {
  63. get {
  64. return replaceAllButton_
  65. }
  66. }
  67. var replaceButton: ComponentButton {
  68. get {
  69. return replaceButton_
  70. }
  71. }
  72. convenience init() {
  73. self.init(frame: .init(x: 0, y: 0, width: 300, height: 60))
  74. initSubviews()
  75. }
  76. override func awakeFromNib() {
  77. super.awakeFromNib()
  78. initSubviews()
  79. }
  80. func initSubviews() {
  81. addSubview(input_)
  82. addSubview(replaceAllButton_)
  83. addSubview(replaceButton_)
  84. input_.km_add_leading_constraint(constant: 12)
  85. input_.km_add_top_constraint(constant: 8)
  86. input_.km_add_trailing_constraint(constant: -12)
  87. input_.km_add_height_constraint(constant: 32)
  88. replaceButton_.km_add_height_constraint(constant: 24)
  89. replaceButton_.km_add_trailing_constraint(constant: -12)
  90. replaceButton_.km_add_bottom_constraint()
  91. replaceButton_.km_add_width_constraint(constant: replaceButton_.properties.propertyInfo.viewWidth)
  92. replaceAllButton_.km_add_height_constraint(constant: 24)
  93. replaceAllButton_.km_add_trailing_constraint(equalTo: replaceButton_, attribute: .leading, constant: -8)
  94. replaceAllButton_.km_add_bottom_constraint()
  95. replaceAllButton_.km_add_width_constraint(constant: replaceAllButton_.properties.propertyInfo.viewWidth)
  96. }
  97. }