• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Initializing NSDecimalTabStopType returns NSRightTabStopType
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Initializing NSDecimalTabStopType returns NSRightTabStopType


  • Subject: Re: Initializing NSDecimalTabStopType returns NSRightTabStopType
  • From: Ross Carter <email@hidden>
  • Date: Fri, 22 Feb 2008 12:24:26 -0500

Thanks, Aki. That's exactly what I needed. This now works:

NSTextTabType tabType = [textTab tabStopType];
if (tabType == NSRightTabStopType && [[textTab options] objectForKey:NSTabColumnTerminatorsAttributeName] != nil) tabType = NSDecimalTabStopType;


Ross





On Feb 21, 2008, at 5:48 PM, Aki Inoue wrote:

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@hidden)

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:
This email sent to email@hidden



_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:
This email sent to email@hidden


References: 
 >Initializing NSDecimalTabStopType returns NSRightTabStopType (From: Ross Carter <email@hidden>)
 >Re: Initializing NSDecimalTabStopType returns NSRightTabStopType (From: Aki Inoue <email@hidden>)

  • Prev by Date: Re: Listener related crashing bug releasing subviews of a custom view
  • Next by Date: Re: Unobserved Changes
  • Previous by thread: Re: Initializing NSDecimalTabStopType returns NSRightTabStopType
  • Next by thread: xibs working OK?
  • Index(es):
    • Date
    • Thread