FROM : Aki Inoue
DATE : Thu Feb 21 23:48:49 2008
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 (<email_removed>)
>
> 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/<email_removed>
>
> This email sent to <email_removed>
DATE : Thu Feb 21 23:48:49 2008
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 (<email_removed>)
>
> 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/<email_removed>
>
> This email sent to <email_removed>
| Related mails | Author | Date |
|---|---|---|
| Ross Carter | Feb 21, 23:30 | |
| Aki Inoue | Feb 21, 23:48 | |
| Ross Carter | Feb 22, 18:24 |






Cocoa mail archive

