Revision: 28838
          http://sourceforge.net/p/bibdesk/svn/28838
Author:   hofman
Date:     2024-03-12 10:46:33 +0000 (Tue, 12 Mar 2024)
Log Message:
-----------
use ivars for control view constraints

Modified Paths:
--------------
    trunk/bibdesk/Base.lproj/BibDocument.xib
    trunk/bibdesk/BibDocument.h
    trunk/bibdesk/BibDocument.m
    trunk/bibdesk/BibDocument_UI.m

Modified: trunk/bibdesk/Base.lproj/BibDocument.xib
===================================================================
--- trunk/bibdesk/Base.lproj/BibDocument.xib    2024-03-12 10:20:08 UTC (rev 
28837)
+++ trunk/bibdesk/Base.lproj/BibDocument.xib    2024-03-12 10:46:33 UTC (rev 
28838)
@@ -16,6 +16,7 @@
                 <outlet property="bottomPreviewTabView" destination="101207" 
id="101258"/>
                 <outlet property="bottomPreviewTextView" destination="101215" 
id="101239"/>
                 <outlet property="controlContentView" destination="Ics-7k-gsA" 
id="Ufg-re-JUN"/>
+                <outlet property="controlContentViewHeightConstraint" 
destination="cPw-7P-Igg" id="0hW-Zs-ST6"/>
                 <outlet property="documentWindow" destination="5" id="206"/>
                 <outlet property="groupActionButton" destination="101665" 
id="101677"/>
                 <outlet property="groupActionMenuButton" destination="872" 
id="877"/>

Modified: trunk/bibdesk/BibDocument.h
===================================================================
--- trunk/bibdesk/BibDocument.h 2024-03-12 10:20:08 UTC (rev 28837)
+++ trunk/bibdesk/BibDocument.h 2024-03-12 10:46:33 UTC (rev 28838)
@@ -140,7 +140,10 @@
     BDSKWebGroupViewController *webGroupViewController;
     
     NSView *controlContentView;
-    
+    NSLayoutConstraint *controlContentViewHeightConstraint;
+    NSLayoutConstraint *controlContentViewTopConstraint;
+    NSLayoutConstraint *controlContentViewBottomConstraint;
+
     NSDictionary *tableColumnWidths;
     
     NSTouchBar *touchBar;
@@ -309,6 +312,7 @@
 @property (nonatomic, strong) IBOutlet BDSKColoredView *mainBox;
 @property (nonatomic, strong) IBOutlet NSView *mainView;
 @property (nonatomic, strong) IBOutlet NSView *controlContentView;
+@property (nonatomic, strong) IBOutlet NSLayoutConstraint 
*controlContentViewHeightConstraint;
 @property (nonatomic, strong) IBOutlet BDSKStatusBar *statusBar;
 @property (nonatomic, strong) IBOutlet BDSKGroupOutlineView *groupOutlineView;
 @property (nonatomic, strong) IBOutlet NSSplitView *groupSplitView;

Modified: trunk/bibdesk/BibDocument.m
===================================================================
--- trunk/bibdesk/BibDocument.m 2024-03-12 10:20:08 UTC (rev 28837)
+++ trunk/bibdesk/BibDocument.m 2024-03-12 10:46:33 UTC (rev 28838)
@@ -186,7 +186,7 @@
 
 @implementation BibDocument
 
-@synthesize documentWindow, tableView, mainScrollView, splitView, mainBox, 
mainView, controlContentView, statusBar, groupOutlineView, groupSplitView, 
groupActionButton, groupAddButton, groupButtonView, 
groupButtonViewWidthConstraint, groupFieldMenu, sidePreviewTabView, 
sidePreviewTextView, sideFileView, sidePreviewButton, sidePreviewButtonView, 
sidePreviewButtonViewWidthConstraint, bottomPreviewTabView, 
bottomPreviewTextView, bottomFileView, bottomPreviewButton, actionMenuButton, 
groupActionMenuButton, searchField, groupMenu, actionMenu, alternateCopyMenu, 
sharingMenu, publications, shownPublications, groups, documentInfo, 
macroResolver, basePath, openDate;
+@synthesize documentWindow, tableView, mainScrollView, splitView, mainBox, 
mainView, controlContentView, controlContentViewHeightConstraint, statusBar, 
groupOutlineView, groupSplitView, groupActionButton, groupAddButton, 
groupButtonView, groupButtonViewWidthConstraint, groupFieldMenu, 
sidePreviewTabView, sidePreviewTextView, sideFileView, sidePreviewButton, 
sidePreviewButtonView, sidePreviewButtonViewWidthConstraint, 
bottomPreviewTabView, bottomPreviewTextView, bottomFileView, 
bottomPreviewButton, actionMenuButton, groupActionMenuButton, searchField, 
groupMenu, actionMenu, alternateCopyMenu, sharingMenu, publications, 
shownPublications, groups, documentInfo, macroResolver, basePath, openDate;
 @dynamic mainDocument, atomData, MODSData, endNoteData, wordXMLData, 
numberOfSelectedPubs, numberOfClickedOrSelectedPubs, selectedPublications, 
clickedOrSelectedPublications, singleSelectedPublication, selectedFileURLs, 
clickedOrSelectedFileURLs, selectedRemoteURLs, clickedOrSelectedRemoteURLs, 
documentStringEncoding, sharingServices;
 
 + (NSSet *)keyPathsForValuesAffectingValueForKey:(NSString *)key {

Modified: trunk/bibdesk/BibDocument_UI.m
===================================================================
--- trunk/bibdesk/BibDocument_UI.m      2024-03-12 10:20:08 UTC (rev 28837)
+++ trunk/bibdesk/BibDocument_UI.m      2024-03-12 10:46:33 UTC (rev 28838)
@@ -498,7 +498,7 @@
     NSMutableArray *newConstraints = [NSMutableArray array];
     
     if ([topViews count]) {
-        topConstraint = [controlContentView 
constraintWithSecondItem:controlContentView 
secondAttribute:NSLayoutAttributeTop];
+        topConstraint = controlContentViewTopConstraint;
         if (duration > 0.0) {
             for (NSView *view in topViews)
                 topOffset += [view fittingSize].height;
@@ -505,7 +505,7 @@
         }
     }
     if ([bottomViews count]) {
-        bottomConstraint = [controlContentView 
constraintWithFirstItem:controlContentView 
firstAttribute:NSLayoutAttributeBottom];
+        bottomConstraint = controlContentViewBottomConstraint;
         if (duration > 0.0) {
             for (NSView *view in bottomViews)
                 bottomOffset += [view fittingSize].height;
@@ -517,8 +517,10 @@
         NSScrollView *reflectedView = nil;
         if (@available(macOS 10.14, *))
             reflectedView = [(docState.controlViewDisplay & 
BDSKControlViewFileSearch) ? [fileSearchController tableView] : tableView 
enclosingScrollView];
-        if ([oldViews count] == 0)
-            [[controlContentView constraintWithFirstItem:controlContentView 
firstAttribute:NSLayoutAttributeHeight] setActive:NO];
+        if ([oldViews count] == 0) {
+            [controlContentViewHeightConstraint setActive:NO];
+            controlContentViewHeightConstraint = nil;
+        }
         
         if ([topViews count]) {
             NSView *prevView = [oldViews firstObject];
@@ -527,10 +529,12 @@
                 [controlContentView addSubview:view positioned:NSWindowBelow 
relativeTo:nil];
                 [newConstraints addObject:[[view leadingAnchor] 
constraintEqualToAnchor:[controlContentView leadingAnchor]]];
                 [newConstraints addObject:[[controlContentView trailingAnchor] 
constraintEqualToAnchor:[view trailingAnchor]]];
-                if (prevView)
+                if (prevView) {
                     [newConstraints addObject:[[prevView topAnchor] 
constraintEqualToAnchor:[view topAnchor]]];
-                else
-                    [newConstraints addObject:[[controlContentView 
bottomAnchor] constraintEqualToAnchor:[view bottomAnchor]]];
+                } else {
+                    controlContentViewBottomConstraint = [[controlContentView 
bottomAnchor] constraintEqualToAnchor:[view bottomAnchor]];
+                    [newConstraints 
addObject:controlContentViewBottomConstraint];
+                }
                 prevView = view;
                 if (reflectedView)
                     [(BDSKEdgeView *)view reflectScrollView:reflectedView 
animate:NO];
@@ -537,7 +541,7 @@
             }
             if (topConstraint)
                 [topConstraint setActive:NO];
-            topConstraint = [[prevView topAnchor] 
constraintEqualToAnchor:[controlContentView topAnchor] constant:-topOffset];
+            topConstraint = controlContentViewTopConstraint = [[prevView 
topAnchor] constraintEqualToAnchor:[controlContentView topAnchor] 
constant:-topOffset];
             [newConstraints addObject:topConstraint];
         }
         
@@ -548,10 +552,12 @@
                 [controlContentView addSubview:view positioned:NSWindowAbove 
relativeTo:nil];
                 [newConstraints addObject:[[view leadingAnchor] 
constraintEqualToAnchor:[controlContentView leadingAnchor]]];
                 [newConstraints addObject:[[controlContentView trailingAnchor] 
constraintEqualToAnchor:[view trailingAnchor]]];
-                if (prevView)
+                if (prevView) {
                     [newConstraints addObject:[[view topAnchor] 
constraintEqualToAnchor:[prevView bottomAnchor]]];
-                else
-                    [newConstraints addObject:[[view topAnchor] 
constraintEqualToAnchor:[controlContentView topAnchor]]];
+                } else {
+                    controlContentViewTopConstraint = [[view topAnchor] 
constraintEqualToAnchor:[controlContentView topAnchor]];
+                    [newConstraints addObject:controlContentViewTopConstraint];
+                }
                 prevView = view;
                 if (reflectedView)
                     [(BDSKEdgeView *)view reflectScrollView:reflectedView 
animate:NO];
@@ -558,7 +564,7 @@
             }
             if (bottomConstraint)
                 [bottomConstraint setActive:NO];
-            bottomConstraint = [[controlContentView bottomAnchor] 
constraintEqualToAnchor:[prevView bottomAnchor] constant:-bottomOffset];
+            bottomConstraint = controlContentViewBottomConstraint = 
[[controlContentView bottomAnchor] constraintEqualToAnchor:[prevView 
bottomAnchor] constant:-bottomOffset];
             [newConstraints addObject:bottomConstraint];
         }
         [NSLayoutConstraint activateConstraints:newConstraints];
