Implemented textContainerChangeTextView:

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8483 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
nico 2001-01-07 00:57:23 +00:00
parent 2d4e6ceb4c
commit 1a11570535

View file

@ -409,24 +409,24 @@ static NSComparisonResult aSort(GSIArrayItem i0, GSIArrayItem i1)
- (void) addTextContainer: (NSTextContainer*)obj - (void) addTextContainer: (NSTextContainer*)obj
{ {
if ([_textContainers indexOfObjectIdenticalTo: obj] == NSNotFound) if ([_textContainers indexOfObjectIdenticalTo: obj] == NSNotFound)
{ {
int i; int i;
[_textContainers addObject: obj]; [_textContainers addObject: obj];
[obj setLayoutManager: self]; [obj setLayoutManager: self];
// TODO: Invalidate layout // TODO: Invalidate layout
_textContainersCount++; _textContainersCount++;
/* NB: We do not retain this here ! It's already retained in the /* NB: We do not retain this here ! It's already retained in the
array. */ array. */
_firstTextView = [(NSTextContainer *)[_textContainers objectAtIndex: 0] _firstTextView = [(NSTextContainer *)[_textContainers objectAtIndex: 0]
textView]; textView];
for (i = 0; i < _textContainersCount; i++) for (i = 0; i < _textContainersCount; i++)
{ {
NSTextView *tv = [[_textContainers objectAtIndex: i] textView]; NSTextView *tv = [[_textContainers objectAtIndex: i] textView];
[tv _updateMultipleTextViews]; [tv _updateMultipleTextViews];
} }
} }
} }
/* Insert a container into the array before the container at index. /* Insert a container into the array before the container at index.
@ -537,10 +537,36 @@ static NSComparisonResult aSort(GSIArrayItem i0, GSIArrayItem i1)
actualCharacterRange: NULL]; actualCharacterRange: NULL];
} }
// Called by NSTextContainer whenever its textView changes. Used to /* Called by NSTextContainer whenever its textView changes. Used to
// keep notifications in synch. keep notifications in synch. */
- (void) textContainerChangedTextView: (NSTextContainer*)aContainer - (void) textContainerChangedTextView: (NSTextContainer*)aContainer
{ {
/* It only makes sense if we have more than one text container */
if (_textContainersCount > 1)
{
unsigned index;
index = [_textContainers indexOfObjectIdenticalTo: aContainer];
if (index != NSNotFound)
{
if (index == 0)
{
/* It's the first text view. Need to update everything. */
int i;
_firstTextView = [aContainer textView];
for (i = 0; i < _textContainersCount; i++)
{
NSTextView *tv;
tv = [[_textContainers objectAtIndex: i] textView];
[tv _updateMultipleTextViews];
}
}
}
}
} }
// Sent from processEditing in NSTextStorage. newCharRange is the // Sent from processEditing in NSTextStorage. newCharRange is the
@ -1158,8 +1184,8 @@ needs to be redrawn when a range of glyphs changes. */
return 0; return 0;
} }
- (unsigned)glyphIndexForPoint:(NSPoint)aPoint - (unsigned) glyphIndexForPoint: (NSPoint)aPoint
inTextContainer:(NSTextContainer *)aTextContainer inTextContainer: (NSTextContainer *)aTextContainer
{ {
return [self glyphIndexForPoint: aPoint return [self glyphIndexForPoint: aPoint
inTextContainer: aTextContainer inTextContainer: aTextContainer