Revision: 28831
http://sourceforge.net/p/bibdesk/svn/28831
Author: hofman
Date: 2024-03-09 10:39:35 +0000 (Sat, 09 Mar 2024)
Log Message:
-----------
Use layout anchors and activate constraints
Modified Paths:
--------------
trunk/bibdesk/BDSKAddressTextField.m
trunk/bibdesk/BDSKConditionController.m
trunk/bibdesk/BDSKEditor.m
trunk/bibdesk/BDSKFilterController.m
trunk/bibdesk/BDSKFontManager.m
trunk/bibdesk/BDSKPreferenceController.m
trunk/bibdesk/BDSKSaveAccessoryViewController.m
trunk/bibdesk/BDSKSecureTextField.m
trunk/bibdesk/BDSKStatusBar.m
trunk/bibdesk/BDSKTemplateDocument.m
trunk/bibdesk/BDSKTouchBarButtonGroup.m
trunk/bibdesk/BDSKZoomablePDFView.m
trunk/bibdesk/BDSKZoomableTextView.m
trunk/bibdesk/BibDocument.m
trunk/bibdesk/BibDocument_Groups.m
trunk/bibdesk/BibDocument_Search.m
trunk/bibdesk/BibDocument_UI.m
trunk/bibdesk/BibPref_ScriptHooks.m
Modified: trunk/bibdesk/BDSKAddressTextField.m
===================================================================
--- trunk/bibdesk/BDSKAddressTextField.m 2024-03-05 15:09:11 UTC (rev
28830)
+++ trunk/bibdesk/BDSKAddressTextField.m 2024-03-09 10:39:35 UTC (rev
28831)
@@ -41,7 +41,6 @@
#import "BDSKDragImageView.h"
#import "BDSKEmbeddedButton.h"
#import "NSString_BDSKExtensions.h"
-#import "NSLayoutConstraint_BDSKExtensions.h"
#import "NSView_BDSKExtensions.h"
#define CONTROL_SIZE 16.0
@@ -68,13 +67,13 @@
[(BDSKDragImageView *)imageView
setDraggingSourceOperationMask:NSDragOperationCopy | NSDragOperationLink |
NSDragOperationGeneric forLocal:NO];
[(BDSKDragImageView *)imageView
setDraggingSourceOperationMask:NSDragOperationCopy | NSDragOperationLink |
NSDragOperationGeneric forLocal:YES];
[imageView setTranslatesAutoresizingMaskIntoConstraints:NO];
- [imageView addConstraints:@[
- [NSLayoutConstraint constraintWithWidth:CONTROL_SIZE
forItem:imageView],
- [NSLayoutConstraint constraintWithHeight:CONTROL_SIZE
forItem:imageView]]];
+ [NSLayoutConstraint activateConstraints:@[
+ [[imageView widthAnchor] constraintEqualToConstant:CONTROL_SIZE],
+ [[imageView heightAnchor]
constraintEqualToConstant:CONTROL_SIZE]]];
[self addSubview:imageView];
- [self addConstraints:@[
- [NSLayoutConstraint constraintWithLeadingMargin:CONTROL_MARGIN
forItem:imageView toItem:self],
- [NSLayoutConstraint constraintWithCenterYOffset:0.0
forItem:imageView toItem:self]]];
+ [NSLayoutConstraint activateConstraints:@[
+ [[imageView leadingAnchor] constraintEqualToAnchor:[self
leadingAnchor] constant:CONTROL_MARGIN],
+ [[imageView centerYAnchor] constraintEqualToAnchor:[self
centerYAnchor]]]];
}
if (button == nil) {
button = [[BDSKEmbeddedButton alloc] init];
@@ -84,13 +83,13 @@
[button setImageScaling:NSImageScaleProportionallyDown];
[button setRefusesFirstResponder:YES];
[button setTranslatesAutoresizingMaskIntoConstraints:NO];
- [button addConstraints:@[
- [NSLayoutConstraint constraintWithWidth:CONTROL_SIZE
forItem:button],
- [NSLayoutConstraint constraintWithHeight:CONTROL_SIZE
forItem:button]]];
+ [NSLayoutConstraint activateConstraints:@[
+ [[button widthAnchor] constraintEqualToConstant:CONTROL_SIZE],
+ [[button heightAnchor] constraintEqualToConstant:CONTROL_SIZE]]];
[self addSubview:button];
- [self addConstraints:@[
- [NSLayoutConstraint constraintWithTrailingMargin:CONTROL_MARGIN
forItem:button toItem:self],
- [NSLayoutConstraint constraintWithCenterYOffset:0.0 forItem:button
toItem:self]]];
+ [NSLayoutConstraint activateConstraints:@[
+ [[self trailingAnchor] constraintEqualToAnchor:[button
trailingAnchor] constant:CONTROL_MARGIN],
+ [[button centerYAnchor] constraintEqualToAnchor:[self
centerYAnchor]]]];
}
}
Modified: trunk/bibdesk/BDSKConditionController.m
===================================================================
--- trunk/bibdesk/BDSKConditionController.m 2024-03-05 15:09:11 UTC (rev
28830)
+++ trunk/bibdesk/BDSKConditionController.m 2024-03-09 10:39:35 UTC (rev
28831)
@@ -44,7 +44,6 @@
#import "NSInvocation_BDSKExtensions.h"
#import "BDSKFieldNameFormatter.h"
#import "NSColor_BDSKExtensions.h"
-#import "NSLayoutConstraint_BDSKExtensions.h"
#import "NSDate_BDSKExtensions.h"
#define BDSKBooleanValueTransformerName @"BDSKBooleanFromString"
@@ -235,10 +234,10 @@
for (NSView *aView in controls) {
[valueView addSubview:aView];
if (prevView)
- [valueView addConstraint:[NSLayoutConstraint
constraintWithLeadingSpacing:0.0 forItem:aView toItem:prevView]];
+ [[[aView leadingAnchor] constraintEqualToAnchor:[prevView
trailingAnchor]] setActive:YES];
else
- [valueView addConstraint:[NSLayoutConstraint
constraintWithLeadingMargin:0.0 forItem:aView toItem:valueView]];
- [valueView addConstraint:[NSLayoutConstraint
constraintWithCenterYOffset:0.0 forItem:aView toItem:valueView]];
+ [[[aView leadingAnchor] constraintEqualToAnchor:[valueView
leadingAnchor]] setActive:YES];
+ [[[aView centerYAnchor] constraintEqualToAnchor:[valueView
centerYAnchor]] setActive:YES];
prevView = aView;
}
}
@@ -257,10 +256,10 @@
if (view != currentView) {
[currentView removeFromSuperview];
[comparisonView addSubview:view];
- [comparisonView addConstraints:@[
- [NSLayoutConstraint constraintWithLeadingMargin:0.0 forItem:view
toItem:comparisonView],
- [NSLayoutConstraint constraintWithTrailingMargin:0.0 forItem:view
toItem:comparisonView],
- [NSLayoutConstraint constraintWithCenterYOffset:0.0 forItem:view
toItem:comparisonView]]];
+ [NSLayoutConstraint activateConstraints:@[
+ [[view leadingAnchor] constraintEqualToAnchor:[comparisonView
leadingAnchor]],
+ [[comparisonView trailingAnchor] constraintEqualToAnchor:[view
trailingAnchor]],
+ [[view centerYAnchor] constraintEqualToAnchor:[comparisonView
centerYAnchor]]]];
}
}
Modified: trunk/bibdesk/BDSKEditor.m
===================================================================
--- trunk/bibdesk/BDSKEditor.m 2024-03-05 15:09:11 UTC (rev 28830)
+++ trunk/bibdesk/BDSKEditor.m 2024-03-09 10:39:35 UTC (rev 28831)
@@ -90,7 +90,6 @@
#import "BDSKItemDownload.h"
#import "BDSKField.h"
#import "NSBezierPath_BDSKExtensions.h"
-#import "NSLayoutConstraint_BDSKExtensions.h"
#import "NSFont_BDSKExtensions.h"
#import "BDSKTextUndoManager.h"
@@ -229,8 +228,8 @@
[crossrefFormatter setAllowsEmptyString:YES];
citationFormatter = [[BDSKCitationFormatter alloc] initWithDelegate:self];
- citeKeyConstraint = [NSLayoutConstraint constraintWithWidth:[citeKeyTitle
intrinsicContentSize].width forItem:citeKeyTitle];
- [citeKeyTitle addConstraint:citeKeyConstraint];
+ citeKeyConstraint = [[citeKeyTitle widthAnchor]
constraintEqualToConstant:[citeKeyTitle intrinsicContentSize].width];
+ [citeKeyConstraint setActive:YES];
[self resetFields:BDSKReloadTable];
[self setupCollectionView];
@@ -3238,10 +3237,10 @@
[button setTranslatesAutoresizingMaskIntoConstraints:NO];
[view addSubview:button];
- [view addConstraints:@[
- [NSLayoutConstraint constraintWithLeadingMargin:6.0 forItem:button
toItem:view],
- [NSLayoutConstraint constraintWithTrailingMargin:6.0 forItem:button
toItem:view],
- [NSLayoutConstraint constraintWithCenterYOffset:0.0 forItem:button
toItem:view]]];
+ [NSLayoutConstraint activateConstraints:@[
+ [[button leadingAnchor] constraintEqualToAnchor:[view leadingAnchor]
constant:6.0],
+ [[view trailingAnchor] constraintEqualToAnchor:[button trailingAnchor]
constant:6.0],
+ [[button centerYAnchor] constraintEqualToAnchor:[view
centerYAnchor]]]];
[item setButton:button];
Modified: trunk/bibdesk/BDSKFilterController.m
===================================================================
--- trunk/bibdesk/BDSKFilterController.m 2024-03-05 15:09:11 UTC (rev
28830)
+++ trunk/bibdesk/BDSKFilterController.m 2024-03-09 10:39:35 UTC (rev
28831)
@@ -199,22 +199,22 @@
if (nextView) {
NSLayoutConstraint *topConstraint = [conditionsView
constraintWithFirstItem:nextView firstAttribute:NSLayoutAttributeTop];
if (topConstraint)
- [conditionsView removeConstraint:topConstraint];
+ [topConstraint setActive:NO];
} else if (prevView) {
NSLayoutConstraint *bottomConstraint = [conditionsView
constraintWithSecondItem:prevView secondAttribute:NSLayoutAttributeBottom];
if (bottomConstraint)
- [conditionsView removeConstraint:bottomConstraint];
+ [bottomConstraint setActive:NO];
}
- [conditionsView addConstraint:[NSLayoutConstraint
constraintWithLeadingMargin:0.0 forItem:view toItem:conditionsView]];
- [conditionsView addConstraint:[NSLayoutConstraint
constraintWithTrailingMargin:0.0 forItem:view toItem:conditionsView]];
+ [[[view leadingAnchor] constraintEqualToAnchor:[conditionsView
leadingAnchor]] setActive:YES];
+ [[[conditionsView trailingAnchor] constraintEqualToAnchor:[view
trailingAnchor]] setActive:YES];
if (prevView)
- [conditionsView addConstraint:[NSLayoutConstraint
constraintWithTopSpacing:0.0 forItem:view toItem:prevView]];
+ [[[view topAnchor] constraintEqualToAnchor:[prevView bottomAnchor]]
setActive:YES];
else
- [conditionsView addConstraint:[NSLayoutConstraint
constraintWithTopMargin:0.0 forItem:view toItem:conditionsView]];
+ [[[view topAnchor] constraintEqualToAnchor:[conditionsView topAnchor]]
setActive:YES];
if (nextView)
- [conditionsView addConstraint:[NSLayoutConstraint
constraintWithTopSpacing:0.0 forItem:nextView toItem:view]];
+ [[[nextView topAnchor] constraintEqualToAnchor:[view bottomAnchor]]
setActive:YES];
else
- [conditionsView addConstraint:[NSLayoutConstraint
constraintWithBottomMargin:0.0 forItem:view toItem:conditionsView]];
+ [[[conditionsView bottomAnchor] constraintEqualToAnchor:[view
bottomAnchor]] setActive:YES];
[NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){
[[heightConstraint animator] setConstant:height];
@@ -227,16 +227,16 @@
NSView *prevView = nil;
for (NSView *view in views) {
[conditionsView addSubview:view];
- [conditionsView addConstraint:[NSLayoutConstraint
constraintWithLeadingMargin:0.0 forItem:view toItem:conditionsView]];
- [conditionsView addConstraint:[NSLayoutConstraint
constraintWithTrailingMargin:0.0 forItem:view toItem:conditionsView]];
+ [[[view leadingAnchor] constraintEqualToAnchor:[conditionsView
leadingAnchor]] setActive:YES];
+ [[[conditionsView trailingAnchor] constraintEqualToAnchor:[view
trailingAnchor]] setActive:YES];
if (prevView)
- [conditionsView addConstraint:[NSLayoutConstraint
constraintWithTopSpacing:0.0 forItem:view toItem:prevView]];
+ [[[view topAnchor] constraintEqualToAnchor:[prevView
bottomAnchor]] setActive:YES];
else
- [conditionsView addConstraint:[NSLayoutConstraint
constraintWithTopMargin:0.0 forItem:view toItem:conditionsView]];
+ [[[view topAnchor] constraintEqualToAnchor:[conditionsView
topAnchor]] setActive:YES];
prevView = view;
}
if (prevView)
- [conditionsView addConstraint:[NSLayoutConstraint
constraintWithBottomMargin:0.0 forItem:prevView toItem:conditionsView]];
+ [[[conditionsView bottomAnchor] constraintEqualToAnchor:[prevView
bottomAnchor]] setActive:YES];
}
- (void)removeConditionView:(NSView *)view {
@@ -255,7 +255,7 @@
[heightConstraint setConstant:height];
[view removeFromSuperview];
if (prevView || nextView)
- [conditionsView addConstraint:[NSLayoutConstraint
constraintWithItem:nextView ?: conditionsView attribute:nextView ?
NSLayoutAttributeTop : NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual
toItem:prevView ?: conditionsView attribute:prevView ? NSLayoutAttributeBottom
: NSLayoutAttributeTop multiplier:1.0 constant:0.0]];
+ [[(nextView ? [nextView topAnchor] : [conditionsView
bottomAnchor]) constraintEqualToAnchor:(prevView ? [prevView bottomAnchor] :
[conditionsView topAnchor])] setActive:YES];
}];
}
}
Modified: trunk/bibdesk/BDSKFontManager.m
===================================================================
--- trunk/bibdesk/BDSKFontManager.m 2024-03-05 15:09:11 UTC (rev 28830)
+++ trunk/bibdesk/BDSKFontManager.m 2024-03-09 10:39:35 UTC (rev 28831)
@@ -38,7 +38,6 @@
#import "BDSKFontManager.h"
#import "NSFont_BDSKExtensions.h"
-#import "NSLayoutConstraint_BDSKExtensions.h"
@implementation BDSKFontManager
@@ -96,10 +95,10 @@
[button setMenu:menu forSegment:0];
accessoryView = [[NSView alloc] initWithFrame:[button frame]];
[accessoryView addSubview:button];
- [accessoryView addConstraints:@[
- [NSLayoutConstraint constraintWithLeadingMargin:0.0
forItem:button toItem:accessoryView],
- [NSLayoutConstraint constraintWithTopMargin:0.0 forItem:button
toItem:accessoryView],
- [NSLayoutConstraint constraintWithBottomMargin:0.0
forItem:button toItem:accessoryView]]];
+ [NSLayoutConstraint activateConstraints:@[
+ [[button leadingAnchor] constraintEqualToAnchor:[accessoryView
leadingAnchor]],
+ [[button topAnchor] constraintEqualToAnchor:[accessoryView
topAnchor]],
+ [[accessoryView bottomAnchor] constraintEqualToAnchor:[button
bottomAnchor]]]];
[[NSFontPanel sharedFontPanel] setAccessoryView:accessoryView];
}
}
Modified: trunk/bibdesk/BDSKPreferenceController.m
===================================================================
--- trunk/bibdesk/BDSKPreferenceController.m 2024-03-05 15:09:11 UTC (rev
28830)
+++ trunk/bibdesk/BDSKPreferenceController.m 2024-03-09 10:39:35 UTC (rev
28831)
@@ -43,7 +43,6 @@
#import "NSAnimationContext_BDSKExtensions.h"
#import "NSColor_BDSKExtensions.h"
#import <Quartz/Quartz.h>
-#import "NSLayoutConstraint_BDSKExtensions.h"
#import "NSFont_BDSKExtensions.h"
#define BDSKPreferencesWindowFrameAutosaveName @"BDSKPreferencesWindow"
@@ -408,7 +407,7 @@
if ((item = [[NSToolbarItem alloc]
initWithItemIdentifier:itemIdentifier])) {
if (@available(macOS 11.0, *)) {
[searchField
setTranslatesAutoresizingMaskIntoConstraints:NO];
- [searchField addConstraints:@[[NSLayoutConstraint
constraintWithItem:searchField attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationGreaterThanOrEqual toItem:nil
attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0
constant:NSWidth([searchField frame])], [NSLayoutConstraint
constraintWithItem:searchField attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationLessThanOrEqual toItem:nil
attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:200.0]]];
+ [NSLayoutConstraint activateConstraints:@[[[searchField
widthAnchor] constraintGreaterThanOrEqualToConstant:NSWidth([searchField
frame])], [[searchField widthAnchor]
constraintLessThanOrEqualToConstant:200.0]]];
} else {
[item setMinSize:[searchField frame].size];
[item setMaxSize:NSMakeSize(200.0, NSHeight([searchField
frame]))];
@@ -615,14 +614,14 @@
NSArray *controlsConstraints = nil;
if (wasIcons)
controlsConstraints = @[
- [NSLayoutConstraint constraintWithLeadingMargin:0.0
forItem:controlView toItem:contentView],
- [NSLayoutConstraint constraintWithTrailingMargin:0.0
forItem:controlView toItem:contentView],
- [NSLayoutConstraint constraintWithBottomMargin:0.0
forItem:controlView toItem:contentView]];
+ [[controlView leadingAnchor] constraintEqualToAnchor:[contentView
leadingAnchor]],
+ [[contentView trailingAnchor] constraintEqualToAnchor:[controlView
trailingAnchor]],
+ [[contentView bottomAnchor] constraintEqualToAnchor:[controlView
bottomAnchor]]];
NSArray *constraints = @[
- [NSLayoutConstraint constraintWithLeadingMargin:0.0 forItem:view
toItem:contentView],
- [NSLayoutConstraint constraintWithItem:view
attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationGreaterThanOrEqual
toItem:contentView attribute:NSLayoutAttributeLeading multiplier:1.0
constant:0.0],
- [NSLayoutConstraint constraintWithCenterXOffset:0.0 forItem:view
toItem:contentView],
- (isIcons ? [NSLayoutConstraint constraintWithBottomMargin:0.0
forItem:view toItem:contentView] : [NSLayoutConstraint
constraintWithTopSpacing:0.0 forItem:controlView toItem:view])];
+ [[view leadingAnchor] constraintEqualToAnchor:[contentView
leadingAnchor]],
+ [[view leadingAnchor]
constraintGreaterThanOrEqualToAnchor:[contentView leadingAnchor]],
+ [[view centerXAnchor] constraintEqualToAnchor:[contentView
centerXAnchor]],
+ (isIcons ? [[contentView bottomAnchor] constraintEqualToAnchor:[view
bottomAnchor]] : [[controlView topAnchor] constraintEqualToAnchor:[view
bottomAnchor]])];
[[constraints firstObject] setPriority:100.0];
NSTimeInterval duration = [NSAnimationContext
defaultAnimationTimeInterval];
@@ -634,7 +633,7 @@
[[controlView animator] removeFromSuperview];
} else if (wasIcons) {
[[contentView animator] addSubview:controlView];
- [contentView addConstraints:controlsConstraints];
+ [NSLayoutConstraint
activateConstraints:controlsConstraints];
}
if ([oldView superview]) {
[[contentView animator] replaceSubview:oldView with:view];
@@ -641,7 +640,7 @@
} else {
[[contentView animator] addSubview:view];
}
- [contentView addConstraints:constraints];
+ [NSLayoutConstraint activateConstraints:constraints];
[[window animator] setFrame:contentRect display:YES];
}
completionHandler:^{
@@ -652,12 +651,12 @@
[controlView removeFromSuperview];
} else if (wasIcons) {
[contentView addSubview:controlView];
- [contentView addConstraints:controlsConstraints];
+ [NSLayoutConstraint activateConstraints:controlsConstraints];
}
// don't use replaceSubview:with: because oldView can be nil here
[oldView removeFromSuperview];
[contentView addSubview:view];
- [contentView addConstraints:constraints];
+ [NSLayoutConstraint activateConstraints:constraints];
[window setFrame:contentRect display:display];
[window recalculateKeyViewLoop];
}
@@ -695,23 +694,23 @@
NSMutableArray *constraints2 = [NSMutableArray array];
- [constraints addObject:[NSLayoutConstraint
constraintWithLeadingMargin:0.0 forItem:bgView toItem:iconView]];
- [constraints addObject:[NSLayoutConstraint
constraintWithTrailingMargin:0.0 forItem:bgView toItem:iconView]];
+ [constraints addObject:[[bgView leadingAnchor]
constraintEqualToAnchor:[iconView leadingAnchor]]];
+ [constraints addObject:[[iconView trailingAnchor]
constraintEqualToAnchor:[bgView trailingAnchor]]];
if (prevBgView) {
BDSKColoredView *dividerView = nil;
dividerView = [[BDSKColoredView alloc] init];
[dividerView setBackgroundColor:dividerColor];
- [dividerView addConstraint:[NSLayoutConstraint
constraintWithHeight:DIVIDER_HEIGHT forItem:dividerView]];
+ [[[dividerView heightAnchor]
constraintEqualToConstant:DIVIDER_HEIGHT] setActive:YES];
[dividerView setTranslatesAutoresizingMaskIntoConstraints:NO];
[iconView addSubview:dividerView];
- [constraints addObject:[NSLayoutConstraint
constraintWithLeadingMargin:0.0 forItem:dividerView toItem:iconView]];
- [constraints addObject:[NSLayoutConstraint
constraintWithTrailingMargin:0.0 forItem:dividerView toItem:iconView]];
- [constraints addObject:[NSLayoutConstraint
constraintWithTopSpacing:0.0 forItem:dividerView toItem:prevBgView]];
- [constraints addObject:[NSLayoutConstraint
constraintWithTopSpacing:0.0 forItem:bgView toItem:dividerView]];
+ [constraints addObject:[[dividerView leadingAnchor]
constraintEqualToAnchor:[iconView leadingAnchor]]];
+ [constraints addObject:[[iconView trailingAnchor]
constraintEqualToAnchor:[dividerView trailingAnchor]]];
+ [constraints addObject:[[dividerView topAnchor]
constraintEqualToAnchor:[prevBgView bottomAnchor]]];
+ [constraints addObject:[[bgView topAnchor]
constraintEqualToAnchor:[dividerView bottomAnchor]]];
} else {
- [constraints addObject:[NSLayoutConstraint
constraintWithTopMargin:0.0 forItem:bgView toItem:iconView]];
+ [constraints addObject:[[bgView topAnchor]
constraintEqualToAnchor:[iconView topAnchor]]];
}
NSTextField *captionField = [[NSTextField alloc] init];
@@ -723,9 +722,9 @@
[captionField setTranslatesAutoresizingMaskIntoConstraints:NO];
[bgView addSubview:captionField];
- [constraints2 addObject:[NSLayoutConstraint
constraintWithLeadingMargin:SIDE_CAPTION_MARGIN forItem:captionField
toItem:bgView]];
- [constraints2 addObject:[NSLayoutConstraint constraintWithItem:bgView
attribute:NSLayoutAttributeTrailing
relatedBy:NSLayoutRelationGreaterThanOrEqual toItem:captionField
attribute:NSLayoutAttributeTrailing multiplier:1.0
constant:SIDE_CAPTION_MARGIN]];
- [constraints2 addObject:[NSLayoutConstraint
constraintWithTopMargin:prevBgView ? TOP_CAPTION_MARGIN : TOP_CAPTION_MARGIN +
TOP_MARGIN forItem:captionField toItem:bgView]];
+ [constraints2 addObject:[[captionField leadingAnchor]
constraintEqualToAnchor:[bgView leadingAnchor] constant:SIDE_CAPTION_MARGIN]];
+ [constraints2 addObject:[[bgView trailingAnchor]
constraintGreaterThanOrEqualToAnchor:[captionField trailingAnchor]
constant:SIDE_CAPTION_MARGIN]];
+ [constraints2 addObject:[[captionField topAnchor]
constraintEqualToAnchor:[bgView topAnchor] constant:prevBgView ?
TOP_CAPTION_MARGIN : TOP_CAPTION_MARGIN + TOP_MARGIN]];
NSButton *prevButton = nil;
for (NSString *identifier in [self
paneIdentifiersForCategory:category]) {
@@ -748,18 +747,18 @@
if (firstButton) {
NSMutableArray *constraints3 = bgView == [firstButton
superview] ? constraints2 : constraints;
- [constraints3 addObject:[NSLayoutConstraint
constraintWithItem:button attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual toItem:firstButton
attribute:NSLayoutAttributeWidth multiplier:1.0 constant:0.0]];
- [constraints3 addObject:[NSLayoutConstraint
constraintWithItem:button attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual toItem:firstButton
attribute:NSLayoutAttributeHeight multiplier:1.0 constant:0.0]];
+ [constraints3 addObject:[[button widthAnchor]
constraintEqualToAnchor:[firstButton widthAnchor]]];
+ [constraints3 addObject:[[button heightAnchor]
constraintEqualToAnchor:[firstButton heightAnchor]]];
} else {
firstButton = button;
}
if (prevButton) {
- [constraints2 addObject:[NSLayoutConstraint
constraintWithLeadingSpacing:ICON_SPACING forItem:button toItem:prevButton]];
- [constraints2 addObject:[NSLayoutConstraint
constraintWithTopMargin:0.0 forItem:prevButton toItem:button]];
+ [constraints2 addObject:[[button leadingAnchor]
constraintEqualToAnchor:[prevButton trailingAnchor] constant:ICON_SPACING]];
+ [constraints2 addObject:[[prevButton topAnchor]
constraintEqualToAnchor:[button topAnchor]]];
} else {
- [constraints2 addObject:[NSLayoutConstraint
constraintWithLeadingMargin:SIDE_ICON_MARGIN forItem:button toItem:bgView]];
- [constraints2 addObject:[NSLayoutConstraint
constraintWithTopSpacing:TOP_ICON_MARGIN forItem:button toItem:captionField]];
- [constraints2 addObject:[NSLayoutConstraint
constraintWithBottomMargin:BOTTOM_ICON_MARGIN forItem:button toItem:bgView]];
+ [constraints2 addObject:[[button leadingAnchor]
constraintEqualToAnchor:[bgView leadingAnchor] constant:SIDE_ICON_MARGIN]];
+ [constraints2 addObject:[[button topAnchor]
constraintEqualToAnchor:[captionField bottomAnchor] constant:TOP_ICON_MARGIN]];
+ [constraints2 addObject:[[bgView bottomAnchor]
constraintEqualToAnchor:[button bottomAnchor] constant:BOTTOM_ICON_MARGIN]];
bottomConstraint = [constraints2 lastObject];
}
@@ -766,17 +765,17 @@
prevButton = button;
}
- [constraints2 addObject:[NSLayoutConstraint constraintWithItem:bgView
attribute:NSLayoutAttributeTrailing
relatedBy:NSLayoutRelationGreaterThanOrEqual toItem:prevButton
attribute:NSLayoutAttributeTrailing multiplier:1.0 constant:SIDE_ICON_MARGIN]];
- [constraints2 addObject:[NSLayoutConstraint
constraintWithTrailingMargin:SIDE_ICON_MARGIN forItem:prevButton
toItem:bgView]];
+ [constraints2 addObject:[[bgView trailingAnchor]
constraintGreaterThanOrEqualToAnchor:[prevButton trailingAnchor]
constant:SIDE_ICON_MARGIN]];
+ [constraints2 addObject:[[bgView trailingAnchor]
constraintEqualToAnchor:[prevButton trailingAnchor] constant:SIDE_ICON_MARGIN]];
[[constraints2 lastObject] setPriority:99.0];
- [bgView addConstraints:constraints2];
+ [NSLayoutConstraint activateConstraints:constraints2];
prevBgView = bgView;
}
- [constraints addObject:[NSLayoutConstraint constraintWithBottomMargin:0.0
forItem:prevBgView toItem:iconView]];
+ [constraints addObject:[[iconView bottomAnchor]
constraintEqualToAnchor:[prevBgView bottomAnchor]]];
[bottomConstraint setConstant:BOTTOM_ICON_MARGIN + BOTTOM_MARGIN];
- [iconView addConstraints:constraints];
+ [NSLayoutConstraint activateConstraints:constraints];
[iconView setTranslatesAutoresizingMaskIntoConstraints:NO];
return iconView;
Modified: trunk/bibdesk/BDSKSaveAccessoryViewController.m
===================================================================
--- trunk/bibdesk/BDSKSaveAccessoryViewController.m 2024-03-05 15:09:11 UTC
(rev 28830)
+++ trunk/bibdesk/BDSKSaveAccessoryViewController.m 2024-03-09 10:39:35 UTC
(rev 28831)
@@ -38,7 +38,6 @@
#import "BDSKSaveAccessoryViewController.h"
#import "BDSKStringEncodingManager.h"
-#import "NSLayoutConstraint_BDSKExtensions.h"
@implementation BDSKSaveAccessoryViewController
@@ -78,10 +77,10 @@
[[self view] addSubview:popup];
NSMutableArray *constraints = [NSMutableArray array];
- [constraints addObject:[NSLayoutConstraint constraintWithLeadingMargin:0.0
forItem:popup toItem:saveTextEncodingPopupButton]];
- [constraints addObject:[NSLayoutConstraint
constraintWithTrailingMargin:0.0 forItem:popup
toItem:saveTextEncodingPopupButton]];
- [constraints addObject:[NSLayoutConstraint constraintWithCenterYOffset:0.0
forItem:popup toItem:formatLabelField]];
- [[self view] addConstraints:constraints];
+ [constraints addObject:[[popup leadingAnchor]
constraintEqualToAnchor:[saveTextEncodingPopupButton leadingAnchor]]];
+ [constraints addObject:[[saveTextEncodingPopupButton trailingAnchor]
constraintEqualToAnchor:[popup trailingAnchor]]];
+ [constraints addObject:[[popup centerYAnchor]
constraintEqualToAnchor:[formatLabelField centerYAnchor]]];
+ [NSLayoutConstraint activateConstraints:constraints];
}
- (NSString *)selectedFileType {
Modified: trunk/bibdesk/BDSKSecureTextField.m
===================================================================
--- trunk/bibdesk/BDSKSecureTextField.m 2024-03-05 15:09:11 UTC (rev 28830)
+++ trunk/bibdesk/BDSKSecureTextField.m 2024-03-09 10:39:35 UTC (rev 28831)
@@ -37,7 +37,6 @@
*/
#import "BDSKSecureTextField.h"
-#import "NSLayoutConstraint_BDSKExtensions.h"
#import "NSGeometry_BDSKExtensions.h"
#import "NSView_BDSKExtensions.h"
#import "BDSKEmbeddedButton.h"
@@ -108,13 +107,13 @@
[button setTranslatesAutoresizingMaskIntoConstraints:NO];
[button setContentCompressionResistancePriority:1.0
forOrientation:NSLayoutConstraintOrientationHorizontal];
[button setContentCompressionResistancePriority:1.0
forOrientation:NSLayoutConstraintOrientationVertical];
- [button addConstraint:[NSLayoutConstraint constraintWithItem:button
attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:button
attribute:NSLayoutAttributeHeight multiplier:1.0 constant:0.0]];
+ [[[button widthAnchor] constraintEqualToAnchor:[button heightAnchor]]
setActive:YES];
[self addSubview:button];
CGFloat margin = [self isBordered] || [self isBezeled] ? 1.0 : -1.0;
- [self addConstraints:@[
- [NSLayoutConstraint constraintWithTrailingMargin:2.0 - [self
alignmentRectInsets].right forItem:button toItem:self],
- [NSLayoutConstraint constraintWithTopMargin:margin forItem:button
toItem:self],
- [NSLayoutConstraint constraintWithBottomMargin:margin forItem:button
toItem:self]]];
+ [NSLayoutConstraint activateConstraints:@[
+ [[self trailingAnchor] constraintEqualToAnchor:[button trailingAnchor]
constant:2.0 - [self alignmentRectInsets].right],
+ [[button topAnchor] constraintEqualToAnchor:[self topAnchor]
constant:margin],
+ [[self bottomAnchor] constraintEqualToAnchor:[button bottomAnchor]
constant:margin]]];
}
- (Class)cellClass {
Modified: trunk/bibdesk/BDSKStatusBar.m
===================================================================
--- trunk/bibdesk/BDSKStatusBar.m 2024-03-05 15:09:11 UTC (rev 28830)
+++ trunk/bibdesk/BDSKStatusBar.m 2024-03-09 10:39:35 UTC (rev 28831)
@@ -41,7 +41,6 @@
#import "NSGeometry_BDSKExtensions.h"
#import "NSAnimationContext_BDSKExtensions.h"
#import "NSView_BDSKExtensions.h"
-#import "NSLayoutConstraint_BDSKExtensions.h"
#define LEFT_MARGIN 5.0
#define RIGHT_MARGIN 15.0
@@ -84,9 +83,9 @@
[textField
setContentCompressionResistancePriority:NSLayoutPriorityDefaultLow
forOrientation:NSLayoutConstraintOrientationHorizontal];
[self addSubview:textField];
NSArray *constraints = @[
- [NSLayoutConstraint constraintWithLeadingMargin:LEFT_MARGIN +
TEXT_INSET forItem:textField toItem:self],
- [NSLayoutConstraint constraintWithTrailingMargin:RIGHT_MARGIN +
TEXT_INSET forItem:textField toItem:self],
- [NSLayoutConstraint constraintWithCenterYOffset:0.0
forItem:textField toItem:self]];
+ [[textField leadingAnchor] constraintEqualToAnchor:[self
leadingAnchor] constant:LEFT_MARGIN + TEXT_INSET],
+ [[self trailingAnchor] constraintEqualToAnchor:[textField
trailingAnchor] constant:RIGHT_MARGIN + TEXT_INSET],
+ [[textField centerYAnchor] constraintEqualToAnchor:[self
centerYAnchor]]];
[[constraints objectAtIndex:1] setPriority:499.0];
[NSLayoutConstraint activateConstraints:constraints];
@@ -168,16 +167,16 @@
if (visible) {
[[view window] setContentBorderThickness:statusHeight
forEdge:NSMinYEdge];
[contentView addSubview:self];
- [constraints addObject:[NSLayoutConstraint
constraintWithLeadingMargin:0.0 forItem:self toItem:contentView]];
- [constraints addObject:[NSLayoutConstraint
constraintWithTrailingMargin:0.0 forItem:self toItem:contentView]];
- [constraints addObject:[NSLayoutConstraint
constraintWithBottomMargin:duration > 0.0 ? -statusHeight : 0.0 forItem:self
toItem:contentView]];
- [constraints addObject:[NSLayoutConstraint
constraintWithTopSpacing:0.0 forItem:self toItem:view]];
+ [constraints addObject:[[self leadingAnchor]
constraintEqualToAnchor:[contentView leadingAnchor]]];
+ [constraints addObject:[[contentView trailingAnchor]
constraintEqualToAnchor:[self trailingAnchor]]];
+ [constraints addObject:[[contentView bottomAnchor]
constraintEqualToAnchor:[self bottomAnchor] constant:duration > 0.0 ?
-statusHeight : 0.0]];
+ [constraints addObject:[[self topAnchor] constraintEqualToAnchor:[view
bottomAnchor]]];
[bottomConstraint setActive:NO];
- [contentView addConstraints:constraints];
+ [NSLayoutConstraint activateConstraints:constraints];
[contentView layoutSubtreeIfNeeded];
bottomConstraint = [constraints objectAtIndex:2];
} else {
- [constraints addObject:[NSLayoutConstraint
constraintWithBottomMargin:0.0 forItem:view toItem:contentView]];
+ [constraints addObject:[[contentView bottomAnchor]
constraintEqualToAnchor:[view bottomAnchor]]];
}
if (duration > 0.0) {
@@ -424,8 +423,8 @@
[self addSubview:progressIndicator];
[NSLayoutConstraint activateConstraints:@[
- [NSLayoutConstraint constraintWithTrailingMargin:rightMargin +
[progressIndicator alignmentRectInsets].right forItem:progressIndicator
toItem:self],
- [NSLayoutConstraint constraintWithCenterYOffset:0.0
forItem:progressIndicator toItem:self]]];
+ [[self trailingAnchor] constraintEqualToAnchor:[progressIndicator
trailingAnchor] constant:rightMargin + [progressIndicator
alignmentRectInsets].right],
+ [[progressIndicator centerYAnchor] constraintEqualToAnchor:[self
centerYAnchor]]]];
[[self constraintWithSecondItem:textField
secondAttribute:NSLayoutAttributeTrailing] setConstant:[self fullRightMargin]];
Modified: trunk/bibdesk/BDSKTemplateDocument.m
===================================================================
--- trunk/bibdesk/BDSKTemplateDocument.m 2024-03-05 15:09:11 UTC (rev
28830)
+++ trunk/bibdesk/BDSKTemplateDocument.m 2024-03-09 10:39:35 UTC (rev
28831)
@@ -55,7 +55,6 @@
#import "NSArray_BDSKExtensions.h"
#import "BDSKDocumentController.h"
#import "NSAttributedString_BDSKExtensions.h"
-#import "NSLayoutConstraint_BDSKExtensions.h"
static CGFloat BDSKDefaultFontSizes[] = {8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
14.0, 16.0, 18.0, 20.0, 24.0, 28.0, 32.0, 48.0, 64.0};
@@ -214,12 +213,12 @@
for (NSView *view in views)
width = fmax(width, [view intrinsicContentSize].width);
for (NSView *view in views)
- [view addConstraint:[NSLayoutConstraint constraintWithWidth:width
forItem:view]];
+ [[[view widthAnchor] constraintEqualToConstant:width]
setActive:YES];
}
CGFloat width = [fieldOptionsView fittingSize].width;
for (NSView *view in @[appendingOptionsView, textOptionsView,
fontOptionsView])
- [view addConstraint:[NSLayoutConstraint constraintWithWidth:width
forItem:view]];
- [optionsView addConstraint:[NSLayoutConstraint
constraintWithItem:optionsView attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationGreaterThanOrEqual toItem:nil
attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:width]];
+ [[[view widthAnchor] constraintEqualToConstant:width] setActive:YES];
+ [[[optionsView widthAnchor] constraintGreaterThanOrEqualToConstant:width]
setActive:YES];
if (@available(macOS 10.14, *)) {
[prefixTemplateTextView setDrawsBackground:NO];
@@ -827,11 +826,11 @@
for (NSView *view in optionViews) {
[optionsView addSubview:view];
- [optionsView addConstraint:[NSLayoutConstraint
constraintWithLeadingMargin:0.0 forItem:view toItem:optionsView]];
+ [[[view leadingAnchor] constraintEqualToAnchor:[optionsView
leadingAnchor]] setActive:YES];
if (prevView)
- [optionsView addConstraint:[NSLayoutConstraint
constraintWithTopSpacing:0.0 forItem:view toItem:prevView]];
+ [[[view topAnchor] constraintEqualToAnchor:[prevView
bottomAnchor]] setActive:YES];
else
- [optionsView addConstraint:[NSLayoutConstraint
constraintWithTopMargin:0.0 forItem:view toItem:optionsView]];
+ [[[view topAnchor] constraintEqualToAnchor:[optionsView
topAnchor]] setActive:YES];
prevView = view;
}
}
Modified: trunk/bibdesk/BDSKTouchBarButtonGroup.m
===================================================================
--- trunk/bibdesk/BDSKTouchBarButtonGroup.m 2024-03-05 15:09:11 UTC (rev
28830)
+++ trunk/bibdesk/BDSKTouchBarButtonGroup.m 2024-03-09 10:39:35 UTC (rev
28831)
@@ -37,7 +37,6 @@
*/
#import "BDSKTouchBarButtonGroup.h"
-#import "NSLayoutConstraint_BDSKExtensions.h"
@implementation BDSKTouchBarButtonGroup
@@ -69,17 +68,17 @@
// Custom layout is used for equal width buttons, to look more
keyboard-like and mimic standard alerts
//
https://github.com/sparkle-project/Sparkle/pull/987#issuecomment-272324726
- [constraints addObject:[NSLayoutConstraint
constraintWithTopMargin:0.0 forItem:buttonCopy toItem:buttonGroup]];
- [constraints addObject:[NSLayoutConstraint
constraintWithBottomMargin:0.0 forItem:buttonCopy toItem:buttonGroup]];
+ [constraints addObject:[[buttonCopy topAnchor]
constraintEqualToAnchor:[buttonGroup topAnchor]]];
+ [constraints addObject:[[buttonGroup bottomAnchor]
constraintEqualToAnchor:[buttonCopy bottomAnchor]]];
if (i == 0) {
- [constraints addObject:[NSLayoutConstraint
constraintWithTrailingMargin:0.0 forItem:buttonCopy toItem:buttonGroup]];
+ [constraints addObject:[[buttonGroup trailingAnchor]
constraintEqualToAnchor:[buttonCopy trailingAnchor]]];
} else {
- [constraints addObject:[NSLayoutConstraint
constraintWithLeadingSpacing:i == 1 ? 8 : 32 forItem:[buttonCopies
objectAtIndex:i - 1] toItem:buttonCopy]];
- [constraints addObject:[NSLayoutConstraint
constraintWithItem:buttonCopy attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual toItem:[buttonCopies objectAtIndex:i - 1]
attribute:NSLayoutAttributeWidth multiplier:1.0 constant:0.0]];
+ [constraints addObject:[[[buttonCopies objectAtIndex:i -
1]leadingAnchor] constraintEqualToAnchor:[buttonCopy trailingAnchor] constant:i
== 1 ? 8 : 32]];
+ [constraints addObject:[[buttonCopy widthAnchor]
constraintEqualToAnchor:[[buttonCopies objectAtIndex:i - 1] widthAnchor]]];
[[constraints lastObject] setPriority:250];
}
if (i == iMax - 1) {
- [constraints addObject:[NSLayoutConstraint
constraintWithLeadingMargin:0.0 forItem:buttonCopy toItem:buttonGroup]];
+ [constraints addObject:[[buttonCopy leadingAnchor]
constraintEqualToAnchor:[buttonGroup leadingAnchor]]];
}
}
[NSLayoutConstraint activateConstraints:constraints];
Modified: trunk/bibdesk/BDSKZoomablePDFView.m
===================================================================
--- trunk/bibdesk/BDSKZoomablePDFView.m 2024-03-05 15:09:11 UTC (rev 28830)
+++ trunk/bibdesk/BDSKZoomablePDFView.m 2024-03-09 10:39:35 UTC (rev 28831)
@@ -43,7 +43,6 @@
#import "NSColor_BDSKExtensions.h"
#import "NSGeometry_BDSKExtensions.h"
#import "NSObject_BDSKExtensions.h"
-#import "NSLayoutConstraint_BDSKExtensions.h"
@interface BDSKBackgroundView : NSView
@@ -261,14 +260,14 @@
[scalePopUpButton setTranslatesAutoresizingMaskIntoConstraints:NO];
[backgroundView addSubview:scalePopUpButton];
- [self addConstraints:@[
- [NSLayoutConstraint constraintWithLeadingMargin:0.0
forItem:backgroundView toItem:self],
- [NSLayoutConstraint constraintWithBottomMargin:0.0
forItem:backgroundView toItem:self]]];
- [backgroundView addConstraints:@[
- [NSLayoutConstraint constraintWithLeadingMargin:2.0
forItem:scalePopUpButton toItem:backgroundView],
- [NSLayoutConstraint constraintWithTrailingMargin:1.0
forItem:scalePopUpButton toItem:backgroundView],
- [NSLayoutConstraint constraintWithTopMargin:1.0
forItem:scalePopUpButton toItem:backgroundView],
- [NSLayoutConstraint constraintWithBottomMargin:1.0
forItem:scalePopUpButton toItem:backgroundView]]];
+ [NSLayoutConstraint activateConstraints:@[
+ [[backgroundView leadingAnchor] constraintEqualToAnchor:[self
leadingAnchor]],
+ [[self bottomAnchor] constraintEqualToAnchor:[backgroundView
bottomAnchor]]]];
+ [NSLayoutConstraint activateConstraints:@[
+ [[scalePopUpButton leadingAnchor]
constraintEqualToAnchor:[backgroundView leadingAnchor] constant:2.0],
+ [[backgroundView trailingAnchor]
constraintEqualToAnchor:[scalePopUpButton trailingAnchor] constant:1.0],
+ [[scalePopUpButton topAnchor]
constraintEqualToAnchor:[backgroundView topAnchor]],
+ [[backgroundView bottomAnchor]
constraintEqualToAnchor:[scalePopUpButton bottomAnchor] constant:1.0]]];
[self updateScrollerInsets];
Modified: trunk/bibdesk/BDSKZoomableTextView.m
===================================================================
--- trunk/bibdesk/BDSKZoomableTextView.m 2024-03-05 15:09:11 UTC (rev
28830)
+++ trunk/bibdesk/BDSKZoomableTextView.m 2024-03-09 10:39:35 UTC (rev
28831)
@@ -40,7 +40,6 @@
#import "NSView_BDSKExtensions.h"
#import "NSPrintOperation_BDSKExtensions.h"
#import "NSObject_BDSKExtensions.h"
-#import "NSLayoutConstraint_BDSKExtensions.h"
@interface BDSKZoomableTextView (BDSKPrivate)
@@ -164,21 +163,21 @@
NSView *contentView = [backgroundView contentView];
NSArray *constraints = @[
- [NSLayoutConstraint constraintWithLeadingMargin:2.0
forItem:scalePopUpButton toItem:contentView],
- [NSLayoutConstraint constraintWithTrailingMargin:1.0
forItem:scalePopUpButton toItem:contentView],
- [NSLayoutConstraint constraintWithBottomMargin:1.0
forItem:scalePopUpButton toItem:contentView],
- [NSLayoutConstraint constraintWithTopMargin:1.0
forItem:scalePopUpButton toItem:contentView]];
- [contentView addConstraints:constraints];
+ [[scalePopUpButton leadingAnchor]
constraintEqualToAnchor:[contentView leadingAnchor] constant:2.0],
+ [[contentView trailingAnchor]
constraintEqualToAnchor:[scalePopUpButton trailingAnchor] constant:1.0],
+ [[contentView bottomAnchor]
constraintEqualToAnchor:[scalePopUpButton bottomAnchor] constant:1],
+ [[scalePopUpButton topAnchor] constraintEqualToAnchor:[contentView
topAnchor]]];
+ [NSLayoutConstraint activateConstraints:constraints];
contentView = [containerView contentView];
constraints = @[
- [NSLayoutConstraint constraintWithLeadingMargin:0.0
forItem:backgroundView toItem:contentView],
- [NSLayoutConstraint constraintWithLeadingMargin:0.0
forItem:scrollView toItem:contentView],
- [NSLayoutConstraint constraintWithTrailingMargin:0.0
forItem:scrollView toItem:contentView],
- [NSLayoutConstraint constraintWithBottomMargin:0.0
forItem:backgroundView toItem:contentView],
- [NSLayoutConstraint constraintWithTopMargin:0.0 forItem:scrollView
toItem:contentView],
- [NSLayoutConstraint constraintWithBottomMargin:0.0
forItem:scrollView toItem:contentView]];
- [contentView addConstraints:constraints];
+ [[backgroundView leadingAnchor]
constraintEqualToAnchor:[contentView leadingAnchor]],
+ [[scrollView leadingAnchor] constraintEqualToAnchor:[contentView
leadingAnchor]],
+ [[contentView trailingAnchor] constraintEqualToAnchor:[scrollView
trailingAnchor]],
+ [[contentView bottomAnchor]
constraintEqualToAnchor:[backgroundView bottomAnchor]],
+ [[scrollView topAnchor] constraintEqualToAnchor:[contentView
topAnchor]],
+ [[contentView bottomAnchor] constraintEqualToAnchor:[contentView
bottomAnchor]]];
+ [NSLayoutConstraint activateConstraints:constraints];
[scrollView setAutomaticallyAdjustsContentInsets:NO];
[scrollView setContentInsets:NSEdgeInsetsMake(0.0, 0.0,
[scalePopUpButton intrinsicContentSize].height + 2.0, 0.0)];
Modified: trunk/bibdesk/BibDocument.m
===================================================================
--- trunk/bibdesk/BibDocument.m 2024-03-05 15:09:11 UTC (rev 28830)
+++ trunk/bibdesk/BibDocument.m 2024-03-09 10:39:35 UTC (rev 28831)
@@ -123,7 +123,6 @@
#import "NSPasteboard_BDSKExtensions.h"
#import "BDSKSaveAccessoryViewController.h"
#import "NSObject_BDSKExtensions.h"
-#import "NSLayoutConstraint_BDSKExtensions.h"
#import "BDSKCompletionManager.h"
#import "NSPointerFunctions_BDSKExtensions.h"
#import "BDSKWebGroupViewController.h"
@@ -399,11 +398,11 @@
NSScrollView *scrollView = [tableView enclosingScrollView];
[mainView addSubview:scrollView];
NSArray *constraints = @[
- [NSLayoutConstraint constraintWithLeadingMargin:0.0 forItem:scrollView
toItem:mainView],
- [NSLayoutConstraint constraintWithTrailingMargin:0.0
forItem:scrollView toItem:mainView],
- [NSLayoutConstraint constraintWithBottomMargin:0.0 forItem:scrollView
toItem:mainView],
- [NSLayoutConstraint constraintWithTopMargin:-1.0 forItem:scrollView
toItem:mainView]];
- [mainView addConstraints:constraints];
+ [[scrollView leadingAnchor] constraintEqualToAnchor:[mainView
leadingAnchor]],
+ [[mainView trailingAnchor] constraintEqualToAnchor:[scrollView
trailingAnchor]],
+ [[scrollView bottomAnchor] constraintEqualToAnchor:[mainView
bottomAnchor]],
+ [[mainView topAnchor] constraintEqualToAnchor:[scrollView topAnchor]
constant:-1]];
+ [NSLayoutConstraint activateConstraints:constraints];
// TableView setup
@@ -1308,7 +1307,7 @@
if([[NSUserDefaults standardUserDefaults]
boolForKey:BDSKAutoSortForCrossrefsKey])
[self performSortForCrossrefs];
NSString *theBasePath = [[[saveTargetURL URLByStandardizingPath] path]
stringByDeletingLastPathComponent];
- BOOL drop = [aType isEqualToString:BDSKMinimalBibTeXDocumentType];
+ BOOL drop = [aType isEqualToString:BDSKMinimalBibTeXDocumentType];
data = [self bibTeXDataDroppingInternal:drop
relativeToPath:theBasePath error:&error];
}else if ([aType isEqualToString:BDSKRISDocumentType]){
data = [self RISDataAndReturnError:&error];
Modified: trunk/bibdesk/BibDocument_Groups.m
===================================================================
--- trunk/bibdesk/BibDocument_Groups.m 2024-03-05 15:09:11 UTC (rev 28830)
+++ trunk/bibdesk/BibDocument_Groups.m 2024-03-09 10:39:35 UTC (rev 28831)
@@ -95,7 +95,6 @@
#import "BDSKGroupCellView.h"
#import "BDSKGroupRowView.h"
#import "BDSKControlTableCellView.h"
-#import "NSLayoutConstraint_BDSKExtensions.h"
#import "NSPointerFunctions_BDSKExtensions.h"
#import "CFString_BDSKExtensions.h"
@@ -680,10 +679,10 @@
}
[view addSubview:spinner];
[view setProgressIndicator:spinner];
- [view addConstraints:@[
- [NSLayoutConstraint constraintWithLeadingSpacing:2.0 forItem:spinner
toItem:[view nameField]],
- [NSLayoutConstraint constraintWithTrailingMargin:2.0 forItem:spinner
toItem:view],
- [NSLayoutConstraint constraintWithCenterYOffset:0.0 forItem:spinner
toItem:view]]];
+ [NSLayoutConstraint activateConstraints:@[
+ [[spinner leadingAnchor] constraintEqualToAnchor:[[view nameField]
trailingAnchor] constant:2.0],
+ [[view trailingAnchor] constraintEqualToAnchor:[spinner
trailingAnchor] constant:2.0],
+ [[spinner centerYAnchor] constraintEqualToAnchor:[view
centerYAnchor]]]];
[spinner startAnimation:nil];
}
Modified: trunk/bibdesk/BibDocument_Search.m
===================================================================
--- trunk/bibdesk/BibDocument_Search.m 2024-03-05 15:09:11 UTC (rev 28830)
+++ trunk/bibdesk/BibDocument_Search.m 2024-03-09 10:39:35 UTC (rev 28831)
@@ -65,7 +65,6 @@
#import "BDSKEdgeView.h"
#import "BDSKButtonBar.h"
#import "NSColor_BDSKExtensions.h"
-#import "NSLayoutConstraint_BDSKExtensions.h"
#import "NSWindowController_BDSKExtensions.h"
static NSString *titleForSearchField(NSString *field) {
@@ -299,7 +298,7 @@
searchButtonEdgeView = [[BDSKEdgeView alloc] initWithFrame:NSMakeRect(0.0,
0.0, 0.0, 29.0)];
[searchButtonEdgeView setEdges:BDSKMinYEdgeMask];
[searchButtonEdgeView setTranslatesAutoresizingMaskIntoConstraints:NO];
- [searchButtonEdgeView addConstraint:[NSLayoutConstraint
constraintWithHeight:29.0 forItem:searchButtonEdgeView]];
+ [[[searchButtonEdgeView heightAnchor] constraintEqualToConstant:29.0]
setActive:YES];
if ([searchButtonEdgeView backgroundColors])
[searchButtonEdgeView setBackgroundColors:@[[NSColor
colorWithCalibratedWhite:0.82 alpha:1.0], [NSColor
colorWithCalibratedWhite:0.914 alpha:1.0]]];
Modified: trunk/bibdesk/BibDocument_UI.m
===================================================================
--- trunk/bibdesk/BibDocument_UI.m 2024-03-05 15:09:11 UTC (rev 28830)
+++ trunk/bibdesk/BibDocument_UI.m 2024-03-09 10:39:35 UTC (rev 28831)
@@ -86,7 +86,6 @@
#import "BDSKCustomCiteDrawerController.h"
#import "NSAnimationContext_BDSKExtensions.h"
#import "NSView_BDSKExtensions.h"
-#import "NSLayoutConstraint_BDSKExtensions.h"
#import "BDSKGroupCellView.h"
#import "BDSKZoomablePDFView.h"
#import "BDSKStatusBar.h"
@@ -452,7 +451,7 @@
[view reflectScrollView:nil animate:NO];
[view removeFromSuperview];
[oldViews removeObjectAtIndex:i];
- [controlContentView addConstraint:[NSLayoutConstraint
constraintWithTopSpacing:0.0 forItem:[oldViews objectAtIndex:i]
toItem:[oldViews objectAtIndex:i - 1]]];
+ [[[[oldViews objectAtIndex:i] topAnchor]
constraintEqualToAnchor:[[oldViews objectAtIndex:i - 1] bottomAnchor]]
setActive:YES];
}
[self updateControlViews];
return;
@@ -484,10 +483,10 @@
newView = [tableView enclosingScrollView];
}
viewConstraints = @[
- [NSLayoutConstraint constraintWithLeadingMargin:0.0
forItem:newView toItem:mainView],
- [NSLayoutConstraint constraintWithTrailingMargin:0.0
forItem:newView toItem:mainView],
- [NSLayoutConstraint constraintWithTopMargin:-1.0 forItem:newView
toItem:mainView],
- [NSLayoutConstraint constraintWithBottomMargin:0.0 forItem:newView
toItem:mainView]];
+ [[newView leadingAnchor] constraintEqualToAnchor:[mainView
leadingAnchor ]],
+ [[mainView trailingAnchor] constraintEqualToAnchor:[newView
trailingAnchor]],
+ [[newView topAnchor] constraintEqualToAnchor:[mainView topAnchor]
constant:-1],
+ [[mainView bottomAnchor] constraintEqualToAnchor:[newView
bottomAnchor]]];
}
NSTimeInterval duration = [NSAnimationContext
defaultAnimationTimeInterval];
@@ -519,7 +518,7 @@
if (@available(macOS 10.14, *))
reflectedView = [(docState.controlViewDisplay &
BDSKControlViewFileSearch) ? [fileSearchController tableView] : tableView
enclosingScrollView];
if ([oldViews count] == 0)
- [controlContentView removeConstraint:[controlContentView
constraintWithFirstItem:controlContentView
firstAttribute:NSLayoutAttributeHeight]];
+ [[controlContentView constraintWithFirstItem:controlContentView
firstAttribute:NSLayoutAttributeHeight] setActive:NO];
if ([topViews count]) {
NSView *prevView = [oldViews firstObject];
@@ -526,19 +525,19 @@
for (NSView *view in topViews) {
[view setTranslatesAutoresizingMaskIntoConstraints:NO];
[controlContentView addSubview:view positioned:NSWindowBelow
relativeTo:nil];
- [newConstraints addObject:[NSLayoutConstraint
constraintWithLeadingMargin:0.0 forItem:view toItem:controlContentView]];
- [newConstraints addObject:[NSLayoutConstraint
constraintWithTrailingMargin:0.0 forItem:view toItem:controlContentView]];
+ [newConstraints addObject:[[view leadingAnchor]
constraintEqualToAnchor:[controlContentView leadingAnchor]]];
+ [newConstraints addObject:[[controlContentView trailingAnchor]
constraintEqualToAnchor:[view trailingAnchor]]];
if (prevView)
- [newConstraints addObject:[NSLayoutConstraint
constraintWithTopSpacing:0.0 forItem:prevView toItem:view]];
+ [newConstraints addObject:[[prevView topAnchor]
constraintEqualToAnchor:[view topAnchor]]];
else
- [newConstraints addObject:[NSLayoutConstraint
constraintWithBottomMargin:0.0 forItem:view toItem:controlContentView]];
+ [newConstraints addObject:[[controlContentView
bottomAnchor] constraintEqualToAnchor:[view bottomAnchor]]];
prevView = view;
if (reflectedView)
[(BDSKEdgeView *)view reflectScrollView:reflectedView
animate:NO];
}
if (topConstraint)
- [controlContentView removeConstraint:topConstraint];
- topConstraint = [NSLayoutConstraint
constraintWithTopMargin:-topOffset forItem:prevView toItem:controlContentView];
+ [topConstraint setActive:NO];
+ topConstraint = [[prevView topAnchor]
constraintEqualToAnchor:[controlContentView topAnchor] constant:-topOffset];
[newConstraints addObject:topConstraint];
}
@@ -547,22 +546,22 @@
for (NSView *view in bottomViews) {
[view setTranslatesAutoresizingMaskIntoConstraints:NO];
[controlContentView addSubview:view positioned:NSWindowAbove
relativeTo:nil];
- [newConstraints addObject:[NSLayoutConstraint
constraintWithLeadingMargin:0.0 forItem:view toItem:controlContentView]];
- [newConstraints addObject:[NSLayoutConstraint
constraintWithTrailingMargin:0.0 forItem:view toItem:controlContentView]];
+ [newConstraints addObject:[[view leadingAnchor]
constraintEqualToAnchor:[controlContentView leadingAnchor]]];
+ [newConstraints addObject:[[controlContentView trailingAnchor]
constraintEqualToAnchor:[view trailingAnchor]]];
if (prevView)
- [newConstraints addObject:[NSLayoutConstraint
constraintWithTopSpacing:0.0 forItem:view toItem:prevView]];
+ [newConstraints addObject:[[view topAnchor]
constraintEqualToAnchor:[prevView bottomAnchor]]];
else
- [newConstraints addObject:[NSLayoutConstraint
constraintWithTopMargin:0.0 forItem:view toItem:controlContentView]];
+ [newConstraints addObject:[[view topAnchor]
constraintEqualToAnchor:[controlContentView topAnchor]]];
prevView = view;
if (reflectedView)
[(BDSKEdgeView *)view reflectScrollView:reflectedView
animate:NO];
}
if (bottomConstraint)
- [controlContentView removeConstraint:bottomConstraint];
- bottomConstraint = [NSLayoutConstraint
constraintWithBottomMargin:-bottomOffset forItem:prevView
toItem:controlContentView];
+ [bottomConstraint setActive:NO];
+ bottomConstraint = [[controlContentView bottomAnchor]
constraintEqualToAnchor:[prevView bottomAnchor] constant:-bottomOffset];
[newConstraints addObject:bottomConstraint];
}
- [controlContentView addConstraints:newConstraints];
+ [NSLayoutConstraint activateConstraints:newConstraints];
topOffset = bottomOffset = 0.0;
@@ -569,15 +568,15 @@
} else if (isRemove) {
if ([topViews count] + [bottomViews count] == [oldViews count]) {
- [newConstraints addObject:[NSLayoutConstraint
constraintWithHeight:0.0 forItem:controlContentView]];
+ [newConstraints addObject:[[controlContentView heightAnchor]
constraintEqualToConstant:0.0]];
} else {
if ([topViews count]) {
NSView *view = [oldViews objectAtIndex:[topViews count]];
- [newConstraints addObject:[NSLayoutConstraint
constraintWithTopMargin:0.0 forItem:view toItem:controlContentView]];
+ [newConstraints addObject:[[view topAnchor]
constraintEqualToAnchor:[controlContentView topAnchor]]];
}
if ([bottomViews count]) {
NSView *view = [oldViews objectAtIndex:[oldViews count] -
[bottomViews count] - 1];
- [newConstraints addObject:[NSLayoutConstraint
constraintWithBottomMargin:0.0 forItem:view toItem:controlContentView]];
+ [newConstraints addObject:[[controlContentView bottomAnchor]
constraintEqualToAnchor:[view bottomAnchor]]];
}
}
@@ -594,7 +593,7 @@
if (newView) {
[[mainView animator] replaceSubview:oldView with:newView];
- [mainView addConstraints:viewConstraints];
+ [NSLayoutConstraint activateConstraints:viewConstraints];
if (@available(macOS 10.14, *)) {
for (BDSKEdgeView *view in oldViews)
@@ -614,7 +613,7 @@
[view removeFromSuperview];
}
if (newConstraints)
- [controlContentView addConstraints:newConstraints];
+ [NSLayoutConstraint activateConstraints:newConstraints];
}
docFlags.isAnimating = NO;
@@ -626,7 +625,7 @@
if (newView) {
[mainView replaceSubview:oldView with:newView];
- [mainView addConstraints:viewConstraints];
+ [NSLayoutConstraint activateConstraints:viewConstraints];
if (@available(macOS 10.14, *)) {
for (BDSKEdgeView *view in oldViews)
@@ -642,7 +641,7 @@
[view removeFromSuperview];
}
if (newConstraints)
- [controlContentView addConstraints:newConstraints];
+ [NSLayoutConstraint activateConstraints:newConstraints];
}
[self updateControlViews];
Modified: trunk/bibdesk/BibPref_ScriptHooks.m
===================================================================
--- trunk/bibdesk/BibPref_ScriptHooks.m 2024-03-05 15:09:11 UTC (rev 28830)
+++ trunk/bibdesk/BibPref_ScriptHooks.m 2024-03-09 10:39:35 UTC (rev 28831)
@@ -44,7 +44,6 @@
#import "NSArray_BDSKExtensions.h"
#import "NSPasteboard_BDSKExtensions.h"
#import "NSMenu_BDSKExtensions.h"
-#import "NSLayoutConstraint_BDSKExtensions.h"
@implementation BibPref_ScriptHooks
@@ -180,13 +179,13 @@
[[button2 cell] setRepresentedObject:[NSNumber numberWithInteger:row]];
[button2 setTranslatesAutoresizingMaskIntoConstraints:NO];
[view addSubview:button2];
- [view addConstraints:@[
- [NSLayoutConstraint constraintWithTrailingMargin:20.0
forItem:button1 toItem:view],
- [NSLayoutConstraint constraintWithLeadingSpacing:8.0
forItem:button1 toItem:button2],
- [NSLayoutConstraint constraintWithItem:button2
attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationGreaterThanOrEqual
toItem:view attribute:NSLayoutAttributeLeading multiplier:1.0 constant:20.0],
- [NSLayoutConstraint constraintWithCenterYOffset:0.0
forItem:button1 toItem:view],
- [NSLayoutConstraint constraintWithCenterYOffset:0.0
forItem:button2 toItem:view],
- [NSLayoutConstraint constraintWithTopMargin:10.0 forItem:button1
toItem:view]]];
+ [NSLayoutConstraint activateConstraints:@[
+ [[view trailingAnchor] constraintEqualToAnchor:[button1
trailingAnchor] constant:20.0],
+ [[button1 leadingAnchor] constraintEqualToAnchor:[button2
trailingAnchor]],
+ [[button2 leadingAnchor]
constraintGreaterThanOrEqualToAnchor:[view leadingAnchor] constant:20.0],
+ [[button1 centerYAnchor] constraintEqualToAnchor:[view
centerYAnchor]],
+ [[button2 centerYAnchor] constraintEqualToAnchor:[view
centerYAnchor]],
+ [[button1 topAnchor] constraintEqualToAnchor:[view topAnchor]
constant:10.0]]];
NSURL *directoryURL = [[NSFileManager defaultManager]
applicationSupportDirectoryURL];
NSOpenPanel *openPanel = [NSOpenPanel openPanel];
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit