Revision: 12732
          http://sourceforge.net/p/skim-app/code/12732
Author:   hofman
Date:     2022-01-21 14:25:58 +0000 (Fri, 21 Jan 2022)
Log Message:
-----------
convenience accessor for full width of all visible columns

Modified Paths:
--------------
    trunk/SKMainWindowController_UI.m
    trunk/SKNoteOutlineView.h
    trunk/SKNoteOutlineView.m
    trunk/SKNotesDocument.m

Modified: trunk/SKMainWindowController_UI.m
===================================================================
--- trunk/SKMainWindowController_UI.m   2022-01-21 13:52:50 UTC (rev 12731)
+++ trunk/SKMainWindowController_UI.m   2022-01-21 14:25:58 UTC (rev 12732)
@@ -886,13 +886,8 @@
                 [cell setObjectValue:[item objectValue]];
                 // don't use cellFrameAtRow:column: as this needs the row 
height which we are calculating
                 if ([(PDFAnnotation *)item type] == nil) {
-                    CGFloat spacing = [ov intercellSpacing].width;
-                    for (NSTableColumn *tc in [ov tableColumns]) {
-                        if ([tc isHidden] == NO)
-                            width += [tc width] + spacing;
-                    }
-                    width -= spacing;
-                    if ([tableColumn isHidden] == NO && tableColumn == [[ov 
tableColumns] firstObject])
+                    width = [(SKNoteOutlineView *)ov visibleColumnsWidth];
+                    if (tableColumn == [(SKNoteOutlineView *)ov 
firstVisibleTableColumn])
                         width -= NOTE_COLUMN_WIDTH_OFFSET;
                     width = fmax(10.0, width);
                 } else if ([tableColumn isHidden] == NO) {

Modified: trunk/SKNoteOutlineView.h
===================================================================
--- trunk/SKNoteOutlineView.h   2022-01-21 13:52:50 UTC (rev 12731)
+++ trunk/SKNoteOutlineView.h   2022-01-21 14:25:58 UTC (rev 12732)
@@ -50,6 +50,7 @@
 
 @property (nonatomic, readonly) NSTableColumn *firstVisibleTableColumn;
 @property (nonatomic, readonly) NSTableColumn *lastVisibleTableColumn;
+@property (nonatomic, readonly) CGFloat visibleColumnsWidth;
 
 @end
 

Modified: trunk/SKNoteOutlineView.m
===================================================================
--- trunk/SKNoteOutlineView.m   2022-01-21 13:52:50 UTC (rev 12731)
+++ trunk/SKNoteOutlineView.m   2022-01-21 14:25:58 UTC (rev 12732)
@@ -61,7 +61,7 @@
 
 @implementation SKNoteOutlineView
 
-@dynamic firstVisibleTableColumn, lastVisibleTableColumn;
+@dynamic firstVisibleTableColumn, lastVisibleTableColumn, visibleColumnsWidth;
 
 static inline NSString *titleForTableColumnIdentifier(NSString *identifier) {
     if ([identifier isEqualToString:NOTE_COLUMNID])
@@ -190,6 +190,16 @@
     return nil;
 }
 
+- (CGFloat)visibleColumnsWidth {
+    CGFloat spacing = [self intercellSpacing].width;
+    CGFloat width = -spacing;
+    for (NSTableColumn *tc in [self tableColumns]) {
+        if ([tc isHidden] == NO)
+            width += [tc width] + spacing;
+    }
+    return width;
+}
+
 #pragma mark Delegate
 
 - (id <SKNoteOutlineViewDelegate>)delegate { return (id 
<SKNoteOutlineViewDelegate>)[super delegate]; }

Modified: trunk/SKNotesDocument.m
===================================================================
--- trunk/SKNotesDocument.m     2022-01-21 13:52:50 UTC (rev 12731)
+++ trunk/SKNotesDocument.m     2022-01-21 14:25:58 UTC (rev 12732)
@@ -827,13 +827,8 @@
             id cell = [tableColumn dataCell];
             [cell setObjectValue:[item objectValue]];
             if ([(PDFAnnotation *)item type] == nil) {
-                CGFloat spacing = [outlineView intercellSpacing].width;
-                for (NSTableColumn *tc in [outlineView tableColumns]) {
-                    if ([tc isHidden] == NO)
-                        width += [tc width] + spacing;
-                }
-                width -= spacing;
-                if ([tableColumn isHidden] == NO && tableColumn == [[ov 
tableColumns] firstObject])
+                width = [outlineView visibleColumnsWidth];
+                if (tableColumn == [outlineView firstVisibleTableColumn])
                     width -= NOTE_COLUMN_WIDTH_OFFSET;
                 width = fmax(10.0, width);
             } else if ([tableColumn isHidden] == NO) {

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



_______________________________________________
Skim-app-commit mailing list
Skim-app-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to