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);
+	}
+}
+