From f8fbcb3dfb861a357267f65ddd004cfa314e2bc1 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Sat, 15 Aug 2015 17:05:48 -0400 Subject: [PATCH] Started some Auto Layout utility functions. --- redo/reredo/darwin/autolayout.m | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 redo/reredo/darwin/autolayout.m diff --git a/redo/reredo/darwin/autolayout.m b/redo/reredo/darwin/autolayout.m new file mode 100644 index 00000000..50d1b193 --- /dev/null +++ b/redo/reredo/darwin/autolayout.m @@ -0,0 +1,33 @@ +// 15 august 2015 +#import "uipriv_darwin.h" + +void addConstraint(NSView *view, NSString *constraint, NSDictionary *metrics, NSDictionary *views) +{ + NSArray *constraints; + + constraints = [NSLayoutConstraint constraintsWithVisualFormat:constraint + options:0 + metrics:metrics + views:views]; + [view addConstraints:constraints]; +} + +void layoutSingleView(NSView *superview, NSView *subview, int margined) +{ + NSDictionary *views; + NSString *constraint; + + [superview removeConstraints:[superview constraints]]; + + views = NSDictionaryOfVariableBindings(subview); + + constraint = @"H:|[subview]|"; + if (margined) + constraint = @"H:|-[subview]-|"; + addConstraint(superview, constraint, nil, views); + + constraint = @"V:|[subview]|"; + if (margined) + constraint = @"V:|-[subview]-|"; + addConstraint(superview, constraint, nil, views); +}