Revision: 7662
http://skim-app.svn.sourceforge.net/skim-app/?rev=7662&view=rev
Author: hofman
Date: 2012-02-22 11:53:09 +0000 (Wed, 22 Feb 2012)
Log Message:
-----------
Simplify getting possibly removed table column for note outline view
Modified Paths:
--------------
trunk/SKMainWindowController.m
trunk/SKNoteOutlineView.h
trunk/SKNoteOutlineView.m
Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m 2012-02-22 00:32:41 UTC (rev 7661)
+++ trunk/SKMainWindowController.m 2012-02-22 11:53:09 UTC (rev 7662)
@@ -648,8 +648,6 @@
- (void)updatePageColumnWidthForTableView:(NSTableView *)tv {
NSTableColumn *tableColumn = [tv tableColumnWithIdentifier:PAGE_COLUMNID];
- if (tableColumn == nil && [tv
respondsToSelector:@selector(removedTableColumnWithIdentifier:)])
- tableColumn = [(SKNoteOutlineView *)tv
removedTableColumnWithIdentifier:PAGE_COLUMNID];
id cell = [tableColumn dataCell];
CGFloat labelWidth = [tv headerView] ? [[tableColumn headerCell]
cellSize].width : 0.0;
Modified: trunk/SKNoteOutlineView.h
===================================================================
--- trunk/SKNoteOutlineView.h 2012-02-22 00:32:41 UTC (rev 7661)
+++ trunk/SKNoteOutlineView.h 2012-02-22 11:53:09 UTC (rev 7662)
@@ -42,14 +42,12 @@
@protocol SKNoteOutlineViewDelegate;
@interface SKNoteOutlineView : SKOutlineView {
- NSMutableSet *removedTableColumns;
+ NSArray *allTableColumns;
}
@property (nonatomic, retain) NSArray *tableColumnIdentifiers;
@property (nonatomic, retain) NSDictionary *tableColumnWidths;
-- (NSTableColumn *)removedTableColumnWithIdentifier:(NSString *)identifier;
-
- (void)toggleTableColumn:(id)sender;
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
Modified: trunk/SKNoteOutlineView.m
===================================================================
--- trunk/SKNoteOutlineView.m 2012-02-22 00:32:41 UTC (rev 7661)
+++ trunk/SKNoteOutlineView.m 2012-02-22 11:53:09 UTC (rev 7662)
@@ -59,24 +59,8 @@
@dynamic tableColumnIdentifiers, tableColumnWidths;
-- (id)initWithFrame:(NSRect)frameRect {
- self = [super initWithFrame:frameRect];
- if (self) {
- removedTableColumns = [[NSMutableSet alloc] init];
- }
- return self;
-}
-
-- (id)initWithCoder:(NSCoder *)decoder {
- self = [super initWithCoder:decoder];
- if (self) {
- removedTableColumns = [[NSMutableSet alloc] init];
- }
- return self;
-}
-
- (void)dealloc {
- SKDESTROY(removedTableColumns);
+ SKDESTROY(allTableColumns);
[super dealloc];
}
@@ -98,6 +82,8 @@
}
- (void)awakeFromNib {
+ allTableColumns = [[self tableColumns] copy];
+
[[self tableColumnWithIdentifier:COLOR_COLUMNID]
setDataCell:[[[SKColorCell alloc] init] autorelease]];
NSMenu *menu = [NSMenu menu];
@@ -233,26 +219,13 @@
}
}
-- (void)addTableColumn:(NSTableColumn *)tableColumn {
- [super addTableColumn:tableColumn];
- [removedTableColumns removeObject:tableColumn];
- if ([[self delegate]
respondsToSelector:@selector(outlineViewTableColumnsDidChange:)])
- [[self delegate] outlineViewTableColumnsDidChange:self];
-}
-
-- (void)removeTableColumn:(NSTableColumn *)tableColumn {
- [removedTableColumns addObject:tableColumn];
- [super removeTableColumn:tableColumn];
- if ([[self delegate]
respondsToSelector:@selector(outlineViewTableColumnsDidChange:)])
- [[self delegate] outlineViewTableColumnsDidChange:self];
-}
-
-- (NSTableColumn *)removedTableColumnWithIdentifier:(NSString *)identifier {
- for (NSTableColumn *tc in removedTableColumns) {
- if ([[tc identifier] isEqualToString:identifier])
- return tc;
+- (NSTableColumn *)tableColumnWithIdentifier:(NSString *)identifier {
+ NSTableColumn *tc = [super tableColumnWithIdentifier:identifier];
+ if (tc == nil) {
+ for (tc in allTableColumns)
+ if ([[tc identifier] isEqualToString:identifier]) break;
}
- return nil;
+ return tc;
}
- (NSArray *)tableColumnIdentifiers {
@@ -268,7 +241,7 @@
for (NSString *identifier in identifiers) {
column = [self columnWithIdentifier:identifier];
if (column == -1) {
- NSTableColumn *tc = [self
removedTableColumnWithIdentifier:identifier];
+ NSTableColumn *tc = [self
tableColumnWithIdentifier:identifier];
if (tc == nil)
continue;
column = [self numberOfColumns];
@@ -310,11 +283,13 @@
NSString *identifier = [sender representedObject];
NSTableColumn *tc = [self tableColumnWithIdentifier:identifier];
if (tc) {
- [self removeTableColumn:tc];
+ if ([[self tableColumns] containsObject:tc])
+ [self removeTableColumn:tc];
+ else
+ [self addTableColumn:tc];
[self sizeToFit];
- } else if ((tc = [self removedTableColumnWithIdentifier:identifier])) {
- [self addTableColumn:tc];
- [self sizeToFit];
+ if ([[self delegate]
respondsToSelector:@selector(outlineViewTableColumnsDidChange:)])
+ [[self delegate] outlineViewTableColumnsDidChange:self];
}
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit