杨锴
2024-08-14 909e20941e45f8712c012db602034b47da0bfdb0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//
//  NSButton+Rx.swift
//  RxCocoa
//
//  Created by Krunoslav Zaher on 5/17/15.
//  Copyright © 2015 Krunoslav Zaher. All rights reserved.
//
 
#if os(macOS)
 
import RxSwift
import Cocoa
 
extension Reactive where Base: NSButton {
    
    /// Reactive wrapper for control event.
    public var tap: ControlEvent<Void> {
        self.controlEvent
    }
    
    /// Reactive wrapper for `state` property`.
    public var state: ControlProperty<NSControl.StateValue> {
        return self.base.rx.controlProperty(
            getter: { control in
                return control.state
            }, setter: { (control: NSButton, state: NSControl.StateValue) in
                control.state = state
            }
        )
    }
}
 
#endif