add macOS descriptors for layout plugin
Summary: Add macOS only descriptors. Currently does not support Yoga/YogaKit or accessibility features; will add those in a later diff. Reviewed By: priteshrnandgaonkar Differential Revision: D27332601 fbshipit-source-id: 35c93cf715f004dbf8dbf8753534f1d4f9801b4c
This commit is contained in:
committed by
Facebook GitHub Bot
parent
7c44d4d4f0
commit
ed69c4f16a
@@ -70,8 +70,12 @@ NSObject* flattenLayoutEditorMessage(NSObject* field);
|
||||
_connection = connection;
|
||||
|
||||
if (!_rootNode) {
|
||||
// TODO: T61384369 get rid off this if condition.
|
||||
// TODO: T61384369 get rid off this if condition.
|
||||
#if TARGET_OS_IPHONE
|
||||
_rootNode = [UIApplication sharedApplication];
|
||||
#elif TARGET_OS_OSX
|
||||
_rootNode = [NSApplication sharedApplication];
|
||||
#endif
|
||||
}
|
||||
|
||||
[SKInvalidation enableInvalidations];
|
||||
@@ -366,7 +370,11 @@ NSObject* flattenLayoutEditorMessage(NSObject* field) {
|
||||
- (void)onCallSetSearchActive:(BOOL)active
|
||||
withConnection:(id<FlipperConnection>)connection {
|
||||
if (active) {
|
||||
#if TARGET_OS_IPHONE
|
||||
[_tapListener mountWithFrame:[[UIScreen mainScreen] bounds]];
|
||||
#elif TARGET_OS_OSX
|
||||
[_tapListener mountWithFrame:NSRectToCGRect([NSScreen mainScreen].frame)];
|
||||
#endif
|
||||
__block id<NSObject> rootNode = _rootNode;
|
||||
|
||||
[_tapListener listenForTapWithBlock:^(CGPoint touchPoint) {
|
||||
|
||||
@@ -9,12 +9,25 @@
|
||||
|
||||
#import "SKDescriptorMapper.h"
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
|
||||
#import <FlipperKitLayoutIOSDescriptors/SKApplicationDescriptor.h>
|
||||
#import <FlipperKitLayoutIOSDescriptors/SKButtonDescriptor.h>
|
||||
#import <FlipperKitLayoutIOSDescriptors/SKScrollViewDescriptor.h>
|
||||
#import <FlipperKitLayoutIOSDescriptors/SKViewControllerDescriptor.h>
|
||||
#import <FlipperKitLayoutIOSDescriptors/SKViewDescriptor.h>
|
||||
|
||||
#elif TARGET_OS_OSX
|
||||
|
||||
#import <FlipperKitLayoutMacOSDescriptors/SKNSApplicationDescriptor.h>
|
||||
#import <FlipperKitLayoutMacOSDescriptors/SKNSButtonDescriptor.h>
|
||||
#import <FlipperKitLayoutMacOSDescriptors/SKNSScrollViewDescriptor.h>
|
||||
#import <FlipperKitLayoutMacOSDescriptors/SKNSViewControllerDescriptor.h>
|
||||
#import <FlipperKitLayoutMacOSDescriptors/SKNSViewDescriptor.h>
|
||||
#import <FlipperKitLayoutMacOSDescriptors/SKNSWindowDescriptor.h>
|
||||
|
||||
#endif
|
||||
|
||||
@implementation SKDescriptorMapper {
|
||||
NSMutableDictionary<NSString*, SKNodeDescriptor*>* _descriptors;
|
||||
}
|
||||
@@ -23,6 +36,7 @@
|
||||
if (self = [super init]) {
|
||||
_descriptors = [NSMutableDictionary new];
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
[self registerDescriptor:[[SKApplicationDescriptor alloc]
|
||||
initWithDescriptorMapper:self]
|
||||
forClass:[UIApplication class]];
|
||||
@@ -38,6 +52,27 @@
|
||||
[self registerDescriptor:[[SKViewDescriptor alloc]
|
||||
initWithDescriptorMapper:self]
|
||||
forClass:[UIView class]];
|
||||
|
||||
#elif TARGET_OS_OSX
|
||||
[self registerDescriptor:[[SKNSApplicationDescriptor alloc]
|
||||
initWithDescriptorMapper:self]
|
||||
forClass:[NSApplication class]];
|
||||
[self registerDescriptor:[[SKNSViewControllerDescriptor alloc]
|
||||
initWithDescriptorMapper:self]
|
||||
forClass:[NSViewController class]];
|
||||
[self registerDescriptor:[[SKNSScrollViewDescriptor alloc]
|
||||
initWithDescriptorMapper:self]
|
||||
forClass:[NSScrollView class]];
|
||||
[self registerDescriptor:[[SKNSButtonDescriptor alloc]
|
||||
initWithDescriptorMapper:self]
|
||||
forClass:[NSButton class]];
|
||||
[self registerDescriptor:[[SKNSViewDescriptor alloc]
|
||||
initWithDescriptorMapper:self]
|
||||
forClass:[NSView class]];
|
||||
[self registerDescriptor:[[SKNSWindowDescriptor alloc]
|
||||
initWithDescriptorMapper:self]
|
||||
forClass:[NSWindow class]];
|
||||
#endif
|
||||
}
|
||||
|
||||
return self;
|
||||
|
||||
Reference in New Issue
Block a user