mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 15:11:37 +00:00
Move view rendering to viewAtColumn:row:makeIfNecessary: and eliminate uneeded private method
This commit is contained in:
parent
4d5957eaf7
commit
9070a9d30f
3 changed files with 67 additions and 82 deletions
|
@ -82,10 +82,6 @@
|
|||
row: (NSInteger)index;
|
||||
- (id)_objectValueForTableColumn: (NSTableColumn *)tb
|
||||
row: (NSInteger)index;
|
||||
- (NSView *) _renderedViewForPath: (NSIndexPath *)path;
|
||||
- (void) _setRenderedView: (NSView *)view forPath: (NSIndexPath *)path;
|
||||
- (NSView *) _delegateInvocationForRowIndex: (NSInteger)rowIndex
|
||||
inColumn: (NSInteger)columnIndex;
|
||||
@end
|
||||
|
||||
@interface NSCell (Private)
|
||||
|
@ -3665,8 +3661,7 @@ static NSDictionary *titleTextAttributes[3] = {nil, nil, nil};
|
|||
for (columnIndex = startingColumn; columnIndex <= endingColumn; columnIndex++)
|
||||
{
|
||||
id rv = [v rowViewAtRow: rowIndex makeIfNecessary: YES];
|
||||
NSView *view = [v _delegateInvocationForRowIndex: rowIndex
|
||||
inColumn: columnIndex];
|
||||
NSView *view = [v viewAtColumn: columnIndex row: rowIndex makeIfNecessary: YES];
|
||||
|
||||
// Store the object...
|
||||
[v addSubview: rv];
|
||||
|
|
|
@ -132,8 +132,6 @@ static NSImage *unexpandable = nil;
|
|||
@end
|
||||
|
||||
@interface NSOutlineView (Private)
|
||||
- (NSView *) _delegateInvocationForRowIndex: (NSInteger)rowIndex
|
||||
inColumn: (NSInteger)columnIndex;
|
||||
- (void) _autoCollapse;
|
||||
@end
|
||||
|
||||
|
@ -2210,6 +2208,46 @@ Also returns the child index relative to this parent. */
|
|||
return cell;
|
||||
}
|
||||
|
||||
- (NSView *) viewAtColumn: (NSInteger)column row: (NSInteger)row makeIfNecessary: (BOOL)flag
|
||||
{
|
||||
NSTableColumn *tb = [_tableColumns objectAtIndex: column];
|
||||
NSIndexPath *path = [NSIndexPath indexPathForItem: column
|
||||
inSection: row];
|
||||
NSView *view = [self _renderedViewForPath: path];
|
||||
NSRect drawingRect = [self frameOfCellAtColumn: column
|
||||
row: row];
|
||||
id item = [self itemAtRow: row];
|
||||
|
||||
if (tb == _outlineTableColumn)
|
||||
{
|
||||
drawingRect = [[GSTheme theme] drawOutlineTableColumn: tb
|
||||
outlineView: self
|
||||
item: item
|
||||
drawingRect: drawingRect
|
||||
rowIndex: row];
|
||||
}
|
||||
|
||||
if (view == nil
|
||||
&& flag == YES)
|
||||
{
|
||||
if ([_delegate respondsToSelector: @selector(outlineView:viewForTableColumn:item:)])
|
||||
{
|
||||
view = [_delegate outlineView: self
|
||||
viewForTableColumn: tb
|
||||
item: item];
|
||||
}
|
||||
else
|
||||
{
|
||||
view = [self _prototypeCellViewFromTableColumn: tb];
|
||||
}
|
||||
}
|
||||
|
||||
[view setFrame: drawingRect];
|
||||
[self _setRenderedView: view forPath: path];
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation NSOutlineView (Private)
|
||||
|
@ -2228,44 +2266,4 @@ Also returns the child index relative to this parent. */
|
|||
[autoExpanded removeAllObjects];
|
||||
}
|
||||
|
||||
- (NSView *) _delegateInvocationForRowIndex: (NSInteger)rowIndex
|
||||
inColumn: (NSInteger)columnIndex
|
||||
{
|
||||
NSTableColumn *tb = [_tableColumns objectAtIndex: columnIndex];
|
||||
NSIndexPath *path = [NSIndexPath indexPathForItem: columnIndex
|
||||
inSection: rowIndex];
|
||||
NSView *view = [self _renderedViewForPath: path];
|
||||
NSRect drawingRect = [self frameOfCellAtColumn: columnIndex
|
||||
row: rowIndex];
|
||||
id item = [self itemAtRow: rowIndex];
|
||||
|
||||
if (tb == _outlineTableColumn)
|
||||
{
|
||||
drawingRect = [[GSTheme theme] drawOutlineTableColumn: tb
|
||||
outlineView: self
|
||||
item: item
|
||||
drawingRect: drawingRect
|
||||
rowIndex: rowIndex];
|
||||
}
|
||||
|
||||
if (view == nil)
|
||||
{
|
||||
if ([_delegate respondsToSelector: @selector(outlineView:viewForTableColumn:item:)])
|
||||
{
|
||||
view = [_delegate outlineView: self
|
||||
viewForTableColumn: tb
|
||||
item: item];
|
||||
}
|
||||
else
|
||||
{
|
||||
view = [self _prototypeCellViewFromTableColumn: tb];
|
||||
}
|
||||
}
|
||||
|
||||
[view setFrame: drawingRect];
|
||||
[self _setRenderedView: view forPath: path];
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -6963,38 +6963,6 @@ For a more detailed explanation, -setSortDescriptors:. */
|
|||
return view;
|
||||
}
|
||||
|
||||
- (NSView *) _delegateInvocationForRowIndex: (NSInteger)rowIndex
|
||||
inColumn: (NSInteger)columnIndex
|
||||
{
|
||||
NSTableColumn *tb = [_tableColumns objectAtIndex: columnIndex];
|
||||
NSIndexPath *path = [NSIndexPath indexPathForItem: columnIndex
|
||||
inSection: rowIndex];
|
||||
NSView *view = [self _renderedViewForPath: path];
|
||||
NSRect drawingRect = [self frameOfCellAtColumn: columnIndex
|
||||
row: rowIndex];
|
||||
|
||||
// If the view has been stored use it, if not
|
||||
// then grab it.
|
||||
if (view == nil)
|
||||
{
|
||||
if ([_delegate respondsToSelector: @selector(tableView:viewForTableColumn:row:)])
|
||||
{
|
||||
view = [_delegate tableView: self
|
||||
viewForTableColumn: tb
|
||||
row: rowIndex];
|
||||
}
|
||||
else
|
||||
{
|
||||
view = [self _prototypeCellViewFromTableColumn: tb];
|
||||
}
|
||||
}
|
||||
|
||||
[view setFrame: drawingRect];
|
||||
[self _setRenderedView: view forPath: path];
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
- (NSTableRowView *) rowViewAtRow: (NSInteger)row makeIfNecessary: (BOOL)flag
|
||||
{
|
||||
NSTableRowView *rv = nil;
|
||||
|
@ -7043,8 +7011,32 @@ For a more detailed explanation, -setSortDescriptors:. */
|
|||
|
||||
- (NSView *) viewAtColumn: (NSInteger)column row: (NSInteger)row makeIfNecessary: (BOOL)flag
|
||||
{
|
||||
NSIndexPath *path = [NSIndexPath indexPathForItem: row inSection: column];
|
||||
NSView *view = [_renderedViewPaths objectForKey: path];
|
||||
NSTableColumn *tb = [_tableColumns objectAtIndex: column];
|
||||
NSIndexPath *path = [NSIndexPath indexPathForItem: column
|
||||
inSection: row];
|
||||
NSView *view = [self _renderedViewForPath: path];
|
||||
NSRect drawingRect = [self frameOfCellAtColumn: column
|
||||
row: row];
|
||||
|
||||
// If the view has been stored use it, if not
|
||||
// then grab it.
|
||||
if (view == nil
|
||||
&& flag == YES)
|
||||
{
|
||||
if ([_delegate respondsToSelector: @selector(tableView:viewForTableColumn:row:)])
|
||||
{
|
||||
view = [_delegate tableView: self
|
||||
viewForTableColumn: tb
|
||||
row: row];
|
||||
}
|
||||
else
|
||||
{
|
||||
view = [self _prototypeCellViewFromTableColumn: tb];
|
||||
}
|
||||
}
|
||||
|
||||
[view setFrame: drawingRect];
|
||||
[self _setRenderedView: view forPath: path];
|
||||
|
||||
return view;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue