Initial implementation of NSBrowser and NSBrowserCell.

Numerous bug fixes.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2596 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
scottc 1997-10-31 01:24:08 +00:00
parent f0fbcf363d
commit 5592d9996b
18 changed files with 1553 additions and 143 deletions

View file

@ -883,18 +883,30 @@ static NSRecursiveLock *gnustep_gui_nsview_lock = nil;
- (void)_removeSubviewFromViewsThatNeedDisplay:(NSView*)view
{
// If no subviews need to be displayed then
// then view must not be among them
if (!_subviewsThatNeedDisplay)
return;
/* Remove view from the list of subviews that need display */
if (_subviewsThatNeedDisplay == view)
_subviewsThatNeedDisplay = view->_nextSiblingSubviewThatNeedsDisplay;
{
_subviewsThatNeedDisplay = view->_nextSiblingSubviewThatNeedsDisplay;
[view _recursivelyResetNeedsDisplayInAllViews];
}
else {
NSView* currentView;
for (currentView = _subviewsThatNeedDisplay;
currentView->_nextSiblingSubviewThatNeedsDisplay;
currentView && currentView->_nextSiblingSubviewThatNeedsDisplay;
currentView = currentView->_nextSiblingSubviewThatNeedsDisplay)
if (currentView->_nextSiblingSubviewThatNeedsDisplay == view)
currentView->_nextSiblingSubviewThatNeedsDisplay
{
currentView->_nextSiblingSubviewThatNeedsDisplay
= view->_nextSiblingSubviewThatNeedsDisplay;
[view _recursivelyResetNeedsDisplayInAllViews];
break;
}
}
}
@ -934,6 +946,7 @@ static NSRecursiveLock *gnustep_gui_nsview_lock = nil;
currentView = nextView;
}
_subviewsThatNeedDisplay = NULL;
_nextSiblingSubviewThatNeedsDisplay = NULL;
}
- (void)_displayNeededViews