mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-05-20 14:27:41 +00:00
* NSView.h added specific values and comments to resize constants enum.
* NSView.m implemented resizeWithOldSuperviewSize (needs work). * NSMatrix.m mousedown clarified description comment. * NSSavePanel.m integrated source from Daniel B�hringer into premliminary implementations provided by Scott Christley. * NSSavePanel.h integrated source from Daniel B�hringer into premliminary implementations provided by Scott Christley. * NSOpenPanel.m integrated source from Daniel B�hringer into premliminary implementations provided by Scott Christley. * NSOpenPanel.h integrated source from Daniel B�hringer into premliminary implementations provided by Scott Christley. * NSStringDrawing.h defined NSAttributedString portion of extension. * NSAttributedString.h created preliminary implementation of extension. * Appkit.h added includes for NSAttributedString and NSStringDrawing. * NSPasteboard.h added extern NSRTFDPboardType define. * externs.m defined NSRTFDPboardType. * NSText.h integrated source from Daniel B�hringer * NSTextView.m preliminary implementation from Daniel B�hringer * NSTextView.h preliminary implementation from Daniel B�hringer * NSSplitView.m in drawRect use NSRectFill() git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2934 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
80825f3b17
commit
fd64d9ffb9
18 changed files with 606 additions and 297 deletions
|
@ -3,9 +3,9 @@
|
|||
|
||||
Copyright (C) 1996 Free Software Foundation, Inc.
|
||||
|
||||
Author: Ovidiu Predescu <ovidiu@net-community.com>
|
||||
Date: January 1998
|
||||
|
||||
Author: Daniel Bðhringer <boehring@biomed.ruhr-uni-bochum.de>
|
||||
Date: August 1998
|
||||
|
||||
This file is part of the GNUstep GUI Library.
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
|
@ -23,7 +23,75 @@
|
|||
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#import <AppKit/NSTextView.h>
|
||||
#include <AppKit/NSTextView.h>
|
||||
#include <AppKit/NSPasteboard.h>
|
||||
|
||||
|
||||
@implementation NSTextView
|
||||
|
||||
-(void) insertText:(NSString *)insertString
|
||||
{ // update previous line in case a word
|
||||
// moved up on becoming shorter
|
||||
unsigned lineIndex = MAX(0, [self lineLayoutIndexForCharacterIndex:
|
||||
[self selectedRange].location - 1]);
|
||||
|
||||
//if(![delegate textDid...]) return; // also send notifications
|
||||
|
||||
if([self isRichText])
|
||||
{
|
||||
[self replaceRange:[self selectedRange]
|
||||
withAttributedString:[[[NSAttributedString alloc]
|
||||
initWithString:insertString attributes:[self typingAttributes]]
|
||||
autorelease]];
|
||||
[self rebuildRichLineLayoutInformationStartingAtLine:lineIndex];
|
||||
}
|
||||
else
|
||||
{
|
||||
[self replaceRange:[self selectedRange] withString:insertString];
|
||||
[self rebuildPlainLineLayoutInformationStartingAtLine:lineIndex];
|
||||
} // move the cursor
|
||||
[self setSelectedRange:NSMakeRange([self selectedRange].location +
|
||||
[insertString length],0)];
|
||||
// [self displayRect:NSUnionRect([[lineLayoutInformation
|
||||
// objectAtIndex:lineIndex] lineRect],
|
||||
// [[lineLayoutInformation lastObject]lineRect])];
|
||||
}
|
||||
|
||||
- (NSArray*)acceptableDragTypes
|
||||
{
|
||||
NSMutableArray *ret = [NSMutableArray arrayWithObjects:NSStringPboardType,
|
||||
NSColorPboardType, nil];
|
||||
|
||||
if([self isRichText])
|
||||
[ret addObject:NSRTFPboardType];
|
||||
if([self importsGraphics])
|
||||
[ret addObject:NSRTFDPboardType];
|
||||
return ret;
|
||||
}
|
||||
|
||||
- (void)updateDragTypeRegistration
|
||||
{
|
||||
[self registerForDraggedTypes:[self acceptableDragTypes]];
|
||||
}
|
||||
|
||||
- (NSRange) selectionRangeForProposedRange:(NSRange)proposedCharRange
|
||||
granularity:(NSSelectionGranularity)granularity
|
||||
{
|
||||
switch(granularity)
|
||||
{
|
||||
case NSSelectByCharacter:
|
||||
return proposedCharRange;
|
||||
|
||||
case NSSelectByWord:
|
||||
{ //selectionWordGranularitySet
|
||||
}
|
||||
break;
|
||||
case NSSelectByParagraph:
|
||||
{ //selectionParagraphGranularitySet
|
||||
}
|
||||
break;
|
||||
}
|
||||
return proposedCharRange;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue