mirror of
https://github.com/zakk4223/CocoaSplit.git
synced 2026-05-15 14:15:50 -06:00
Moved video filter chain configuration into dedicated view controller
This commit is contained in:
parent
3c919a16f0
commit
dc73b3c670
10 changed files with 434 additions and 435 deletions
|
|
@ -171,6 +171,8 @@
|
|||
348585B4201C998200C30A08 /* CSPassthroughCompressorViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 348585B2201C998200C30A08 /* CSPassthroughCompressorViewController.xib */; };
|
||||
348585D6201DDC9100C30A08 /* CSSourceLayoutFilterWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 348585D4201DDC9100C30A08 /* CSSourceLayoutFilterWindowController.m */; };
|
||||
348585D7201DDC9100C30A08 /* CSSourceLayoutFilterWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 348585D5201DDC9100C30A08 /* CSSourceLayoutFilterWindowController.xib */; };
|
||||
348585DE201E65F900C30A08 /* CSLayerFiltersViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 348585DC201E65F900C30A08 /* CSLayerFiltersViewController.m */; };
|
||||
348585DF201E65F900C30A08 /* CSLayerFiltersViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 348585DD201E65F900C30A08 /* CSLayerFiltersViewController.xib */; };
|
||||
348AC06B19B406910064F02D /* SourceLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 348AC06A19B406910064F02D /* SourceLayout.m */; };
|
||||
34938EE81AE4A7E500F3B1CF /* CSCIFilterConfigProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 34938EE71AE4A7E500F3B1CF /* CSCIFilterConfigProxy.m */; };
|
||||
34938EED1AE4D24200F3B1CF /* CSFilterChooserWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34938EEB1AE4D24200F3B1CF /* CSFilterChooserWindowController.m */; };
|
||||
|
|
@ -880,6 +882,9 @@
|
|||
348585D3201DDC9100C30A08 /* CSSourceLayoutFilterWindowController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CSSourceLayoutFilterWindowController.h; path = Interface/CSSourceLayoutFilterWindowController.h; sourceTree = "<group>"; };
|
||||
348585D4201DDC9100C30A08 /* CSSourceLayoutFilterWindowController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CSSourceLayoutFilterWindowController.m; path = Interface/CSSourceLayoutFilterWindowController.m; sourceTree = "<group>"; };
|
||||
348585D5201DDC9100C30A08 /* CSSourceLayoutFilterWindowController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = CSSourceLayoutFilterWindowController.xib; path = Interface/CSSourceLayoutFilterWindowController.xib; sourceTree = "<group>"; };
|
||||
348585DB201E65F900C30A08 /* CSLayerFiltersViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CSLayerFiltersViewController.h; path = Interface/CSLayerFiltersViewController.h; sourceTree = "<group>"; };
|
||||
348585DC201E65F900C30A08 /* CSLayerFiltersViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CSLayerFiltersViewController.m; path = Interface/CSLayerFiltersViewController.m; sourceTree = "<group>"; };
|
||||
348585DD201E65F900C30A08 /* CSLayerFiltersViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = CSLayerFiltersViewController.xib; path = Interface/CSLayerFiltersViewController.xib; sourceTree = "<group>"; };
|
||||
348AC06919B406910064F02D /* SourceLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceLayout.h; sourceTree = "<group>"; };
|
||||
348AC06A19B406910064F02D /* SourceLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SourceLayout.m; sourceTree = "<group>"; };
|
||||
34938EE61AE4A7E500F3B1CF /* CSCIFilterConfigProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSCIFilterConfigProxy.h; sourceTree = "<group>"; };
|
||||
|
|
@ -1702,6 +1707,9 @@
|
|||
348585D3201DDC9100C30A08 /* CSSourceLayoutFilterWindowController.h */,
|
||||
348585D4201DDC9100C30A08 /* CSSourceLayoutFilterWindowController.m */,
|
||||
348585D5201DDC9100C30A08 /* CSSourceLayoutFilterWindowController.xib */,
|
||||
348585DB201E65F900C30A08 /* CSLayerFiltersViewController.h */,
|
||||
348585DC201E65F900C30A08 /* CSLayerFiltersViewController.m */,
|
||||
348585DD201E65F900C30A08 /* CSLayerFiltersViewController.xib */,
|
||||
);
|
||||
name = Interface;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -2688,6 +2696,7 @@
|
|||
344988131893CF0500044259 /* LogWindow.xib in Resources */,
|
||||
34B5FAE81E760BDD0078FC51 /* CSSequenceEditorWindowController.xib in Resources */,
|
||||
34D696FC1871B8F700B50EB6 /* Defaults.plist in Resources */,
|
||||
348585DF201E65F900C30A08 /* CSLayerFiltersViewController.xib in Resources */,
|
||||
34B5FB8F1E7FA2610078FC51 /* CSSequenceItemTransitionViewController.xib in Resources */,
|
||||
343C2CBB1FFCD28C00849DA9 /* CAMultiAudioEffectsViewController.xib in Resources */,
|
||||
34348C2B19BDBDC000A122C2 /* PluginManagerWindowController.xib in Resources */,
|
||||
|
|
@ -2866,6 +2875,7 @@
|
|||
34528B8F1F9A707400C090E0 /* InputSource+ScriptingAdditions.m in Sources */,
|
||||
3450239D1C60B3EF00B461B5 /* CSLayoutCollectionItemView.m in Sources */,
|
||||
34B5FAE71E760BDD0078FC51 /* CSSequenceEditorWindowController.m in Sources */,
|
||||
348585DE201E65F900C30A08 /* CSLayerFiltersViewController.m in Sources */,
|
||||
34B5FADA1E75B9B30078FC51 /* CSGridView.m in Sources */,
|
||||
3400A0841BD522A5003E1828 /* CSLibraryInputItemViewController.m in Sources */,
|
||||
34ED8C631B07371C002C0674 /* MIKMIDIErrors.m in Sources */,
|
||||
|
|
|
|||
23
CocoaSplit/Interface/CSLayerFiltersViewController.h
Normal file
23
CocoaSplit/Interface/CSLayerFiltersViewController.h
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
//
|
||||
// CSLayerFiltersViewController.h
|
||||
// CocoaSplit
|
||||
//
|
||||
// Created by Zakk on 1/28/18.
|
||||
//
|
||||
|
||||
#import "CSViewController.h"
|
||||
|
||||
@interface CSLayerFiltersViewController : CSViewController <NSWindowDelegate>
|
||||
|
||||
@property (nonatomic, copy) void (^addFilter)(NSString *filterName);
|
||||
@property (nonatomic, copy) void (^deleteFilter)(NSString *filterName);
|
||||
@property (strong) IBOutlet NSArrayController *filterArrayController;
|
||||
|
||||
@property (strong) CALayer *baseLayer;
|
||||
@property (strong) NSString *filterArrayName;
|
||||
@property (strong) NSWindow *userFilterWindow;
|
||||
|
||||
- (IBAction)filterControlAction:(NSSegmentedControl *)sender;
|
||||
|
||||
@end
|
||||
|
||||
183
CocoaSplit/Interface/CSLayerFiltersViewController.m
Normal file
183
CocoaSplit/Interface/CSLayerFiltersViewController.m
Normal file
|
|
@ -0,0 +1,183 @@
|
|||
//
|
||||
// CSLayerFiltersViewController.m
|
||||
// CocoaSplit
|
||||
//
|
||||
// Created by Zakk on 1/28/18.
|
||||
//
|
||||
|
||||
#import "CSLayerFiltersViewController.h"
|
||||
#import "CSFilterChooserWindowController.h"
|
||||
#import "CSCIFilterConfigProxy.h"
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
#import <Quartz/Quartz.h>
|
||||
|
||||
@interface CSLayerFiltersViewController ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation CSLayerFiltersViewController
|
||||
@synthesize baseLayer = _baseLayer;
|
||||
@synthesize filterArrayName = _filterArrayName;
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
// Do view setup here.
|
||||
}
|
||||
|
||||
|
||||
-(NSString *)filterArrayName
|
||||
{
|
||||
return _filterArrayName;
|
||||
}
|
||||
|
||||
-(void)setFilterArrayName:(NSString *)filterArrayName
|
||||
{
|
||||
_filterArrayName = filterArrayName;
|
||||
if (self.baseLayer)
|
||||
{
|
||||
[self.filterArrayController bind:@"contentArray" toObject:self.baseLayer withKeyPath:filterArrayName options:nil];
|
||||
}
|
||||
}
|
||||
|
||||
-(CALayer *)baseLayer
|
||||
{
|
||||
return _baseLayer;
|
||||
}
|
||||
|
||||
-(void) setBaseLayer:(CALayer *)baseLayer
|
||||
{
|
||||
_baseLayer = baseLayer;
|
||||
if (self.filterArrayName)
|
||||
{
|
||||
[self.filterArrayController bind:@"contentArray" toObject:baseLayer withKeyPath:self.filterArrayName options:nil];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
-(IBAction)addFilterAction:(NSSegmentedControl *)sender
|
||||
{
|
||||
|
||||
NSString *filterName = [CSFilterChooserWindowController run];
|
||||
if (!filterName)
|
||||
{
|
||||
return;
|
||||
}
|
||||
CIFilter *newFilter = [CIFilter filterWithName:filterName];
|
||||
|
||||
if (!newFilter)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
[newFilter setDefaults];
|
||||
NSString *filterID = NSUUID.UUID.UUIDString;
|
||||
newFilter.name = filterID;
|
||||
NSArray *cFilters = [self.baseLayer valueForKeyPath:self.filterArrayName];
|
||||
if (!cFilters)
|
||||
{
|
||||
[self.baseLayer setValue:@[] forKeyPath:self.filterArrayName];
|
||||
}
|
||||
|
||||
[CATransaction begin];
|
||||
|
||||
[self.filterArrayController addObject:newFilter];
|
||||
[CATransaction commit];
|
||||
}
|
||||
|
||||
|
||||
-(IBAction)deleteFilterAction:(NSSegmentedControl *)sender
|
||||
{
|
||||
[CATransaction begin];
|
||||
[self.filterArrayController removeObjectAtArrangedObjectIndex:self.filterArrayController.selectionIndex];
|
||||
[CATransaction commit];
|
||||
}
|
||||
|
||||
|
||||
-(void)openUserFilterPanel:(CIFilter *)forFilter forLayer:(CALayer *)forLayer withType:(NSString *)withType
|
||||
{
|
||||
if (!forFilter)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
CSCIFilterConfigProxy *filterProxy = [[CSCIFilterConfigProxy alloc] init];
|
||||
|
||||
|
||||
filterProxy.baseLayer = forLayer;
|
||||
filterProxy.layerFilterName = forFilter.name;
|
||||
filterProxy.filterType = withType;
|
||||
|
||||
|
||||
IKFilterUIView *filterView = [forFilter viewForUIConfiguration:@{IKUISizeFlavor:IKUISizeMini} excludedKeys:@[kCIInputImageKey, kCIInputTargetImageKey, kCIInputTimeKey]];
|
||||
|
||||
|
||||
|
||||
if (forLayer)
|
||||
{
|
||||
CSCIFilterConfigProxy *filterProxy = [[CSCIFilterConfigProxy alloc] init];
|
||||
filterProxy.baseLayer = forLayer;
|
||||
filterProxy.layerFilterName = forFilter.name;
|
||||
filterProxy.filterType = withType;
|
||||
|
||||
[filterProxy rebindViewControls:filterView];
|
||||
|
||||
}
|
||||
|
||||
|
||||
self.userFilterWindow = [[NSWindow alloc] init];
|
||||
|
||||
self.userFilterWindow.delegate = self;
|
||||
[self.userFilterWindow setContentSize:filterView.bounds.size];
|
||||
[self.userFilterWindow.contentView addSubview:filterView];
|
||||
self.userFilterWindow.styleMask = NSTitledWindowMask|NSClosableWindowMask|NSMiniaturizableWindowMask;
|
||||
[self.userFilterWindow setReleasedWhenClosed:NO];
|
||||
|
||||
[self.userFilterWindow makeKeyAndOrderFront:self.userFilterWindow];
|
||||
|
||||
}
|
||||
|
||||
|
||||
- (IBAction)configureFilter:(NSSegmentedControl *)sender
|
||||
{
|
||||
|
||||
CIFilter *selectedFilter;
|
||||
|
||||
selectedFilter = [self.filterArrayController.arrangedObjects objectAtIndex:self.filterArrayController.selectionIndex];
|
||||
|
||||
if (selectedFilter)
|
||||
{
|
||||
[self openUserFilterPanel:selectedFilter forLayer:self.baseLayer withType:self.filterArrayName];
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-(void)windowWillClose:(NSNotification *)notification
|
||||
{
|
||||
self.userFilterWindow = nil;
|
||||
}
|
||||
|
||||
|
||||
- (IBAction)filterControlAction:(NSSegmentedControl *)sender
|
||||
{
|
||||
NSInteger segment = sender.selectedSegment;
|
||||
|
||||
switch (segment)
|
||||
{
|
||||
case 0:
|
||||
[self addFilterAction:sender];
|
||||
break;
|
||||
case 1:
|
||||
[self deleteFilterAction:sender];
|
||||
break;
|
||||
case 2:
|
||||
[self configureFilter:sender];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@end
|
||||
|
||||
100
CocoaSplit/Interface/CSLayerFiltersViewController.xib
Normal file
100
CocoaSplit/Interface/CSLayerFiltersViewController.xib
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="13771" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="13771"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="CSLayerFiltersViewController">
|
||||
<connections>
|
||||
<outlet property="filterArrayController" destination="bN2-9k-a9E" id="OJA-GA-HD1"/>
|
||||
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<customView id="Hz6-mo-xeY">
|
||||
<rect key="frame" x="0.0" y="0.0" width="195" height="381"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dcn-NH-ZKw">
|
||||
<rect key="frame" x="0.0" y="20" width="195" height="361"/>
|
||||
<clipView key="contentView" id="Ye9-Jv-oJx">
|
||||
<rect key="frame" x="1" y="1" width="193" height="359"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" id="1vG-i5-Cwq">
|
||||
<rect key="frame" x="0.0" y="0.0" width="193" height="359"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||
<tableColumns>
|
||||
<tableColumn identifier="" width="190" minWidth="40" maxWidth="1000" id="T0u-D0-TMy">
|
||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
</tableHeaderCell>
|
||||
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="Iqh-Bv-5QY">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<connections>
|
||||
<binding destination="bN2-9k-a9E" name="value" keyPath="arrangedObjects.attributes.CIAttributeFilterDisplayName" id="eer-cO-6kD"/>
|
||||
</connections>
|
||||
</tableColumn>
|
||||
</tableColumns>
|
||||
</tableView>
|
||||
</subviews>
|
||||
</clipView>
|
||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="EOg-Ec-3zI">
|
||||
<rect key="frame" x="-7" y="-14" width="0.0" height="15"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="fvL-AT-ZOJ">
|
||||
<rect key="frame" x="-14" y="-7" width="15" height="0.0"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
<segmentedControl verticalHuggingPriority="750" tag="1" translatesAutoresizingMaskIntoConstraints="NO" id="9Jh-Ol-xL8">
|
||||
<rect key="frame" x="0.0" y="-1" width="154" height="23"/>
|
||||
<segmentedCell key="cell" borderStyle="border" alignment="left" style="smallSquare" trackingMode="momentary" id="DZ4-p0-Xt2">
|
||||
<font key="font" metaFont="system"/>
|
||||
<segments>
|
||||
<segment image="NSAddTemplate"/>
|
||||
<segment image="NSRemoveTemplate" tag="1"/>
|
||||
<segment image="NSActionTemplate">
|
||||
<nil key="label"/>
|
||||
</segment>
|
||||
<segment width="65" enabled="NO">
|
||||
<nil key="label"/>
|
||||
</segment>
|
||||
</segments>
|
||||
</segmentedCell>
|
||||
<connections>
|
||||
<action selector="filterControlAction:" target="-2" id="jLG-rE-yTt"/>
|
||||
</connections>
|
||||
</segmentedControl>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="dcn-NH-ZKw" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="1rf-7R-HY1"/>
|
||||
<constraint firstAttribute="bottom" secondItem="dcn-NH-ZKw" secondAttribute="bottom" constant="20" symbolic="YES" id="4EZ-hq-hYz"/>
|
||||
<constraint firstAttribute="bottom" secondItem="9Jh-Ol-xL8" secondAttribute="bottom" id="H1W-4u-PfJ"/>
|
||||
<constraint firstAttribute="trailing" secondItem="dcn-NH-ZKw" secondAttribute="trailing" id="M1g-ch-Cae"/>
|
||||
<constraint firstItem="dcn-NH-ZKw" firstAttribute="leading" secondItem="9Jh-Ol-xL8" secondAttribute="leading" id="vlH-Ii-wFe"/>
|
||||
<constraint firstItem="dcn-NH-ZKw" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="wpc-EF-ufn"/>
|
||||
</constraints>
|
||||
<point key="canvasLocation" x="-53.5" y="223.5"/>
|
||||
</customView>
|
||||
<arrayController id="bN2-9k-a9E" userLabel="filterArrayController"/>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="NSActionTemplate" width="14" height="14"/>
|
||||
<image name="NSAddTemplate" width="11" height="11"/>
|
||||
<image name="NSRemoveTemplate" width="11" height="11"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import "SourceLayout.h"
|
||||
#import "CSLayerFiltersViewController.h"
|
||||
|
||||
@interface CSSourceLayoutFilterWindowController : NSWindowController <NSWindowDelegate>
|
||||
|
||||
|
|
@ -16,6 +17,7 @@
|
|||
@property (strong) NSWindow *userFilterWindow;
|
||||
|
||||
- (IBAction)filterControlAction:(NSSegmentedControl *)sender;
|
||||
@property (strong) IBOutlet CSLayerFiltersViewController *filterListViewController;
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -32,6 +32,24 @@
|
|||
return self;
|
||||
}
|
||||
|
||||
-(void)awakeFromNib
|
||||
{
|
||||
__weak CSSourceLayoutFilterWindowController *weakSelf = self;
|
||||
|
||||
self.filterListViewController.addFilter = ^(NSString *filterName) {
|
||||
[weakSelf.layout addLayoutFilter:filterName];
|
||||
};
|
||||
|
||||
self.filterListViewController.baseLayer = self.layout.rootLayer;
|
||||
self.filterListViewController.filterArrayName = @"filters";
|
||||
|
||||
/*
|
||||
self.filterListViewController.deleteFilter = ^(NSString *filterName) {
|
||||
[weakSelf.layout addLayoutFilter:filterName];
|
||||
};*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
- (IBAction)addFilterAction:(NSSegmentedControl *)sender
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="CSSourceLayoutFilterWindowController">
|
||||
<connections>
|
||||
<outlet property="filterListTable" destination="PeX-QR-nAp" id="AX6-mU-52x"/>
|
||||
<outlet property="filterListViewController" destination="B9c-zE-KhX" id="jvo-cK-HIA"/>
|
||||
<outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
|
|
@ -23,75 +23,15 @@
|
|||
<rect key="frame" x="0.0" y="0.0" width="187" height="371"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nbj-TW-zBj">
|
||||
<rect key="frame" x="20" y="40" width="154" height="311"/>
|
||||
<clipView key="contentView" id="gv5-33-kJs">
|
||||
<rect key="frame" x="1" y="1" width="152" height="309"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" id="PeX-QR-nAp">
|
||||
<rect key="frame" x="0.0" y="0.0" width="152" height="309"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||
<tableColumns>
|
||||
<tableColumn identifier="" width="149" minWidth="40" maxWidth="1000" id="SwY-xM-VzM">
|
||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
</tableHeaderCell>
|
||||
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="55T-dv-gkd">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<connections>
|
||||
<binding destination="ez2-6c-ozz" name="value" keyPath="arrangedObjects.attributes.CIAttributeFilterDisplayName" id="KPd-Ek-X5i"/>
|
||||
</connections>
|
||||
</tableColumn>
|
||||
</tableColumns>
|
||||
</tableView>
|
||||
</subviews>
|
||||
</clipView>
|
||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="923-KH-zDJ">
|
||||
<rect key="frame" x="-7" y="-14" width="0.0" height="15"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="S14-kS-54C">
|
||||
<rect key="frame" x="-14" y="-7" width="15" height="0.0"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
<segmentedControl verticalHuggingPriority="750" tag="1" translatesAutoresizingMaskIntoConstraints="NO" id="n2Z-bZ-0mh">
|
||||
<rect key="frame" x="20" y="19" width="154" height="23"/>
|
||||
<segmentedCell key="cell" borderStyle="border" alignment="left" style="smallSquare" trackingMode="momentary" id="InV-bJ-evy">
|
||||
<font key="font" metaFont="system"/>
|
||||
<segments>
|
||||
<segment image="NSAddTemplate"/>
|
||||
<segment image="NSRemoveTemplate" tag="1"/>
|
||||
<segment image="NSActionTemplate">
|
||||
<nil key="label"/>
|
||||
</segment>
|
||||
<segment width="65" enabled="NO">
|
||||
<nil key="label"/>
|
||||
</segment>
|
||||
</segments>
|
||||
</segmentedCell>
|
||||
<connections>
|
||||
<action selector="filterControlAction:" target="-2" id="D4h-ni-FpU"/>
|
||||
</connections>
|
||||
</segmentedControl>
|
||||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="Io5-35-d90">
|
||||
<rect key="frame" x="12" y="20" width="163" height="331"/>
|
||||
</customView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="nbj-TW-zBj" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="20" symbolic="YES" id="5n0-7Y-ngU"/>
|
||||
<constraint firstAttribute="bottom" secondItem="n2Z-bZ-0mh" secondAttribute="bottom" constant="20" symbolic="YES" id="OTI-5H-AhM"/>
|
||||
<constraint firstItem="nbj-TW-zBj" firstAttribute="leading" secondItem="n2Z-bZ-0mh" secondAttribute="leading" id="U2i-4M-kqm"/>
|
||||
<constraint firstItem="nbj-TW-zBj" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="20" symbolic="YES" id="pAy-yh-f1s"/>
|
||||
<constraint firstAttribute="bottom" secondItem="nbj-TW-zBj" secondAttribute="bottom" constant="40" id="sHi-6O-5d8"/>
|
||||
<constraint firstItem="nbj-TW-zBj" firstAttribute="trailing" secondItem="n2Z-bZ-0mh" secondAttribute="trailing" id="whP-s2-7R9"/>
|
||||
<constraint firstItem="Io5-35-d90" firstAttribute="centerX" secondItem="se5-gp-TjO" secondAttribute="centerX" id="5Dh-9U-bTU"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Io5-35-d90" secondAttribute="bottom" constant="20" symbolic="YES" id="Ga5-Bg-eSV"/>
|
||||
<constraint firstItem="Io5-35-d90" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="20" symbolic="YES" id="loE-Gi-YFu"/>
|
||||
<constraint firstItem="Io5-35-d90" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="12" id="uKw-ry-Vcq"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<connections>
|
||||
|
|
@ -104,10 +44,10 @@
|
|||
<binding destination="-2" name="contentArray" keyPath="self.layout.rootLayer.filters" id="pom-pb-TMj"/>
|
||||
</connections>
|
||||
</arrayController>
|
||||
<viewController id="B9c-zE-KhX" userLabel="filterListViewController" customClass="CSLayerFiltersViewController">
|
||||
<connections>
|
||||
<outlet property="parentView" destination="Io5-35-d90" id="YwL-IM-nVt"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="NSActionTemplate" width="14" height="14"/>
|
||||
<image name="NSAddTemplate" width="11" height="11"/>
|
||||
<image name="NSRemoveTemplate" width="11" height="11"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
|
|||
|
|
@ -9,14 +9,14 @@
|
|||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="InputPopupControllerViewController">
|
||||
<connections>
|
||||
<outlet property="backgroundFilterTableView" destination="ZZX-56-hhh" id="wc7-gO-Jq8"/>
|
||||
<outlet property="backgroundFilterViewController" destination="arq-y0-MNl" id="S27-aF-eKH"/>
|
||||
<outlet property="inputFilterViewController" destination="b31-q9-7JS" id="cvO-Pu-J16"/>
|
||||
<outlet property="inputobjctrl" destination="Gdf-y2-DdF" id="FT4-F8-KVU"/>
|
||||
<outlet property="layerFilterTableView" destination="wpv-kO-rYh" id="zN2-bJ-xPn"/>
|
||||
<outlet property="multiSourceController" destination="4mF-fx-iLB" id="U30-Tg-7IY"/>
|
||||
<outlet property="scriptTableView" destination="7TO-Cw-mOa" id="Ejo-jv-EAW"/>
|
||||
<outlet property="scriptTextView" destination="XJb-k2-QUc" id="LgN-Cb-N4b"/>
|
||||
<outlet property="sourceConfigView" destination="qdF-gh-veZ" id="EeZ-cn-GeU"/>
|
||||
<outlet property="sourceFilterTableView" destination="6Qb-U3-oNN" id="9bp-z5-OIG"/>
|
||||
<outlet property="sourceFilterViewController" destination="Ipm-Cn-5NK" id="Ge5-yf-IDd"/>
|
||||
<outlet property="view" destination="E8C-YL-16h" id="aVS-B5-cxz"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
<rect key="frame" x="10" y="25" width="642" height="428"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="EBg-Vi-cL7">
|
||||
<textField verticalHuggingPriority="750" ambiguous="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="EBg-Vi-cL7">
|
||||
<rect key="frame" x="15" y="355" width="53" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Source" id="YYN-k4-jke">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
</binding>
|
||||
</connections>
|
||||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Icu-pd-WRg">
|
||||
<popUpButton verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Icu-pd-WRg">
|
||||
<rect key="frame" x="64" y="377" width="243" height="22"/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="eyR-QZ-n8r">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
|
|
@ -65,7 +65,7 @@
|
|||
<binding destination="-2" name="selectedObject" keyPath="self.selectedVideoType" previousBinding="8tD-Fn-D48" id="NB6-ih-slX"/>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gJP-2X-7HB">
|
||||
<textField verticalHuggingPriority="750" ambiguous="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gJP-2X-7HB">
|
||||
<rect key="frame" x="15" y="377" width="34" height="18"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Type" id="kpE-OE-l7z">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -73,7 +73,7 @@
|
|||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="GaR-E0-cDn">
|
||||
<button verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GaR-E0-cDn">
|
||||
<rect key="frame" x="307" y="398" width="80" height="28"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="70" id="mZb-t2-gal"/>
|
||||
|
|
@ -90,7 +90,7 @@
|
|||
</binding>
|
||||
</connections>
|
||||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bWQ-Fl-ROJ">
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" ambiguous="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bWQ-Fl-ROJ">
|
||||
<rect key="frame" x="15" y="406" width="35" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Name" id="hR6-Ol-IPm">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -98,7 +98,7 @@
|
|||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="X91-Lt-pl4">
|
||||
<textField verticalHuggingPriority="750" ambiguous="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="X91-Lt-pl4">
|
||||
<rect key="frame" x="67" y="403" width="237" height="19"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" continuous="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="oOb-f5-Nf4">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -116,7 +116,7 @@
|
|||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="qdF-gh-veZ">
|
||||
<rect key="frame" x="17" y="1" width="608" height="330"/>
|
||||
</customView>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="Eoh-8E-U5F">
|
||||
<button ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Eoh-8E-U5F">
|
||||
<rect key="frame" x="312" y="379" width="72" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Active" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="QlR-u6-CLj">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
|
|
@ -133,7 +133,7 @@
|
|||
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="gFW-Ox-2QM">
|
||||
<rect key="frame" x="17" y="337" width="608" height="5"/>
|
||||
</box>
|
||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ESc-uJ-Gih">
|
||||
<popUpButton verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ESc-uJ-Gih">
|
||||
<rect key="frame" x="64" y="349" width="243" height="24"/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="Uwd-iE-r9j">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
|
|
@ -161,7 +161,7 @@
|
|||
</binding>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="uB7-QF-9Sy">
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="uB7-QF-9Sy">
|
||||
<rect key="frame" x="388" y="406" width="67" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Video Delay" id="aua-f6-BhG">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -169,7 +169,7 @@
|
|||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7CX-iq-haH">
|
||||
<textField verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="7CX-iq-haH">
|
||||
<rect key="frame" x="461" y="403" width="37" height="19"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="37" id="iDp-h2-6Pz"/>
|
||||
|
|
@ -183,7 +183,7 @@
|
|||
<binding destination="Gdf-y2-DdF" name="value" keyPath="selection.frameDelay" id="uP7-f6-Nkq"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="afT-Ro-9fT">
|
||||
<button verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="afT-Ro-9fT">
|
||||
<rect key="frame" x="312" y="352" width="62" height="20"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="57" id="S3E-9O-nyi"/>
|
||||
|
|
@ -198,9 +198,7 @@
|
|||
</button>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="gFW-Ox-2QM" firstAttribute="top" secondItem="7CX-iq-haH" secondAttribute="bottom" constant="63" id="4Ft-vj-dAs"/>
|
||||
<constraint firstItem="gFW-Ox-2QM" firstAttribute="leading" secondItem="qdF-gh-veZ" secondAttribute="leading" id="4Kg-z9-SEx"/>
|
||||
<constraint firstItem="gFW-Ox-2QM" firstAttribute="top" secondItem="ESc-uJ-Gih" secondAttribute="bottom" constant="13" id="6PD-6C-ogp"/>
|
||||
<constraint firstItem="gFW-Ox-2QM" firstAttribute="top" secondItem="byO-4p-D9j" secondAttribute="top" constant="88" id="51Q-kv-Jzz"/>
|
||||
<constraint firstItem="GaR-E0-cDn" firstAttribute="baseline" secondItem="uB7-QF-9Sy" secondAttribute="baseline" id="7dV-ey-3Oa"/>
|
||||
<constraint firstItem="Icu-pd-WRg" firstAttribute="trailing" secondItem="ESc-uJ-Gih" secondAttribute="trailing" id="7tg-FZ-OLV"/>
|
||||
<constraint firstItem="Icu-pd-WRg" firstAttribute="leading" secondItem="ESc-uJ-Gih" secondAttribute="leading" id="A4P-Bo-X7O"/>
|
||||
|
|
@ -212,25 +210,26 @@
|
|||
<constraint firstItem="X91-Lt-pl4" firstAttribute="trailing" secondItem="Icu-pd-WRg" secondAttribute="trailing" id="JS7-Oj-OHR"/>
|
||||
<constraint firstItem="ESc-uJ-Gih" firstAttribute="leading" secondItem="EBg-Vi-cL7" secondAttribute="trailing" constant="1" id="Qki-Cb-q4k"/>
|
||||
<constraint firstItem="Eoh-8E-U5F" firstAttribute="leading" secondItem="Icu-pd-WRg" secondAttribute="trailing" constant="11" id="TBd-Zr-cvE"/>
|
||||
<constraint firstAttribute="trailing" secondItem="gFW-Ox-2QM" secondAttribute="trailing" constant="17" id="TUE-eK-Pba"/>
|
||||
<constraint firstItem="X91-Lt-pl4" firstAttribute="leading" secondItem="bWQ-Fl-ROJ" secondAttribute="trailing" constant="19" id="TaE-vK-OLU"/>
|
||||
<constraint firstItem="bWQ-Fl-ROJ" firstAttribute="leading" secondItem="byO-4p-D9j" secondAttribute="leading" constant="17" id="Uyo-db-ECN"/>
|
||||
<constraint firstItem="gFW-Ox-2QM" firstAttribute="leading" secondItem="EBg-Vi-cL7" secondAttribute="leading" id="V57-zU-rhQ"/>
|
||||
<constraint firstItem="EBg-Vi-cL7" firstAttribute="centerY" secondItem="ESc-uJ-Gih" secondAttribute="centerY" id="WVx-UV-qK2"/>
|
||||
<constraint firstItem="uB7-QF-9Sy" firstAttribute="leading" secondItem="GaR-E0-cDn" secondAttribute="trailing" constant="8" symbolic="YES" id="Wr9-xO-xuW"/>
|
||||
<constraint firstItem="7CX-iq-haH" firstAttribute="leading" secondItem="uB7-QF-9Sy" secondAttribute="trailing" constant="8" symbolic="YES" id="ZV8-Ik-0a3"/>
|
||||
<constraint firstItem="afT-Ro-9fT" firstAttribute="baseline" secondItem="ESc-uJ-Gih" secondAttribute="baseline" id="avC-tv-xWS"/>
|
||||
<constraint firstItem="afT-Ro-9fT" firstAttribute="top" secondItem="EBg-Vi-cL7" secondAttribute="top" id="bRK-mu-dfz"/>
|
||||
<constraint firstItem="bWQ-Fl-ROJ" firstAttribute="baseline" secondItem="X91-Lt-pl4" secondAttribute="baseline" id="bSH-hS-HAd"/>
|
||||
<constraint firstItem="EBg-Vi-cL7" firstAttribute="leading" secondItem="gFW-Ox-2QM" secondAttribute="leading" id="btD-aW-Aof"/>
|
||||
<constraint firstItem="gFW-Ox-2QM" firstAttribute="trailing" secondItem="qdF-gh-veZ" secondAttribute="trailing" id="eES-K9-NOO"/>
|
||||
<constraint firstItem="gFW-Ox-2QM" firstAttribute="trailing" secondItem="qdF-gh-veZ" secondAttribute="trailing" id="dv9-kj-sfM"/>
|
||||
<constraint firstItem="gFW-Ox-2QM" firstAttribute="top" secondItem="ESc-uJ-Gih" secondAttribute="bottom" constant="12" id="dxU-aQ-nRo"/>
|
||||
<constraint firstItem="Eoh-8E-U5F" firstAttribute="leading" secondItem="byO-4p-D9j" secondAttribute="leading" constant="315" id="eMr-ZE-Ywg"/>
|
||||
<constraint firstItem="EBg-Vi-cL7" firstAttribute="top" secondItem="gJP-2X-7HB" secondAttribute="bottom" constant="8" symbolic="YES" id="fdo-3Z-KtU"/>
|
||||
<constraint firstItem="gFW-Ox-2QM" firstAttribute="leading" secondItem="qdF-gh-veZ" secondAttribute="leading" id="ftB-dE-EDv"/>
|
||||
<constraint firstItem="afT-Ro-9fT" firstAttribute="bottom" secondItem="EBg-Vi-cL7" secondAttribute="bottom" id="gWJ-yZ-XXd"/>
|
||||
<constraint firstItem="Eoh-8E-U5F" firstAttribute="baseline" secondItem="gJP-2X-7HB" secondAttribute="firstBaseline" id="gea-Lk-WKR"/>
|
||||
<constraint firstItem="gFW-Ox-2QM" firstAttribute="top" secondItem="afT-Ro-9fT" secondAttribute="bottom" constant="15" id="hfK-s2-0mV"/>
|
||||
<constraint firstAttribute="trailing" secondItem="gFW-Ox-2QM" secondAttribute="trailing" constant="17" id="gpN-JM-Yr2"/>
|
||||
<constraint firstItem="afT-Ro-9fT" firstAttribute="top" secondItem="Eoh-8E-U5F" secondAttribute="bottom" constant="13" id="ivV-Fx-D97"/>
|
||||
<constraint firstItem="X91-Lt-pl4" firstAttribute="baseline" secondItem="GaR-E0-cDn" secondAttribute="baseline" id="jiz-kt-qdV"/>
|
||||
<constraint firstItem="qdF-gh-veZ" firstAttribute="top" secondItem="gFW-Ox-2QM" secondAttribute="bottom" constant="8" symbolic="YES" id="oIX-qx-9m8"/>
|
||||
<constraint firstItem="qdF-gh-veZ" firstAttribute="top" secondItem="gFW-Ox-2QM" secondAttribute="bottom" constant="8" symbolic="YES" id="mpB-Bu-urI"/>
|
||||
<constraint firstAttribute="bottom" secondItem="qdF-gh-veZ" secondAttribute="bottom" constant="1" id="oh8-s8-LVg"/>
|
||||
<constraint firstItem="ESc-uJ-Gih" firstAttribute="top" secondItem="Icu-pd-WRg" secondAttribute="bottom" constant="8" symbolic="YES" id="owx-VX-fJl"/>
|
||||
<constraint firstItem="GaR-E0-cDn" firstAttribute="leading" secondItem="X91-Lt-pl4" secondAttribute="trailing" constant="8" symbolic="YES" id="pvQ-N7-a0s"/>
|
||||
|
|
@ -2269,55 +2268,10 @@
|
|||
<rect key="frame" x="10" y="25" width="642" height="428"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YNe-00-NH5">
|
||||
<rect key="frame" x="17" y="86" width="154" height="311"/>
|
||||
<clipView key="contentView" id="ybc-TU-tvz">
|
||||
<rect key="frame" x="1" y="1" width="152" height="309"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" id="ZZX-56-hhh">
|
||||
<rect key="frame" x="0.0" y="0.0" width="152" height="309"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||
<tableColumns>
|
||||
<tableColumn identifier="" width="149" minWidth="40" maxWidth="1000" id="CeB-OZ-GbQ">
|
||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
</tableHeaderCell>
|
||||
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="ZFz-T8-lQJ">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<connections>
|
||||
<binding destination="Yz8-ps-On7" name="value" keyPath="arrangedObjects.attributes.CIAttributeFilterDisplayName" id="cI9-6Y-uEv"/>
|
||||
</connections>
|
||||
</tableColumn>
|
||||
</tableColumns>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="-2" id="P5g-cX-6xL"/>
|
||||
</connections>
|
||||
</tableView>
|
||||
</subviews>
|
||||
</clipView>
|
||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="hDd-qu-SzF">
|
||||
<rect key="frame" x="-7" y="-14" width="0.0" height="15"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="BhE-XV-WYy">
|
||||
<rect key="frame" x="-14" y="-7" width="15" height="0.0"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="rxd-ut-78O">
|
||||
<rect key="frame" x="15" y="405" width="68" height="14"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="64" id="Xpd-yJ-Yc1"/>
|
||||
<constraint firstAttribute="width" constant="64" id="jDy-ok-qxm"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Background" id="sUN-i0-qRa">
|
||||
<font key="font" metaFont="smallSystemBold"/>
|
||||
|
|
@ -2325,56 +2279,10 @@
|
|||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HgE-Cn-JvK">
|
||||
<rect key="frame" x="242" y="86" width="154" height="311"/>
|
||||
<clipView key="contentView" id="fV8-R2-mdo">
|
||||
<rect key="frame" x="1" y="1" width="152" height="309"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" id="6Qb-U3-oNN">
|
||||
<rect key="frame" x="0.0" y="0.0" width="152" height="309"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||
<tableColumns>
|
||||
<tableColumn identifier="" width="149" minWidth="40" maxWidth="1000" id="YSz-IO-DMu">
|
||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
</tableHeaderCell>
|
||||
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="hti-3J-Tqs">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<connections>
|
||||
<binding destination="ibU-gN-0Cl" name="value" keyPath="arrangedObjects.attributes.CIAttributeFilterDisplayName" id="DUb-Jj-JrB"/>
|
||||
</connections>
|
||||
</tableColumn>
|
||||
</tableColumns>
|
||||
<connections>
|
||||
<binding destination="ibU-gN-0Cl" name="content" keyPath="arrangedObjects" id="iZc-NR-YdK"/>
|
||||
<outlet property="delegate" destination="-2" id="tp4-UZ-luc"/>
|
||||
</connections>
|
||||
</tableView>
|
||||
</subviews>
|
||||
</clipView>
|
||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="fDq-ga-jca">
|
||||
<rect key="frame" x="-7" y="-14" width="0.0" height="15"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="35V-X6-ruX">
|
||||
<rect key="frame" x="-14" y="-7" width="15" height="0.0"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zej-sk-OK4">
|
||||
<rect key="frame" x="240" y="405" width="42" height="14"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="38" id="lN3-eo-ANg"/>
|
||||
<constraint firstAttribute="width" constant="38" id="Gyy-Lj-4Oy"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Source" id="uf0-iJ-R2J">
|
||||
<font key="font" metaFont="smallSystemBold"/>
|
||||
|
|
@ -2382,55 +2290,10 @@
|
|||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="h4r-YU-1Ny">
|
||||
<rect key="frame" x="468" y="86" width="154" height="311"/>
|
||||
<clipView key="contentView" id="re5-ba-iDr">
|
||||
<rect key="frame" x="1" y="1" width="152" height="309"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" id="wpv-kO-rYh">
|
||||
<rect key="frame" x="0.0" y="0.0" width="152" height="309"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||
<tableColumns>
|
||||
<tableColumn identifier="" width="149" minWidth="40" maxWidth="1000" id="no9-9t-uSM">
|
||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
</tableHeaderCell>
|
||||
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="i81-3h-S0g">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<connections>
|
||||
<binding destination="0gX-BS-obA" name="value" keyPath="arrangedObjects.attributes.CIAttributeFilterDisplayName" id="hY9-IO-NzV"/>
|
||||
</connections>
|
||||
</tableColumn>
|
||||
</tableColumns>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="-2" id="iRY-aw-GgU"/>
|
||||
</connections>
|
||||
</tableView>
|
||||
</subviews>
|
||||
</clipView>
|
||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="Rp5-D9-W6t">
|
||||
<rect key="frame" x="-7" y="-14" width="0.0" height="15"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="gwK-HP-8js">
|
||||
<rect key="frame" x="-14" y="-7" width="15" height="0.0"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="SpP-Ed-reh">
|
||||
<rect key="frame" x="466" y="405" width="31" height="14"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="27" id="HUq-Sb-RIN"/>
|
||||
<constraint firstAttribute="width" constant="27" id="2bO-YW-RES"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Input" id="RRn-tL-Gja">
|
||||
<font key="font" metaFont="smallSystemBold"/>
|
||||
|
|
@ -2441,7 +2304,7 @@
|
|||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="CJB-gi-9hu">
|
||||
<rect key="frame" x="240" y="9" width="72" height="14"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="68" id="3tn-KB-na4"/>
|
||||
<constraint firstAttribute="width" constant="68" id="anI-Zd-hQw"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Composition" placeholderString="" id="0dM-GS-IwH">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -2452,7 +2315,7 @@
|
|||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="rBq-PA-ObB">
|
||||
<rect key="frame" x="315" y="4" width="101" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="95" id="tjO-Sx-S2d"/>
|
||||
<constraint firstAttribute="width" constant="95" id="VOi-G0-qai"/>
|
||||
</constraints>
|
||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="NcG-Gb-mUJ" id="dyA-4y-dNd">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
|
|
@ -2474,67 +2337,10 @@
|
|||
<binding destination="Gdf-y2-DdF" name="selectedObject" keyPath="selection.compositingFilterName" previousBinding="PnG-dl-OW4" id="BRJ-nl-KZa"/>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<segmentedControl verticalHuggingPriority="750" tag="1" translatesAutoresizingMaskIntoConstraints="NO" id="z4e-Fj-Rzk">
|
||||
<rect key="frame" x="17" y="65" width="154" height="23"/>
|
||||
<segmentedCell key="cell" borderStyle="border" alignment="left" style="smallSquare" trackingMode="momentary" id="QX5-UM-IDr">
|
||||
<font key="font" metaFont="system"/>
|
||||
<segments>
|
||||
<segment image="NSAddTemplate"/>
|
||||
<segment image="NSRemoveTemplate" tag="1"/>
|
||||
<segment image="NSActionTemplate">
|
||||
<nil key="label"/>
|
||||
</segment>
|
||||
<segment width="65" enabled="NO">
|
||||
<nil key="label"/>
|
||||
</segment>
|
||||
</segments>
|
||||
</segmentedCell>
|
||||
<connections>
|
||||
<action selector="filterControlAction:" target="-2" id="rGy-zs-uu1"/>
|
||||
</connections>
|
||||
</segmentedControl>
|
||||
<segmentedControl verticalHuggingPriority="750" tag="2" translatesAutoresizingMaskIntoConstraints="NO" id="Cp1-qv-Bff">
|
||||
<rect key="frame" x="242" y="65" width="154" height="23"/>
|
||||
<segmentedCell key="cell" borderStyle="border" alignment="left" style="smallSquare" trackingMode="momentary" id="bbp-sk-7Or">
|
||||
<font key="font" metaFont="system"/>
|
||||
<segments>
|
||||
<segment image="NSAddTemplate"/>
|
||||
<segment image="NSRemoveTemplate" tag="1"/>
|
||||
<segment image="NSActionTemplate">
|
||||
<nil key="label"/>
|
||||
</segment>
|
||||
<segment width="65" enabled="NO">
|
||||
<nil key="label"/>
|
||||
</segment>
|
||||
</segments>
|
||||
</segmentedCell>
|
||||
<connections>
|
||||
<action selector="filterControlAction:" target="-2" id="atV-Sq-avf"/>
|
||||
</connections>
|
||||
</segmentedControl>
|
||||
<segmentedControl verticalHuggingPriority="750" tag="3" translatesAutoresizingMaskIntoConstraints="NO" id="bKC-YP-hn7">
|
||||
<rect key="frame" x="468" y="65" width="154" height="23"/>
|
||||
<segmentedCell key="cell" borderStyle="border" alignment="left" style="smallSquare" trackingMode="momentary" id="ddL-U8-f7v">
|
||||
<font key="font" metaFont="system"/>
|
||||
<segments>
|
||||
<segment image="NSAddTemplate"/>
|
||||
<segment image="NSRemoveTemplate" tag="1"/>
|
||||
<segment image="NSActionTemplate">
|
||||
<nil key="label"/>
|
||||
</segment>
|
||||
<segment width="65" enabled="NO">
|
||||
<nil key="label"/>
|
||||
</segment>
|
||||
</segments>
|
||||
</segmentedCell>
|
||||
<connections>
|
||||
<action selector="filterControlAction:" target="-2" id="Y5D-j5-sZQ"/>
|
||||
</connections>
|
||||
</segmentedControl>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="PUJ-cA-TjP">
|
||||
<rect key="frame" x="276" y="30" width="90" height="20"/>
|
||||
<rect key="frame" x="276" y="30" width="90" height="18"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="85" id="yHc-kp-UwW"/>
|
||||
<constraint firstAttribute="width" constant="85" id="ZEA-a4-80I"/>
|
||||
</constraints>
|
||||
<buttonCell key="cell" type="check" title="Use as mask" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="SpU-jR-NOp">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
|
|
@ -2544,39 +2350,41 @@
|
|||
<binding destination="Gdf-y2-DdF" name="value" keyPath="selection.isMaskLayer" id="4Cx-DS-X1F"/>
|
||||
</connections>
|
||||
</button>
|
||||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="qcs-8I-ngA">
|
||||
<rect key="frame" x="468" y="64" width="157" height="333"/>
|
||||
</customView>
|
||||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="QEU-cS-PwF">
|
||||
<rect key="frame" x="242" y="64" width="157" height="333"/>
|
||||
</customView>
|
||||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="1iG-l5-r4m">
|
||||
<rect key="frame" x="17" y="64" width="157" height="333"/>
|
||||
</customView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="YNe-00-NH5" firstAttribute="trailing" secondItem="z4e-Fj-Rzk" secondAttribute="trailing" id="1mF-kk-wj4"/>
|
||||
<constraint firstItem="rBq-PA-ObB" firstAttribute="top" secondItem="PUJ-cA-TjP" secondAttribute="bottom" constant="8" symbolic="YES" id="2nJ-oY-uUV"/>
|
||||
<constraint firstItem="rxd-ut-78O" firstAttribute="leading" secondItem="YNe-00-NH5" secondAttribute="leading" id="3ih-wg-vII"/>
|
||||
<constraint firstAttribute="bottom" secondItem="z4e-Fj-Rzk" secondAttribute="bottom" constant="66" id="3oa-d1-op6"/>
|
||||
<constraint firstItem="SpP-Ed-reh" firstAttribute="leading" secondItem="h4r-YU-1Ny" secondAttribute="leading" id="BDq-fy-coW"/>
|
||||
<constraint firstItem="HgE-Cn-JvK" firstAttribute="trailing" secondItem="Cp1-qv-Bff" secondAttribute="trailing" id="BnM-cL-8GP"/>
|
||||
<constraint firstItem="h4r-YU-1Ny" firstAttribute="trailing" secondItem="bKC-YP-hn7" secondAttribute="trailing" id="Buc-aU-qma"/>
|
||||
<constraint firstItem="rxd-ut-78O" firstAttribute="leading" secondItem="mGg-wf-d04" secondAttribute="leading" constant="17" id="ELX-uh-qsx"/>
|
||||
<constraint firstItem="rxd-ut-78O" firstAttribute="baseline" secondItem="zej-sk-OK4" secondAttribute="baseline" id="JtH-AR-QxT"/>
|
||||
<constraint firstItem="Cp1-qv-Bff" firstAttribute="leading" secondItem="CJB-gi-9hu" secondAttribute="leading" id="Jza-aM-xRf"/>
|
||||
<constraint firstItem="rBq-PA-ObB" firstAttribute="leading" secondItem="CJB-gi-9hu" secondAttribute="trailing" constant="8" symbolic="YES" id="N1T-xK-40o"/>
|
||||
<constraint firstItem="PUJ-cA-TjP" firstAttribute="top" secondItem="HgE-Cn-JvK" secondAttribute="bottom" constant="39" id="OQt-aZ-O2U"/>
|
||||
<constraint firstItem="Cp1-qv-Bff" firstAttribute="baseline" secondItem="bKC-YP-hn7" secondAttribute="baseline" id="QGI-mU-yaO"/>
|
||||
<constraint firstItem="rxd-ut-78O" firstAttribute="top" secondItem="mGg-wf-d04" secondAttribute="top" constant="9" id="R6X-gT-tg7"/>
|
||||
<constraint firstItem="zej-sk-OK4" firstAttribute="baseline" secondItem="SpP-Ed-reh" secondAttribute="baseline" id="ZLy-QN-TeD"/>
|
||||
<constraint firstItem="YNe-00-NH5" firstAttribute="leading" secondItem="z4e-Fj-Rzk" secondAttribute="leading" id="Zvj-kC-bxC"/>
|
||||
<constraint firstItem="HgE-Cn-JvK" firstAttribute="leading" secondItem="YNe-00-NH5" secondAttribute="trailing" constant="71" id="cwm-h8-xsm"/>
|
||||
<constraint firstItem="HgE-Cn-JvK" firstAttribute="bottom" secondItem="h4r-YU-1Ny" secondAttribute="bottom" id="d7x-dQ-MvK"/>
|
||||
<constraint firstItem="HgE-Cn-JvK" firstAttribute="top" secondItem="h4r-YU-1Ny" secondAttribute="top" id="hej-rd-ENi"/>
|
||||
<constraint firstItem="YNe-00-NH5" firstAttribute="top" secondItem="HgE-Cn-JvK" secondAttribute="top" id="iDr-Dg-ZOe"/>
|
||||
<constraint firstItem="PUJ-cA-TjP" firstAttribute="top" secondItem="Cp1-qv-Bff" secondAttribute="bottom" constant="19" id="j4H-uO-YWY"/>
|
||||
<constraint firstItem="PUJ-cA-TjP" firstAttribute="centerX" secondItem="mGg-wf-d04" secondAttribute="centerX" id="jq0-pL-QKt"/>
|
||||
<constraint firstItem="z4e-Fj-Rzk" firstAttribute="baseline" secondItem="Cp1-qv-Bff" secondAttribute="baseline" id="lq7-q8-A6b"/>
|
||||
<constraint firstAttribute="bottom" secondItem="rBq-PA-ObB" secondAttribute="bottom" constant="7" id="nwQ-nd-osD"/>
|
||||
<constraint firstItem="CJB-gi-9hu" firstAttribute="baseline" secondItem="rBq-PA-ObB" secondAttribute="baseline" id="q2X-3g-AG1"/>
|
||||
<constraint firstItem="h4r-YU-1Ny" firstAttribute="leading" secondItem="bKC-YP-hn7" secondAttribute="leading" id="q3h-oT-IIK"/>
|
||||
<constraint firstItem="YNe-00-NH5" firstAttribute="top" secondItem="rxd-ut-78O" secondAttribute="bottom" constant="8" symbolic="YES" id="qR9-E1-JD2"/>
|
||||
<constraint firstItem="h4r-YU-1Ny" firstAttribute="leading" secondItem="HgE-Cn-JvK" secondAttribute="trailing" constant="72" id="tL5-JA-QgE"/>
|
||||
<constraint firstItem="HgE-Cn-JvK" firstAttribute="leading" secondItem="Cp1-qv-Bff" secondAttribute="leading" id="tyJ-SQ-RJf"/>
|
||||
<constraint firstItem="YNe-00-NH5" firstAttribute="bottom" secondItem="HgE-Cn-JvK" secondAttribute="bottom" id="uaT-BS-fpN"/>
|
||||
<constraint firstItem="zej-sk-OK4" firstAttribute="leading" secondItem="HgE-Cn-JvK" secondAttribute="leading" id="wmd-Zt-wmB"/>
|
||||
<constraint firstItem="zej-sk-OK4" firstAttribute="leading" secondItem="QEU-cS-PwF" secondAttribute="leading" id="0Fg-nU-XLH"/>
|
||||
<constraint firstItem="1iG-l5-r4m" firstAttribute="top" secondItem="rxd-ut-78O" secondAttribute="bottom" constant="8" symbolic="YES" id="1q9-Uj-c53"/>
|
||||
<constraint firstItem="rxd-ut-78O" firstAttribute="top" secondItem="mGg-wf-d04" secondAttribute="top" constant="9" id="5vo-0x-GrU"/>
|
||||
<constraint firstItem="QEU-cS-PwF" firstAttribute="bottom" secondItem="qcs-8I-ngA" secondAttribute="bottom" id="AVq-vI-Ggw"/>
|
||||
<constraint firstItem="1iG-l5-r4m" firstAttribute="bottom" secondItem="QEU-cS-PwF" secondAttribute="bottom" id="C9P-3i-QD4"/>
|
||||
<constraint firstItem="QEU-cS-PwF" firstAttribute="top" secondItem="qcs-8I-ngA" secondAttribute="top" id="IJl-HN-Yv9"/>
|
||||
<constraint firstItem="PUJ-cA-TjP" firstAttribute="centerX" secondItem="mGg-wf-d04" secondAttribute="centerX" id="Izz-vl-I6b"/>
|
||||
<constraint firstItem="CJB-gi-9hu" firstAttribute="baseline" secondItem="rBq-PA-ObB" secondAttribute="baseline" id="LAG-WX-9EL"/>
|
||||
<constraint firstItem="rBq-PA-ObB" firstAttribute="top" secondItem="PUJ-cA-TjP" secondAttribute="bottom" constant="8" symbolic="YES" id="M9T-hg-ZwB"/>
|
||||
<constraint firstAttribute="trailing" secondItem="qcs-8I-ngA" secondAttribute="trailing" constant="17" id="MLr-jJ-ESz"/>
|
||||
<constraint firstItem="SpP-Ed-reh" firstAttribute="leading" secondItem="qcs-8I-ngA" secondAttribute="leading" id="PMP-j9-iCm"/>
|
||||
<constraint firstItem="1iG-l5-r4m" firstAttribute="top" secondItem="QEU-cS-PwF" secondAttribute="top" id="Ph3-gh-VT1"/>
|
||||
<constraint firstItem="rxd-ut-78O" firstAttribute="baseline" secondItem="zej-sk-OK4" secondAttribute="baseline" id="R8V-fl-NlX"/>
|
||||
<constraint firstItem="QEU-cS-PwF" firstAttribute="leading" secondItem="1iG-l5-r4m" secondAttribute="trailing" constant="68" id="WUr-Q4-Uos"/>
|
||||
<constraint firstItem="zej-sk-OK4" firstAttribute="baseline" secondItem="SpP-Ed-reh" secondAttribute="baseline" id="cbW-lm-B6d"/>
|
||||
<constraint firstItem="QEU-cS-PwF" firstAttribute="leading" secondItem="CJB-gi-9hu" secondAttribute="leading" id="gMj-d4-1sx"/>
|
||||
<constraint firstItem="PUJ-cA-TjP" firstAttribute="top" secondItem="QEU-cS-PwF" secondAttribute="bottom" constant="19" id="h1n-bg-lp2"/>
|
||||
<constraint firstItem="rxd-ut-78O" firstAttribute="leading" secondItem="mGg-wf-d04" secondAttribute="leading" constant="17" id="j4i-1V-6ke"/>
|
||||
<constraint firstItem="zej-sk-OK4" firstAttribute="leading" secondItem="mGg-wf-d04" secondAttribute="leading" constant="242" id="oEq-p8-iXg"/>
|
||||
<constraint firstAttribute="bottom" secondItem="rBq-PA-ObB" secondAttribute="bottom" constant="7" id="oPb-NP-AQP"/>
|
||||
<constraint firstItem="QEU-cS-PwF" firstAttribute="centerX" secondItem="mGg-wf-d04" secondAttribute="centerX" id="pkg-nR-OWA"/>
|
||||
<constraint firstItem="rxd-ut-78O" firstAttribute="leading" secondItem="1iG-l5-r4m" secondAttribute="leading" id="q5s-Y8-NTz"/>
|
||||
<constraint firstItem="qcs-8I-ngA" firstAttribute="leading" secondItem="QEU-cS-PwF" secondAttribute="trailing" constant="69" id="xYY-fu-5wS"/>
|
||||
<constraint firstItem="rBq-PA-ObB" firstAttribute="leading" secondItem="CJB-gi-9hu" secondAttribute="trailing" constant="8" symbolic="YES" id="zGb-Dw-tdB"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</tabViewItem>
|
||||
|
|
@ -2783,30 +2591,25 @@
|
|||
<binding destination="-2" name="contentDictionary" keyPath="self.inputConstraintMap" id="xJ8-YG-5zx"/>
|
||||
</connections>
|
||||
</dictionaryController>
|
||||
<arrayController id="ibU-gN-0Cl" userLabel="sourceLayerFiltersController">
|
||||
<connections>
|
||||
<binding destination="Gdf-y2-DdF" name="contentArray" keyPath="selection.layer.sourceLayer.filters" id="xVj-af-fBp"/>
|
||||
</connections>
|
||||
</arrayController>
|
||||
<arrayController id="0gX-BS-obA" userLabel="layerFiltersController">
|
||||
<connections>
|
||||
<binding destination="Gdf-y2-DdF" name="contentArray" keyPath="selection.layer.filters" id="fOV-is-dce"/>
|
||||
</connections>
|
||||
</arrayController>
|
||||
<dictionaryController objectClassName="_NSControllerKeyValuePair" id="JDZ-il-mOi" userLabel="availableTransitionsController">
|
||||
<connections>
|
||||
<binding destination="-2" name="contentDictionary" keyPath="self.availableTransitions" id="W91-VB-Kqi"/>
|
||||
</connections>
|
||||
</dictionaryController>
|
||||
<arrayController id="Yz8-ps-On7" userLabel="backgroundFiltersController">
|
||||
<viewController id="arq-y0-MNl" userLabel="backgroundFilterViewController" customClass="CSLayerFiltersViewController">
|
||||
<connections>
|
||||
<binding destination="Gdf-y2-DdF" name="contentArray" keyPath="selection.layer.backgroundFilters" id="BqP-Zc-k7f"/>
|
||||
<outlet property="parentView" destination="1iG-l5-r4m" id="bvF-dk-FC9"/>
|
||||
</connections>
|
||||
</arrayController>
|
||||
</viewController>
|
||||
<viewController id="b31-q9-7JS" userLabel="inputFilterViewController" customClass="CSLayerFiltersViewController">
|
||||
<connections>
|
||||
<outlet property="parentView" destination="qcs-8I-ngA" id="W5S-wL-kcH"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<viewController id="Ipm-Cn-5NK" userLabel="sourceFilterViewController" customClass="CSLayerFiltersViewController">
|
||||
<connections>
|
||||
<outlet property="parentView" destination="QEU-cS-PwF" id="ncJ-pJ-4dG"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="NSActionTemplate" width="14" height="14"/>
|
||||
<image name="NSAddTemplate" width="11" height="11"/>
|
||||
<image name="NSRemoveTemplate" width="11" height="11"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import <Quartz/Quartz.h>
|
||||
#import "CSLayerFiltersViewController.h"
|
||||
|
||||
@class InputSource;
|
||||
|
||||
|
|
@ -65,6 +66,9 @@
|
|||
@property (strong) NSArray *scriptKeys;
|
||||
@property (unsafe_unretained) IBOutlet NSTextView *scriptTextView;
|
||||
@property (weak) IBOutlet NSTableView *scriptTableView;
|
||||
@property (strong) IBOutlet CSLayerFiltersViewController *backgroundFilterViewController;
|
||||
@property (strong) IBOutlet CSLayerFiltersViewController *inputFilterViewController;
|
||||
@property (strong) IBOutlet CSLayerFiltersViewController *sourceFilterViewController;
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@
|
|||
}
|
||||
|
||||
|
||||
|
||||
+(NSSet *)keyPathsForValuesAffectingSelectedVideoType
|
||||
{
|
||||
return [NSSet setWithObjects:@"inputSource", nil];
|
||||
|
|
@ -77,7 +78,12 @@
|
|||
_inputSource = inputSource;
|
||||
|
||||
[self sourceConfigurationView];
|
||||
|
||||
self.backgroundFilterViewController.baseLayer = inputSource.layer;
|
||||
self.backgroundFilterViewController.filterArrayName = @"backgroundFilters";
|
||||
self.inputFilterViewController.baseLayer = inputSource.layer;
|
||||
self.inputFilterViewController.filterArrayName = @"filters";
|
||||
self.sourceFilterViewController.baseLayer = inputSource.layer.sourceLayer;
|
||||
self.sourceFilterViewController.filterArrayName = @"filters";
|
||||
}
|
||||
|
||||
-(InputSource *)inputSource
|
||||
|
|
@ -249,96 +255,6 @@
|
|||
|
||||
|
||||
|
||||
-(NSString *)bindKeyForAffineTransform:(NSObject *)transform withProxy:(CSCIFilterConfigProxy *)withProxy
|
||||
{
|
||||
NSString *baseBinding = nil;
|
||||
|
||||
for (NSString *bindkey in transform.exposedBindings)
|
||||
{
|
||||
if ([bindkey isEqualToString:@"affineTransform"])
|
||||
{
|
||||
NSDictionary *bindInfo = [transform infoForBinding:bindkey];
|
||||
NSString *bindpath = bindInfo[NSObservedKeyPathKey];
|
||||
if (bindpath && [bindpath hasPrefix:@"selection."])
|
||||
{
|
||||
baseBinding = [bindpath substringFromIndex:@"selection.".length];
|
||||
[transform unbind:bindkey];
|
||||
[transform bind:bindkey toObject:withProxy withKeyPath:[NSString stringWithFormat:@"baseDict.%@",baseBinding] options:bindInfo[NSOptionsKey]];
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return baseBinding;
|
||||
}
|
||||
-(NSString *)bindKeyForVector:(NSObject *)vector withProxy:(CSCIFilterConfigProxy *)withProxy
|
||||
{
|
||||
NSString *baseBinding = nil;
|
||||
|
||||
for (NSString *bindkey in vector.exposedBindings)
|
||||
{
|
||||
if ([bindkey isEqualToString:@"vector"])
|
||||
{
|
||||
NSDictionary *bindInfo = [vector infoForBinding:bindkey];
|
||||
NSString *bindpath = bindInfo[NSObservedKeyPathKey];
|
||||
if (bindpath && [bindpath hasPrefix:@"selection."])
|
||||
{
|
||||
baseBinding = [bindpath substringFromIndex:@"selection.".length];
|
||||
[vector unbind:bindkey];
|
||||
[vector bind:bindkey toObject:withProxy withKeyPath:[NSString stringWithFormat:@"baseDict.%@",baseBinding] options:bindInfo[NSOptionsKey]];
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return baseBinding;
|
||||
}
|
||||
|
||||
-(void)rebindViewControls:(NSView *)forView withProxy:(CSCIFilterConfigProxy *)withProxy
|
||||
{
|
||||
for (NSString *b in forView.exposedBindings)
|
||||
{
|
||||
|
||||
NSDictionary *bindingInfo = [forView infoForBinding:b];
|
||||
|
||||
|
||||
if (!bindingInfo)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
NSDictionary *bindingOptions = bindingInfo[NSOptionsKey];
|
||||
|
||||
NSString *bindPath = bindingInfo[NSObservedKeyPathKey];
|
||||
|
||||
NSObject *boundTo = bindingInfo[NSObservedObjectKey];
|
||||
|
||||
|
||||
NSString *baseBinding;
|
||||
|
||||
|
||||
if ([bindPath hasPrefix:@"selection."])
|
||||
{
|
||||
baseBinding = [bindPath substringFromIndex:@"selection.".length];
|
||||
[forView unbind:b];
|
||||
[forView bind:b toObject:withProxy withKeyPath:[NSString stringWithFormat:@"baseDict.%@",baseBinding] options:bindingOptions];
|
||||
|
||||
} else if ([boundTo.className isEqualToString:@"CIMutableVector"]) {
|
||||
[self bindKeyForVector:boundTo withProxy:withProxy];
|
||||
} else if ([boundTo.className isEqualToString:@"NSMutableAffineTransform"]) {
|
||||
[self bindKeyForAffineTransform:boundTo withProxy:withProxy];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
for (NSView *subview in forView.subviews)
|
||||
{
|
||||
[self rebindViewControls:subview withProxy:withProxy];
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
-(void)openUserFilterPanel:(CIFilter *)forFilter forLayer:(CALayer *)forLayer withType:(NSString *)withType
|
||||
{
|
||||
if (!forFilter)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue