Skip to content

Commit 42ad8b5

Browse files
committed
Unified NSControl+Action and UIControl+Action into single Control+Action
1 parent 448eecb commit 42ad8b5

File tree

3 files changed

+32
-48
lines changed

3 files changed

+32
-48
lines changed

Action.xcodeproj/project.pbxproj

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
1FCDDA661EAC31EF006EB95B /* AlertAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F0569E51DE28587007E1D0D /* AlertAction.swift */; };
1414
1FCDDA671EAC31EF006EB95B /* UIBarButtonItem+Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F0569E61DE28587007E1D0D /* UIBarButtonItem+Action.swift */; };
1515
1FCDDA681EAC31EF006EB95B /* UIButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F0569E71DE28587007E1D0D /* UIButton+Rx.swift */; };
16-
1FCDDA691EAC31EF006EB95B /* UIControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BD1C7541E1D5562000D82DA /* UIControl+Rx.swift */; };
1716
1FCDDA6C1EAC3221006EB95B /* RxCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FCDDA6A1EAC3221006EB95B /* RxCocoa.framework */; };
1817
1FCDDA6D1EAC3221006EB95B /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FCDDA6B1EAC3221006EB95B /* RxSwift.framework */; };
1918
1FCDDA8A1EAC329E006EB95B /* Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F0569E21DE28587007E1D0D /* Action.swift */; };
@@ -26,7 +25,9 @@
2625
1FCDDAA21EAC33D3006EB95B /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FCDDAA01EAC33D3006EB95B /* RxSwift.framework */; };
2726
3D37A3961DB4A97C0028BC0E /* RxTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D9C98331DB4A87B004A9F7C /* RxTest.framework */; };
2827
3D3D42771F5DBACF008CF951 /* NSButton+Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D3D42751F5DBAAE008CF951 /* NSButton+Action.swift */; };
29-
3D3D42781F5DBAD2008CF951 /* NSControl+Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D3D42761F5DBAAE008CF951 /* NSControl+Action.swift */; };
28+
3D730DE31F673BE4008534D3 /* Control+Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D730DE21F673BE4008534D3 /* Control+Action.swift */; };
29+
3D730DE41F673C64008534D3 /* Control+Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D730DE21F673BE4008534D3 /* Control+Action.swift */; };
30+
3D730DE51F673C65008534D3 /* Control+Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D730DE21F673BE4008534D3 /* Control+Action.swift */; };
3031
3DD965C01F5DC0E400C180FE /* Action.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FCDDA821EAC3295006EB95B /* Action.framework */; };
3132
3DD965C61F5DC2E100C180FE /* ActionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F0569F01DE288EB007E1D0D /* ActionTests.swift */; };
3233
3DD965C81F5DC2E700C180FE /* InputSubjectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA2861C91ED6A41700BB327A /* InputSubjectTests.swift */; };
@@ -39,7 +40,6 @@
3940
3DD965DE1F5DF8C500C180FE /* BindToTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DD965DD1F5DF86B00C180FE /* BindToTests.swift */; };
4041
3DD965DF1F5DF8C900C180FE /* NSButtonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DD965DA1F5DF79800C180FE /* NSButtonTests.swift */; };
4142
5ED520241E1EA199007621B9 /* BindToTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ED520231E1EA199007621B9 /* BindToTests.swift */; };
42-
7BD1C7551E1D5562000D82DA /* UIControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BD1C7541E1D5562000D82DA /* UIControl+Rx.swift */; };
4343
7F0569E81DE28587007E1D0D /* Action+Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F0569E01DE28587007E1D0D /* Action+Internal.swift */; };
4444
7F0569E91DE28587007E1D0D /* Action.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F0569E11DE28587007E1D0D /* Action.h */; settings = {ATTRIBUTES = (Public, ); }; };
4545
7F0569EA1DE28587007E1D0D /* Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F0569E21DE28587007E1D0D /* Action.swift */; };
@@ -125,7 +125,7 @@
125125
1FCDDA9F1EAC33D3006EB95B /* RxCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxCocoa.framework; path = "Carthage/Checkouts/RxSwift/build/Debug-watchos/RxCocoa.framework"; sourceTree = "<group>"; };
126126
1FCDDAA01EAC33D3006EB95B /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxSwift.framework; path = "Carthage/Checkouts/RxSwift/build/Debug-watchos/RxSwift.framework"; sourceTree = "<group>"; };
127127
3D3D42751F5DBAAE008CF951 /* NSButton+Action.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSButton+Action.swift"; sourceTree = "<group>"; };
128-
3D3D42761F5DBAAE008CF951 /* NSControl+Action.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSControl+Action.swift"; sourceTree = "<group>"; };
128+
3D730DE21F673BE4008534D3 /* Control+Action.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Control+Action.swift"; sourceTree = "<group>"; };
129129
3D9C98331DB4A87B004A9F7C /* RxTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxTest.framework; path = Carthage/Checkouts/RxSwift/build/Debug/RxTest.framework; sourceTree = "<group>"; };
130130
3DD965BB1F5DC0E400C180FE /* macOS-Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "macOS-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
131131
3DD965CF1F5DC31D00C180FE /* Nimble.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Nimble.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -137,7 +137,6 @@
137137
3DD965DA1F5DF79800C180FE /* NSButtonTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSButtonTests.swift; sourceTree = "<group>"; };
138138
3DD965DD1F5DF86B00C180FE /* BindToTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BindToTests.swift; sourceTree = "<group>"; };
139139
5ED520231E1EA199007621B9 /* BindToTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BindToTests.swift; sourceTree = "<group>"; };
140-
7BD1C7541E1D5562000D82DA /* UIControl+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIControl+Rx.swift"; sourceTree = "<group>"; };
141140
7F0569E01DE28587007E1D0D /* Action+Internal.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Action+Internal.swift"; sourceTree = "<group>"; };
142141
7F0569E11DE28587007E1D0D /* Action.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Action.h; sourceTree = "<group>"; };
143142
7F0569E21DE28587007E1D0D /* Action.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Action.swift; sourceTree = "<group>"; };
@@ -250,11 +249,18 @@
250249
isa = PBXGroup;
251250
children = (
252251
3D3D42751F5DBAAE008CF951 /* NSButton+Action.swift */,
253-
3D3D42761F5DBAAE008CF951 /* NSControl+Action.swift */,
254252
);
255253
path = AppKitExtensions;
256254
sourceTree = "<group>";
257255
};
256+
3D730DE11F673BCB008534D3 /* CommonUI */ = {
257+
isa = PBXGroup;
258+
children = (
259+
3D730DE21F673BE4008534D3 /* Control+Action.swift */,
260+
);
261+
path = CommonUI;
262+
sourceTree = "<group>";
263+
};
258264
3DD965DB1F5DF83700C180FE /* iOS-Tests */ = {
259265
isa = PBXGroup;
260266
children = (
@@ -289,6 +295,7 @@
289295
7F0569E21DE28587007E1D0D /* Action.swift */,
290296
7F0569E01DE28587007E1D0D /* Action+Internal.swift */,
291297
CA2861C71ED6979400BB327A /* InputSubject.swift */,
298+
3D730DE11F673BCB008534D3 /* CommonUI */,
292299
3D3D42741F5DBAAE008CF951 /* AppKitExtensions */,
293300
7F0569E41DE28587007E1D0D /* UIKitExtensions */,
294301
7F0569EF1DE28598007E1D0D /* Supporting Files */,
@@ -302,7 +309,6 @@
302309
7F0569E51DE28587007E1D0D /* AlertAction.swift */,
303310
7F0569E61DE28587007E1D0D /* UIBarButtonItem+Action.swift */,
304311
7F0569E71DE28587007E1D0D /* UIButton+Rx.swift */,
305-
7BD1C7541E1D5562000D82DA /* UIControl+Rx.swift */,
306312
);
307313
path = UIKitExtensions;
308314
sourceTree = "<group>";
@@ -571,6 +577,7 @@
571577
};
572578
1FCDDA811EAC3295006EB95B = {
573579
CreatedOnToolsVersion = 8.3.2;
580+
DevelopmentTeam = K42G4S78CE;
574581
ProvisioningStyle = Automatic;
575582
};
576583
1FCDDA951EAC33B0006EB95B = {
@@ -579,6 +586,7 @@
579586
};
580587
3DD965BA1F5DC0E400C180FE = {
581588
CreatedOnToolsVersion = 9.0;
589+
DevelopmentTeam = K42G4S78CE;
582590
ProvisioningStyle = Automatic;
583591
};
584592
7F5E6A661D7F08D2000B6076 = {
@@ -685,8 +693,8 @@
685693
1FCDDA661EAC31EF006EB95B /* AlertAction.swift in Sources */,
686694
1FCDDA671EAC31EF006EB95B /* UIBarButtonItem+Action.swift in Sources */,
687695
CA2861CB1ED6B08300BB327A /* InputSubject.swift in Sources */,
696+
3D730DE41F673C64008534D3 /* Control+Action.swift in Sources */,
688697
1FCDDA681EAC31EF006EB95B /* UIButton+Rx.swift in Sources */,
689-
1FCDDA691EAC31EF006EB95B /* UIControl+Rx.swift in Sources */,
690698
);
691699
runOnlyForDeploymentPostprocessing = 0;
692700
};
@@ -695,7 +703,7 @@
695703
buildActionMask = 2147483647;
696704
files = (
697705
CA2861CC1ED6B08400BB327A /* InputSubject.swift in Sources */,
698-
3D3D42781F5DBAD2008CF951 /* NSControl+Action.swift in Sources */,
706+
3D730DE51F673C65008534D3 /* Control+Action.swift in Sources */,
699707
1FCDDA8A1EAC329E006EB95B /* Action.swift in Sources */,
700708
3D3D42771F5DBACF008CF951 /* NSButton+Action.swift in Sources */,
701709
1FCDDA8B1EAC329E006EB95B /* Action+Internal.swift in Sources */,
@@ -752,8 +760,8 @@
752760
7F0569EC1DE28587007E1D0D /* AlertAction.swift in Sources */,
753761
7F0569E81DE28587007E1D0D /* Action+Internal.swift in Sources */,
754762
7F0569ED1DE28587007E1D0D /* UIBarButtonItem+Action.swift in Sources */,
755-
7BD1C7551E1D5562000D82DA /* UIControl+Rx.swift in Sources */,
756763
CA2861C81ED6979400BB327A /* InputSubject.swift in Sources */,
764+
3D730DE31F673BE4008534D3 /* Control+Action.swift in Sources */,
757765
7F0569EA1DE28587007E1D0D /* Action.swift in Sources */,
758766
7F0569EE1DE28587007E1D0D /* UIButton+Rx.swift in Sources */,
759767
);
@@ -844,9 +852,10 @@
844852
buildSettings = {
845853
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
846854
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
847-
CODE_SIGN_IDENTITY = "-";
855+
CODE_SIGN_IDENTITY = "Mac Developer";
848856
COMBINE_HIDPI_IMAGES = YES;
849857
DEFINES_MODULE = YES;
858+
DEVELOPMENT_TEAM = K42G4S78CE;
850859
DYLIB_COMPATIBILITY_VERSION = 1;
851860
DYLIB_CURRENT_VERSION = 1;
852861
DYLIB_INSTALL_NAME_BASE = "@rpath";
@@ -871,6 +880,7 @@
871880
CODE_SIGN_IDENTITY = "-";
872881
COMBINE_HIDPI_IMAGES = YES;
873882
DEFINES_MODULE = YES;
883+
DEVELOPMENT_TEAM = K42G4S78CE;
874884
DYLIB_COMPATIBILITY_VERSION = 1;
875885
DYLIB_CURRENT_VERSION = 1;
876886
DYLIB_INSTALL_NAME_BASE = "@rpath";
@@ -949,7 +959,7 @@
949959
CODE_SIGN_IDENTITY = "Mac Developer";
950960
CODE_SIGN_STYLE = Automatic;
951961
COMBINE_HIDPI_IMAGES = YES;
952-
DEVELOPMENT_TEAM = "";
962+
DEVELOPMENT_TEAM = K42G4S78CE;
953963
GCC_C_LANGUAGE_STANDARD = gnu11;
954964
INFOPLIST_FILE = Tests/ActionTests/Info.plist;
955965
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
@@ -978,7 +988,7 @@
978988
CODE_SIGN_IDENTITY = "Mac Developer";
979989
CODE_SIGN_STYLE = Automatic;
980990
COMBINE_HIDPI_IMAGES = YES;
981-
DEVELOPMENT_TEAM = "";
991+
DEVELOPMENT_TEAM = K42G4S78CE;
982992
GCC_C_LANGUAGE_STANDARD = gnu11;
983993
INFOPLIST_FILE = Tests/ActionTests/Info.plist;
984994
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";

Sources/Action/AppKitExtensions/NSControl+Action.swift renamed to Sources/Action/CommonUI/Control+Action.swift

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
1-
import Cocoa
1+
import Foundation
2+
#if os(iOS) || os(tvOS)
3+
import UIKit
4+
public typealias Control = UIKit.UIControl
5+
#elseif os(macOS)
6+
import Cocoa
7+
public typealias Control = Cocoa.NSControl
8+
#endif
29
import RxSwift
310
import RxCocoa
411

5-
public extension Reactive where Base: NSControl {
12+
public extension Reactive where Base: Control {
613
/// Binds enabled state of action to control, and subscribes action's execution to provided controlEvents.
714
/// These subscriptions are managed in a private, inaccessible dispose bag. To cancel
815
/// them, set the rx.action to nil or another action, or call unbindAction().

Sources/Action/UIKitExtensions/UIControl+Rx.swift

Lines changed: 0 additions & 33 deletions
This file was deleted.

0 commit comments

Comments
 (0)