1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- //
- // KMNSearchReplaceTitleBarView.swift
- // PDF Reader Pro
- //
- // Created by User-Tangchao on 2024/12/3.
- //
- import Cocoa
- import KMComponentLibrary
- class KMNSearchReplaceTitleBarView: BaseXibView {
- @IBOutlet weak var closeButton: ComponentButton!
- @IBOutlet weak var switchButton: ComponentButton!
- @IBOutlet weak var typeTabs: ComponentTabs!
-
- var type: KMNBotaSearchType = .search {
- didSet {
- self.reloadData()
- }
- }
-
- private var searchTabProperty = ComponentTabsProperty(tabsType: .underline_Fill, state: .normal, showIcon: true, title: KMLocalizedString("Search"))
- private var replaceTabProperty = ComponentTabsProperty(tabsType: .underline_Fill, state: .normal, showIcon: true, title: KMLocalizedString("Replace"))
-
- var itemClick: KMCommonClickBlock?
-
- override func setup() {
- self.updateUI()
- }
-
- func updateUI() {
- let prop = ComponentButtonProperty()
- prop.type = .text_gray
- prop.size = .xxs
- prop.onlyIcon = true
- prop.icon = NSImage(named: "KMImageNameSearchReplaceClose")
- closeButton.properties = prop
- closeButton.setTarget(self, action: #selector(closeAction))
-
- let switchButtonProperty = ComponentButtonProperty()
- switchButtonProperty.type = .text_gray
- switchButtonProperty.size = .xxs
- switchButtonProperty.onlyIcon = true
- switchButtonProperty.icon = NSImage(named: "KMImageNameSearchReplaceSwitch")
- switchButton.properties = switchButtonProperty
- switchButton.setTarget(self, action: #selector(switchAction))
-
- searchTabProperty.propertyInfo.image_nor = NSImage(named: "KMImageNameSearchReplaceClose")
- searchTabProperty.propertyInfo.image_active = NSImage(named: "KMImageNameSearchReplaceClose")
-
- replaceTabProperty.propertyInfo.image_nor = NSImage(named: "KMImageNameSearchReplaceClose")
- replaceTabProperty.propertyInfo.image_active = NSImage(named: "KMImageNameSearchReplaceClose")
-
- typeTabs.updateItemProperty([searchTabProperty, replaceTabProperty])
- typeTabs.delegate = self
- typeTabs.refreshItems()
-
- self.reloadData()
- }
-
- @objc func closeAction() {
- itemClick?(1)
- }
-
- @objc func switchAction() {
- itemClick?(2)
- }
-
- func reloadData() {
- searchTabProperty.state = .normal
- replaceTabProperty.state = .normal
-
- if type == .search {
- searchTabProperty.state = .pressed
- } else if type == .replace{
- replaceTabProperty.state = .pressed
- }
- typeTabs.refreshItems()
- }
- }
- //MARK: action
- extension KMNSearchReplaceTitleBarView {
-
- }
- extension KMNSearchReplaceTitleBarView: ComponentTabsDelegate {
- func componentTabsDidSelected(_ view: ComponentTabs, _ property: ComponentTabsProperty) {
- if property == searchTabProperty {
- type = .search
- itemClick?(3)
- } else if property == replaceTabProperty {
- type = .replace
- itemClick?(4)
- }
- self.reloadData()
- }
- }
|