Mercurial > projects > dstep
diff dstep/foundation/NSNumberFormatter.d @ 14:89f3c3ef1fd2
Added the Foundation framework
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Mon, 03 Aug 2009 15:23:15 +0200 |
parents | |
children | 19885b43130e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/foundation/NSNumberFormatter.d Mon Aug 03 15:23:15 2009 +0200 @@ -0,0 +1,748 @@ +/** + * Copyright: Copyright (c) 2009 Jacob Carlborg. + * Authors: Jacob Carlborg + * Version: Initial created: Aug 3, 2009 + * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) + */ +module dstep.foundation.NSNumberFormatter; + +import dstep.corefoundation.CFNumberFormatter; +import dstep.foundation.NSDecimalNumberHandler; +import dstep.foundation.NSError; +import dstep.foundation.NSFormatter; +import dstep.foundation.NSLocale; +import dstep.foundation.NSMutableDictionary; +import dstep.objc.bridge.Bridge; +import dstep.objc.objc : id; + +alias NSUInteger NSNumberFormatterStyle; +alias NSUInteger NSNumberFormatterBehavior; +alias NSUInteger NSNumberFormatterPadPosition; +alias NSUInteger NSNumberFormatterRoundingMode; + +enum +{ + NSNumberFormatterNoStyle = kCFNumberFormatterNoStyle, + NSNumberFormatterDecimalStyle = kCFNumberFormatterDecimalStyle, + NSNumberFormatterCurrencyStyle = kCFNumberFormatterCurrencyStyle, + NSNumberFormatterPercentStyle = kCFNumberFormatterPercentStyle, + NSNumberFormatterScientificStyle = kCFNumberFormatterScientificStyle, + NSNumberFormatterSpellOutStyle = kCFNumberFormatterSpellOutStyle +} + +enum +{ + NSNumberFormatterBehaviorDefault = 0, + NSNumberFormatterBehavior10_0 = 1000, + NSNumberFormatterBehavior10_4 = 1040 +} + +enum +{ + NSNumberFormatterPadBeforePrefix = kCFNumberFormatterPadBeforePrefix, + NSNumberFormatterPadAfterPrefix = kCFNumberFormatterPadAfterPrefix, + NSNumberFormatterPadBeforeSuffix = kCFNumberFormatterPadBeforeSuffix, + NSNumberFormatterPadAfterSuffix = kCFNumberFormatterPadAfterSuffix +} + +enum +{ + NSNumberFormatterRoundCeiling = kCFNumberFormatterRoundCeiling, + NSNumberFormatterRoundFloor = kCFNumberFormatterRoundFloor, + NSNumberFormatterRoundDown = kCFNumberFormatterRoundDown, + NSNumberFormatterRoundUp = kCFNumberFormatterRoundUp, + NSNumberFormatterRoundHalfEven = kCFNumberFormatterRoundHalfEven, + NSNumberFormatterRoundHalfDown = kCFNumberFormatterRoundHalfDown, + NSNumberFormatterRoundHalfUp = kCFNumberFormatterRoundHalfUp +} + +class NSNumberFormatter : NSFormatter +{ + mixin ObjcWrap; + mixin TNSNumberFormatterCompatibility; + + Object init () + { + return invokeObjcSelf!(Object, "init"); + } + + this () + { + objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); + id result = Bridge.invokeObjcMethod!(id, "init")(objcObject); + + if (result) + objcObject = ret; + + dObject = this; + } + + bool getObjectValue (id* obj, NSString string, NSRange* rangep, NSError** error) + { + return invokeObjcSelf!(bool, "getObjectValue:forString:range:error:", id*, NSString, NSRange*, NSError**)(obj, string, rangep, error); + } + + NSString stringFromNumber (NSNumber number) + { + return invokeObjcSelf!(NSString, "stringFromNumber:", NSNumber)(number); + } + + NSNumber numberFromString (NSString string) + { + return invokeObjcSelf!(NSNumber, "numberFromString:", NSString)(string); + } + + uint numberStyle () + { + return invokeObjcSelf!(uint, "numberStyle"); + } + + void setNumberStyle (uint style) + { + return invokeObjcSelf!(void, "setNumberStyle:", uint)(style); + } + + NSLocale locale () + { + return invokeObjcSelf!(NSLocale, "locale"); + } + + void setLocale (NSLocale locale) + { + return invokeObjcSelf!(void, "setLocale:", NSLocale)(locale); + } + + bool generatesDecimalNumbers () + { + return invokeObjcSelf!(bool, "generatesDecimalNumbers"); + } + + void setGeneratesDecimalNumbers (bool b) + { + return invokeObjcSelf!(void, "setGeneratesDecimalNumbers:", bool)(b); + } + + uint formatterBehavior () + { + return invokeObjcSelf!(uint, "formatterBehavior"); + } + + void setFormatterBehavior (uint behavior) + { + return invokeObjcSelf!(void, "setFormatterBehavior:", uint)(behavior); + } + + static uint defaultFormatterBehavior () + { + return invokeObjcSelfClass!(uint, "defaultFormatterBehavior"); + } + + static void setDefaultFormatterBehavior (uint behavior) + { + return invokeObjcSelfClass!(void, "setDefaultFormatterBehavior:", uint)(behavior); + } + + NSString negativeFormat () + { + return invokeObjcSelf!(NSString, "negativeFormat"); + } + + void setNegativeFormat (NSString format) + { + return invokeObjcSelf!(void, "setNegativeFormat:", NSString)(format); + } + + NSDictionary textAttributesForNegativeValues () + { + return invokeObjcSelf!(NSDictionary, "textAttributesForNegativeValues"); + } + + void setTextAttributesForNegativeValues (NSDictionary newAttributes) + { + return invokeObjcSelf!(void, "setTextAttributesForNegativeValues:", NSDictionary)(newAttributes); + } + + NSString positiveFormat () + { + return invokeObjcSelf!(NSString, "positiveFormat"); + } + + void setPositiveFormat (NSString format) + { + return invokeObjcSelf!(void, "setPositiveFormat:", NSString)(format); + } + + NSDictionary textAttributesForPositiveValues () + { + return invokeObjcSelf!(NSDictionary, "textAttributesForPositiveValues"); + } + + void setTextAttributesForPositiveValues (NSDictionary newAttributes) + { + return invokeObjcSelf!(void, "setTextAttributesForPositiveValues:", NSDictionary)(newAttributes); + } + + bool allowsFloats () + { + return invokeObjcSelf!(bool, "allowsFloats"); + } + + void setAllowsFloats (bool flag) + { + return invokeObjcSelf!(void, "setAllowsFloats:", bool)(flag); + } + + NSString decimalSeparator () + { + return invokeObjcSelf!(NSString, "decimalSeparator"); + } + + void setDecimalSeparator (NSString string) + { + return invokeObjcSelf!(void, "setDecimalSeparator:", NSString)(string); + } + + bool alwaysShowsDecimalSeparator () + { + return invokeObjcSelf!(bool, "alwaysShowsDecimalSeparator"); + } + + void setAlwaysShowsDecimalSeparator (bool b) + { + return invokeObjcSelf!(void, "setAlwaysShowsDecimalSeparator:", bool)(b); + } + + NSString currencyDecimalSeparator () + { + return invokeObjcSelf!(NSString, "currencyDecimalSeparator"); + } + + void setCurrencyDecimalSeparator (NSString string) + { + return invokeObjcSelf!(void, "setCurrencyDecimalSeparator:", NSString)(string); + } + + bool usesGroupingSeparator () + { + return invokeObjcSelf!(bool, "usesGroupingSeparator"); + } + + void setUsesGroupingSeparator (bool b) + { + return invokeObjcSelf!(void, "setUsesGroupingSeparator:", bool)(b); + } + + NSString groupingSeparator () + { + return invokeObjcSelf!(NSString, "groupingSeparator"); + } + + void setGroupingSeparator (NSString string) + { + return invokeObjcSelf!(void, "setGroupingSeparator:", NSString)(string); + } + + NSString zeroSymbol () + { + return invokeObjcSelf!(NSString, "zeroSymbol"); + } + + void setZeroSymbol (NSString string) + { + return invokeObjcSelf!(void, "setZeroSymbol:", NSString)(string); + } + + NSDictionary textAttributesForZero () + { + return invokeObjcSelf!(NSDictionary, "textAttributesForZero"); + } + + void setTextAttributesForZero (NSDictionary newAttributes) + { + return invokeObjcSelf!(void, "setTextAttributesForZero:", NSDictionary)(newAttributes); + } + + NSString nilSymbol () + { + return invokeObjcSelf!(NSString, "nilSymbol"); + } + + void setNilSymbol (NSString string) + { + return invokeObjcSelf!(void, "setNilSymbol:", NSString)(string); + } + + NSDictionary textAttributesForNil () + { + return invokeObjcSelf!(NSDictionary, "textAttributesForNil"); + } + + void setTextAttributesForNil (NSDictionary newAttributes) + { + return invokeObjcSelf!(void, "setTextAttributesForNil:", NSDictionary)(newAttributes); + } + + NSString notANumberSymbol () + { + return invokeObjcSelf!(NSString, "notANumberSymbol"); + } + + void setNotANumberSymbol (NSString string) + { + return invokeObjcSelf!(void, "setNotANumberSymbol:", NSString)(string); + } + + NSDictionary textAttributesForNotANumber () + { + return invokeObjcSelf!(NSDictionary, "textAttributesForNotANumber"); + } + + void setTextAttributesForNotANumber (NSDictionary newAttributes) + { + return invokeObjcSelf!(void, "setTextAttributesForNotANumber:", NSDictionary)(newAttributes); + } + + NSString positiveInfinitySymbol () + { + return invokeObjcSelf!(NSString, "positiveInfinitySymbol"); + } + + void setPositiveInfinitySymbol (NSString string) + { + return invokeObjcSelf!(void, "setPositiveInfinitySymbol:", NSString)(string); + } + + NSDictionary textAttributesForPositiveInfinity () + { + return invokeObjcSelf!(NSDictionary, "textAttributesForPositiveInfinity"); + } + + void setTextAttributesForPositiveInfinity (NSDictionary newAttributes) + { + return invokeObjcSelf!(void, "setTextAttributesForPositiveInfinity:", NSDictionary)(newAttributes); + } + + NSString negativeInfinitySymbol () + { + return invokeObjcSelf!(NSString, "negativeInfinitySymbol"); + } + + void setNegativeInfinitySymbol (NSString string) + { + return invokeObjcSelf!(void, "setNegativeInfinitySymbol:", NSString)(string); + } + + NSDictionary textAttributesForNegativeInfinity () + { + return invokeObjcSelf!(NSDictionary, "textAttributesForNegativeInfinity"); + } + + void setTextAttributesForNegativeInfinity (NSDictionary newAttributes) + { + return invokeObjcSelf!(void, "setTextAttributesForNegativeInfinity:", NSDictionary)(newAttributes); + } + + NSString positivePrefix () + { + return invokeObjcSelf!(NSString, "positivePrefix"); + } + + void setPositivePrefix (NSString string) + { + return invokeObjcSelf!(void, "setPositivePrefix:", NSString)(string); + } + + NSString positiveSuffix () + { + return invokeObjcSelf!(NSString, "positiveSuffix"); + } + + void setPositiveSuffix (NSString string) + { + return invokeObjcSelf!(void, "setPositiveSuffix:", NSString)(string); + } + + NSString negativePrefix () + { + return invokeObjcSelf!(NSString, "negativePrefix"); + } + + void setNegativePrefix (NSString string) + { + return invokeObjcSelf!(void, "setNegativePrefix:", NSString)(string); + } + + NSString negativeSuffix () + { + return invokeObjcSelf!(NSString, "negativeSuffix"); + } + + void setNegativeSuffix (NSString string) + { + return invokeObjcSelf!(void, "setNegativeSuffix:", NSString)(string); + } + + NSString currencyCode () + { + return invokeObjcSelf!(NSString, "currencyCode"); + } + + void setCurrencyCode (NSString string) + { + return invokeObjcSelf!(void, "setCurrencyCode:", NSString)(string); + } + + NSString currencySymbol () + { + return invokeObjcSelf!(NSString, "currencySymbol"); + } + + void setCurrencySymbol (NSString string) + { + return invokeObjcSelf!(void, "setCurrencySymbol:", NSString)(string); + } + + NSString internationalCurrencySymbol () + { + return invokeObjcSelf!(NSString, "internationalCurrencySymbol"); + } + + void setInternationalCurrencySymbol (NSString string) + { + return invokeObjcSelf!(void, "setInternationalCurrencySymbol:", NSString)(string); + } + + NSString percentSymbol () + { + return invokeObjcSelf!(NSString, "percentSymbol"); + } + + void setPercentSymbol (NSString string) + { + return invokeObjcSelf!(void, "setPercentSymbol:", NSString)(string); + } + + NSString perMillSymbol () + { + return invokeObjcSelf!(NSString, "perMillSymbol"); + } + + void setPerMillSymbol (NSString string) + { + return invokeObjcSelf!(void, "setPerMillSymbol:", NSString)(string); + } + + NSString minusSign () + { + return invokeObjcSelf!(NSString, "minusSign"); + } + + void setMinusSign (NSString string) + { + return invokeObjcSelf!(void, "setMinusSign:", NSString)(string); + } + + NSString plusSign () + { + return invokeObjcSelf!(NSString, "plusSign"); + } + + void setPlusSign (NSString string) + { + return invokeObjcSelf!(void, "setPlusSign:", NSString)(string); + } + + NSString exponentSymbol () + { + return invokeObjcSelf!(NSString, "exponentSymbol"); + } + + void setExponentSymbol (NSString string) + { + return invokeObjcSelf!(void, "setExponentSymbol:", NSString)(string); + } + + NSUInteger groupingSize () + { + return invokeObjcSelf!(NSUInteger, "groupingSize"); + } + + void setGroupingSize (NSUInteger number) + { + return invokeObjcSelf!(void, "setGroupingSize:", NSUInteger)(number); + } + + NSUInteger secondaryGroupingSize () + { + return invokeObjcSelf!(NSUInteger, "secondaryGroupingSize"); + } + + void setSecondaryGroupingSize (NSUInteger number) + { + return invokeObjcSelf!(void, "setSecondaryGroupingSize:", NSUInteger)(number); + } + + NSNumber multiplier () + { + return invokeObjcSelf!(NSNumber, "multiplier"); + } + + void setMultiplier (NSNumber number) + { + return invokeObjcSelf!(void, "setMultiplier:", NSNumber)(number); + } + + NSUInteger formatWidth () + { + return invokeObjcSelf!(NSUInteger, "formatWidth"); + } + + void setFormatWidth (NSUInteger number) + { + return invokeObjcSelf!(void, "setFormatWidth:", NSUInteger)(number); + } + + NSString paddingCharacter () + { + return invokeObjcSelf!(NSString, "paddingCharacter"); + } + + void setPaddingCharacter (NSString string) + { + return invokeObjcSelf!(void, "setPaddingCharacter:", NSString)(string); + } + + uint paddingPosition () + { + return invokeObjcSelf!(uint, "paddingPosition"); + } + + void setPaddingPosition (uint position) + { + return invokeObjcSelf!(void, "setPaddingPosition:", uint)(position); + } + + uint roundingMode () + { + return invokeObjcSelf!(uint, "roundingMode"); + } + + void setRoundingMode (uint mode) + { + return invokeObjcSelf!(void, "setRoundingMode:", uint)(mode); + } + + NSNumber roundingIncrement () + { + return invokeObjcSelf!(NSNumber, "roundingIncrement"); + } + + void setRoundingIncrement (NSNumber number) + { + return invokeObjcSelf!(void, "setRoundingIncrement:", NSNumber)(number); + } + + NSUInteger minimumIntegerDigits () + { + return invokeObjcSelf!(NSUInteger, "minimumIntegerDigits"); + } + + void setMinimumIntegerDigits (NSUInteger number) + { + return invokeObjcSelf!(void, "setMinimumIntegerDigits:", NSUInteger)(number); + } + + NSUInteger maximumIntegerDigits () + { + return invokeObjcSelf!(NSUInteger, "maximumIntegerDigits"); + } + + void setMaximumIntegerDigits (NSUInteger number) + { + return invokeObjcSelf!(void, "setMaximumIntegerDigits:", NSUInteger)(number); + } + + NSUInteger minimumFractionDigits () + { + return invokeObjcSelf!(NSUInteger, "minimumFractionDigits"); + } + + void setMinimumFractionDigits (NSUInteger number) + { + return invokeObjcSelf!(void, "setMinimumFractionDigits:", NSUInteger)(number); + } + + NSUInteger maximumFractionDigits () + { + return invokeObjcSelf!(NSUInteger, "maximumFractionDigits"); + } + + void setMaximumFractionDigits (NSUInteger number) + { + return invokeObjcSelf!(void, "setMaximumFractionDigits:", NSUInteger)(number); + } + + NSNumber minimum () + { + return invokeObjcSelf!(NSNumber, "minimum"); + } + + void setMinimum (NSNumber number) + { + return invokeObjcSelf!(void, "setMinimum:", NSNumber)(number); + } + + NSNumber maximum () + { + return invokeObjcSelf!(NSNumber, "maximum"); + } + + void setMaximum (NSNumber number) + { + return invokeObjcSelf!(void, "setMaximum:", NSNumber)(number); + } + + NSString currencyGroupingSeparator () + { + return invokeObjcSelf!(NSString, "currencyGroupingSeparator"); + } + + void setCurrencyGroupingSeparator (NSString string) + { + return invokeObjcSelf!(void, "setCurrencyGroupingSeparator:", NSString)(string); + } + + bool isLenient () + { + return invokeObjcSelf!(bool, "isLenient"); + } + + void setLenient (bool b) + { + return invokeObjcSelf!(void, "setLenient:", bool)(b); + } + + bool usesSignificantDigits () + { + return invokeObjcSelf!(bool, "usesSignificantDigits"); + } + + void setUsesSignificantDigits (bool b) + { + return invokeObjcSelf!(void, "setUsesSignificantDigits:", bool)(b); + } + + NSUInteger minimumSignificantDigits () + { + return invokeObjcSelf!(NSUInteger, "minimumSignificantDigits"); + } + + void setMinimumSignificantDigits (NSUInteger number) + { + return invokeObjcSelf!(void, "setMinimumSignificantDigits:", NSUInteger)(number); + } + + NSUInteger maximumSignificantDigits () + { + return invokeObjcSelf!(NSUInteger, "maximumSignificantDigits"); + } + + void setMaximumSignificantDigits (NSUInteger number) + { + return invokeObjcSelf!(void, "setMaximumSignificantDigits:", NSUInteger)(number); + } + + bool isPartialStringValidationEnabled () + { + return invokeObjcSelf!(bool, "isPartialStringValidationEnabled"); + } + + void setPartialStringValidationEnabled (bool b) + { + return invokeObjcSelf!(void, "setPartialStringValidationEnabled:", bool)(b); + } +} + +template TNSNumberFormatterCompatibility () +{ + bool hasThousandSeparators () + { + return invokeObjcSelf!(bool, "hasThousandSeparators"); + } + + void setHasThousandSeparators (bool flag) + { + return invokeObjcSelf!(void, "setHasThousandSeparators:", bool)(flag); + } + + NSString thousandSeparator () + { + return invokeObjcSelf!(NSString, "thousandSeparator"); + } + + void setThousandSeparator (NSString newSeparator) + { + return invokeObjcSelf!(void, "setThousandSeparator:", NSString)(newSeparator); + } + + bool localizesFormat () + { + return invokeObjcSelf!(bool, "localizesFormat"); + } + + void setLocalizesFormat (bool flag) + { + return invokeObjcSelf!(void, "setLocalizesFormat:", bool)(flag); + } + + NSString format () + { + return invokeObjcSelf!(NSString, "format"); + } + + void setFormat (NSString string) + { + return invokeObjcSelf!(void, "setFormat:", NSString)(string); + } + + NSAttributedString attributedStringForZero () + { + return invokeObjcSelf!(NSAttributedString, "attributedStringForZero"); + } + + void setAttributedStringForZero (NSAttributedString newAttributedString) + { + return invokeObjcSelf!(void, "setAttributedStringForZero:", NSAttributedString)(newAttributedString); + } + + NSAttributedString attributedStringForNil () + { + return invokeObjcSelf!(NSAttributedString, "attributedStringForNil"); + } + + void setAttributedStringForNil (NSAttributedString newAttributedString) + { + return invokeObjcSelf!(void, "setAttributedStringForNil:", NSAttributedString)(newAttributedString); + } + + NSAttributedString attributedStringForNotANumber () + { + return invokeObjcSelf!(NSAttributedString, "attributedStringForNotANumber"); + } + + void setAttributedStringForNotANumber (NSAttributedString newAttributedString) + { + return invokeObjcSelf!(void, "setAttributedStringForNotANumber:", NSAttributedString)(newAttributedString); + } + + NSDecimalNumberHandler roundingBehavior () + { + return invokeObjcSelf!(NSDecimalNumberHandler, "roundingBehavior"); + } + + void setRoundingBehavior (NSDecimalNumberHandler newRoundingBehavior) + { + return invokeObjcSelf!(void, "setRoundingBehavior:", NSDecimalNumberHandler)(newRoundingBehavior); + } +} +