In an application I'm working on, I read in plain text files containing data to 
be analyzed.  This uses a slightly-modified version of MyDocument.m that is 
produced as a result of starting a project with the template for NSDocument 
architecture.  The modification that I made was to add a method named 
updateView, which is called near the end of windowControllerDidLoadNib and 
loadDataRepresentation: ofType:  

My reason for adding this method is to make the spacing of tabs something that 
works well for the sort of data files being analyzed, which presume tabs are 
used to separate values being analyzed.  Here's the code:

- (void)updateView {
        DBOut(@"updateView was called from MyDocument");
        
        [[self textView] setString:[self string]];
        
        // code to set tab stops, as suggested by PGM   
        int cnt;
        int numStops = 200;
        int tabInterval = 80;
        NSTextTab *tabStop;
         
        NSMutableDictionary *attrs = [[NSMutableDictionary alloc] init]; 
//attributes for attributed string of TextView
         
        NSMutableParagraphStyle *paraStyle = [[NSMutableParagraphStyle alloc] 
init];

        [paraStyle setTabStops:[NSArray array]];  // clear all tab stops

        // now put in tab stops at desired intervals
        for (cnt = 0; cnt < numStops; cnt++) {
                tabStop = [[NSTextTab alloc] initWithType:NSLeftTabStopType 
location:tabInterval*(cnt+1)];
                [paraStyle addTabStop:tabStop];
                [tabStop release];
        }

        [attrs setObject:paraStyle forKey:NSParagraphStyleAttributeName];
        [paraStyle release];
         
        [[textView textStorage] addAttributes:attrs range:NSMakeRange(0, 
[[[textView textStorage] string] length])];
        [attrs release];
}


When my application opens a text file, the insertion point is blinking 
immediately after the last character on the last line.  If I then hit the tab 
key, the insertion point moves over the correct distance.  However, if I hit 
the return key when the file is first opened, the insertion point moves to the 
start of the next line; if I then hit the tab key the insertion point moves it 
over too few spaces (presumably the default distance rather than what I tried 
to set in the above code).  

What am I missing?

Boyd_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to