mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-05-30 14:30:38 +00:00
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:
parent
f0fbcf363d
commit
5592d9996b
18 changed files with 1553 additions and 143 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue