Ross,

Thank you for filing the bug.

Indeed there is a bug in NSTextTab.

Fortunately, it only affects -tabStopType method. The actual instance created works as a decimal tab.

Aki

On 2008/02/21, at 14:30, Ross Carter wrote:
I've filed a bug on this (5757951) but I hope there's a workaround. The initializer for creating a NSTextTab of type NSDecimalTabStopType is initWithAlignment:(NSTextAlignment)alignment location:(CGFloat)location options:(NSDictionary *)options. There is no NSTextAlignment for dec tabs, so you use NSRightTextAlignment, and the initializer apparently figures out that you want a decimal tab by looking in the options dictionary.

But usually I get a right-aligned textTab even though I've requested a decimal-aligned textTab. Sometimes an incantation can help:

// Create an options dictionary to be used in creating a decimal NSTextTab: NSCharacterSet *charSet = [NSCharacterSet characterSetWithCharactersInString:@"."]; NSDictionary *optionsDict = [NSDictionary dictionaryWithObject:charSet forKey:NSTabColumnTerminatorsAttributeName];
        
        // try to create a decimal NSTextTab using that options dict:
NSTextTab *textTab1 = [[NSTextTab alloc] initWithTextAlignment:NSRightTextAlignment
                                                                                
                                  location:location
                                                                                
                                   options:optionsDict];
        NSLog(@"tabStopType is %i", [textTab1 tabStopType]);
        // Doesn't work; tabStopType is 1 (right)
        
        // Create and release a default decimal NSTextTab:
NSTextTab *dummyTab = [[NSTextTab alloc] initWithType:NSDecimalTabStopType location:location];
        [dummyTab release];
        
// Now try again to create the decimal NSTextTab using the same options dict: NSTextTab *textTab2 = [[NSTextTab alloc] initWithTextAlignment:NSRightTextAlignment
                                                                                
                                  location:location
                                                                                
                                   options:optionsDict];
        NSLog(@"tabStopType is %i", [textTab2 tabStopType]);
        // It works; tabStopType is 3 (decimal)

but sometimes I get the right-aligned textTab no matter what.

Any ideas on a sure-fire way to initialize a decimal NSTextTab?

Ross
_______________________________________________

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/aki%40apple.com

This email sent to [EMAIL PROTECTED]

_______________________________________________

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 [EMAIL PROTECTED]

Reply via email to