@@ -568,15 +574,19 @@
     } else if (isRemove) {
         
         if ([topViews count] + [bottomViews count] == [oldViews count]) {
-            [newConstraints addObject:[[controlContentView heightAnchor] 
constraintEqualToConstant:0.0]];
+            controlContentViewHeightConstraint = [[controlContentView 
heightAnchor] constraintEqualToConstant:0.0];
+            controlContentViewTopConstraint = 
controlContentViewBottomConstraint = nil;
+            [newConstraints addObject:controlContentViewHeightConstraint];
         } else {
             if ([topViews count]) {
                 NSView *view = [oldViews objectAtIndex:[topViews count]];
-                [newConstraints addObject:[[view topAnchor] 
constraintEqualToAnchor:[controlContentView topAnchor]]];
+                controlContentViewTopConstraint = [[view topAnchor] 
constraintEqualToAnchor:[controlContentView topAnchor]];
+                [newConstraints addObject:controlContentViewTopConstraint];
             }
             if ([bottomViews count]) {
                 NSView *view = [oldViews objectAtIndex:[oldViews count] - 
[bottomViews count] - 1];
-                [newConstraints addObject:[[controlContentView bottomAnchor] 
constraintEqualToAnchor:[view bottomAnchor]]];
+                controlContentViewBottomConstraint = [[controlContentView 
bottomAnchor] constraintEqualToAnchor:[view bottomAnchor]];
+                [newConstraints addObject:controlContentViewBottomConstraint];
             }
         }
         

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Bibdesk-commit mailing list
Bibdesk-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to