comparison 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
comparison
equal deleted inserted replaced
13:4f583f7e242e 14:89f3c3ef1fd2
1 /**
2 * Copyright: Copyright (c) 2009 Jacob Carlborg.
3 * Authors: Jacob Carlborg
4 * Version: Initial created: Aug 3, 2009
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
6 */
7 module dstep.foundation.NSNumberFormatter;
8
9 import dstep.corefoundation.CFNumberFormatter;
10 import dstep.foundation.NSDecimalNumberHandler;
11 import dstep.foundation.NSError;
12 import dstep.foundation.NSFormatter;
13 import dstep.foundation.NSLocale;
14 import dstep.foundation.NSMutableDictionary;
15 import dstep.objc.bridge.Bridge;
16 import dstep.objc.objc : id;
17
18 alias NSUInteger NSNumberFormatterStyle;
19 alias NSUInteger NSNumberFormatterBehavior;
20 alias NSUInteger NSNumberFormatterPadPosition;
21 alias NSUInteger NSNumberFormatterRoundingMode;
22
23 enum
24 {
25 NSNumberFormatterNoStyle = kCFNumberFormatterNoStyle,
26 NSNumberFormatterDecimalStyle = kCFNumberFormatterDecimalStyle,
27 NSNumberFormatterCurrencyStyle = kCFNumberFormatterCurrencyStyle,
28 NSNumberFormatterPercentStyle = kCFNumberFormatterPercentStyle,
29 NSNumberFormatterScientificStyle = kCFNumberFormatterScientificStyle,
30 NSNumberFormatterSpellOutStyle = kCFNumberFormatterSpellOutStyle
31 }
32
33 enum
34 {
35 NSNumberFormatterBehaviorDefault = 0,
36 NSNumberFormatterBehavior10_0 = 1000,
37 NSNumberFormatterBehavior10_4 = 1040
38 }
39
40 enum
41 {
42 NSNumberFormatterPadBeforePrefix = kCFNumberFormatterPadBeforePrefix,
43 NSNumberFormatterPadAfterPrefix = kCFNumberFormatterPadAfterPrefix,
44 NSNumberFormatterPadBeforeSuffix = kCFNumberFormatterPadBeforeSuffix,
45 NSNumberFormatterPadAfterSuffix = kCFNumberFormatterPadAfterSuffix
46 }
47
48 enum
49 {
50 NSNumberFormatterRoundCeiling = kCFNumberFormatterRoundCeiling,
51 NSNumberFormatterRoundFloor = kCFNumberFormatterRoundFloor,
52 NSNumberFormatterRoundDown = kCFNumberFormatterRoundDown,
53 NSNumberFormatterRoundUp = kCFNumberFormatterRoundUp,
54 NSNumberFormatterRoundHalfEven = kCFNumberFormatterRoundHalfEven,
55 NSNumberFormatterRoundHalfDown = kCFNumberFormatterRoundHalfDown,
56 NSNumberFormatterRoundHalfUp = kCFNumberFormatterRoundHalfUp
57 }
58
59 class NSNumberFormatter : NSFormatter
60 {
61 mixin ObjcWrap;
62 mixin TNSNumberFormatterCompatibility;
63
64 Object init ()
65 {
66 return invokeObjcSelf!(Object, "init");
67 }
68
69 this ()
70 {
71 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass);
72 id result = Bridge.invokeObjcMethod!(id, "init")(objcObject);
73
74 if (result)
75 objcObject = ret;
76
77 dObject = this;
78 }
79
80 bool getObjectValue (id* obj, NSString string, NSRange* rangep, NSError** error)
81 {
82 return invokeObjcSelf!(bool, "getObjectValue:forString:range:error:", id*, NSString, NSRange*, NSError**)(obj, string, rangep, error);
83 }
84
85 NSString stringFromNumber (NSNumber number)
86 {
87 return invokeObjcSelf!(NSString, "stringFromNumber:", NSNumber)(number);
88 }
89
90 NSNumber numberFromString (NSString string)
91 {
92 return invokeObjcSelf!(NSNumber, "numberFromString:", NSString)(string);
93 }
94
95 uint numberStyle ()
96 {
97 return invokeObjcSelf!(uint, "numberStyle");
98 }
99
100 void setNumberStyle (uint style)
101 {
102 return invokeObjcSelf!(void, "setNumberStyle:", uint)(style);
103 }
104
105 NSLocale locale ()
106 {
107 return invokeObjcSelf!(NSLocale, "locale");
108 }
109
110 void setLocale (NSLocale locale)
111 {
112 return invokeObjcSelf!(void, "setLocale:", NSLocale)(locale);
113 }
114
115 bool generatesDecimalNumbers ()
116 {
117 return invokeObjcSelf!(bool, "generatesDecimalNumbers");
118 }
119
120 void setGeneratesDecimalNumbers (bool b)
121 {
122 return invokeObjcSelf!(void, "setGeneratesDecimalNumbers:", bool)(b);
123 }
124
125 uint formatterBehavior ()
126 {
127 return invokeObjcSelf!(uint, "formatterBehavior");
128 }
129
130 void setFormatterBehavior (uint behavior)
131 {
132 return invokeObjcSelf!(void, "setFormatterBehavior:", uint)(behavior);
133 }
134
135 static uint defaultFormatterBehavior ()
136 {
137 return invokeObjcSelfClass!(uint, "defaultFormatterBehavior");
138 }
139
140 static void setDefaultFormatterBehavior (uint behavior)
141 {
142 return invokeObjcSelfClass!(void, "setDefaultFormatterBehavior:", uint)(behavior);
143 }
144
145 NSString negativeFormat ()
146 {
147 return invokeObjcSelf!(NSString, "negativeFormat");
148 }
149
150 void setNegativeFormat (NSString format)
151 {
152 return invokeObjcSelf!(void, "setNegativeFormat:", NSString)(format);
153 }
154
155 NSDictionary textAttributesForNegativeValues ()
156 {
157 return invokeObjcSelf!(NSDictionary, "textAttributesForNegativeValues");
158 }
159
160 void setTextAttributesForNegativeValues (NSDictionary newAttributes)
161 {
162 return invokeObjcSelf!(void, "setTextAttributesForNegativeValues:", NSDictionary)(newAttributes);
163 }
164
165 NSString positiveFormat ()
166 {
167 return invokeObjcSelf!(NSString, "positiveFormat");
168 }
169
170 void setPositiveFormat (NSString format)
171 {
172 return invokeObjcSelf!(void, "setPositiveFormat:", NSString)(format);
173 }
174
175 NSDictionary textAttributesForPositiveValues ()
176 {
177 return invokeObjcSelf!(NSDictionary, "textAttributesForPositiveValues");
178 }
179
180 void setTextAttributesForPositiveValues (NSDictionary newAttributes)
181 {
182 return invokeObjcSelf!(void, "setTextAttributesForPositiveValues:", NSDictionary)(newAttributes);
183 }
184
185 bool allowsFloats ()
186 {
187 return invokeObjcSelf!(bool, "allowsFloats");
188 }
189
190 void setAllowsFloats (bool flag)
191 {
192 return invokeObjcSelf!(void, "setAllowsFloats:", bool)(flag);
193 }
194
195 NSString decimalSeparator ()
196 {
197 return invokeObjcSelf!(NSString, "decimalSeparator");
198 }
199
200 void setDecimalSeparator (NSString string)
201 {
202 return invokeObjcSelf!(void, "setDecimalSeparator:", NSString)(string);
203 }
204
205 bool alwaysShowsDecimalSeparator ()
206 {
207 return invokeObjcSelf!(bool, "alwaysShowsDecimalSeparator");
208 }
209
210 void setAlwaysShowsDecimalSeparator (bool b)
211 {
212 return invokeObjcSelf!(void, "setAlwaysShowsDecimalSeparator:", bool)(b);
213 }
214
215 NSString currencyDecimalSeparator ()
216 {
217 return invokeObjcSelf!(NSString, "currencyDecimalSeparator");
218 }
219
220 void setCurrencyDecimalSeparator (NSString string)
221 {
222 return invokeObjcSelf!(void, "setCurrencyDecimalSeparator:", NSString)(string);
223 }
224
225 bool usesGroupingSeparator ()
226 {
227 return invokeObjcSelf!(bool, "usesGroupingSeparator");
228 }
229
230 void setUsesGroupingSeparator (bool b)
231 {
232 return invokeObjcSelf!(void, "setUsesGroupingSeparator:", bool)(b);
233 }
234
235 NSString groupingSeparator ()
236 {
237 return invokeObjcSelf!(NSString, "groupingSeparator");
238 }
239
240 void setGroupingSeparator (NSString string)
241 {
242 return invokeObjcSelf!(void, "setGroupingSeparator:", NSString)(string);
243 }
244
245 NSString zeroSymbol ()
246 {
247 return invokeObjcSelf!(NSString, "zeroSymbol");
248 }
249
250 void setZeroSymbol (NSString string)
251 {
252 return invokeObjcSelf!(void, "setZeroSymbol:", NSString)(string);
253 }
254
255 NSDictionary textAttributesForZero ()
256 {
257 return invokeObjcSelf!(NSDictionary, "textAttributesForZero");
258 }
259
260 void setTextAttributesForZero (NSDictionary newAttributes)
261 {
262 return invokeObjcSelf!(void, "setTextAttributesForZero:", NSDictionary)(newAttributes);
263 }
264
265 NSString nilSymbol ()
266 {
267 return invokeObjcSelf!(NSString, "nilSymbol");
268 }
269
270 void setNilSymbol (NSString string)
271 {
272 return invokeObjcSelf!(void, "setNilSymbol:", NSString)(string);
273 }
274
275 NSDictionary textAttributesForNil ()
276 {
277 return invokeObjcSelf!(NSDictionary, "textAttributesForNil");
278 }
279
280 void setTextAttributesForNil (NSDictionary newAttributes)
281 {
282 return invokeObjcSelf!(void, "setTextAttributesForNil:", NSDictionary)(newAttributes);
283 }
284
285 NSString notANumberSymbol ()
286 {
287 return invokeObjcSelf!(NSString, "notANumberSymbol");
288 }
289
290 void setNotANumberSymbol (NSString string)
291 {
292 return invokeObjcSelf!(void, "setNotANumberSymbol:", NSString)(string);
293 }
294
295 NSDictionary textAttributesForNotANumber ()
296 {
297 return invokeObjcSelf!(NSDictionary, "textAttributesForNotANumber");
298 }
299
300 void setTextAttributesForNotANumber (NSDictionary newAttributes)
301 {
302 return invokeObjcSelf!(void, "setTextAttributesForNotANumber:", NSDictionary)(newAttributes);
303 }
304
305 NSString positiveInfinitySymbol ()
306 {
307 return invokeObjcSelf!(NSString, "positiveInfinitySymbol");
308 }
309
310 void setPositiveInfinitySymbol (NSString string)
311 {
312 return invokeObjcSelf!(void, "setPositiveInfinitySymbol:", NSString)(string);
313 }
314
315 NSDictionary textAttributesForPositiveInfinity ()
316 {
317 return invokeObjcSelf!(NSDictionary, "textAttributesForPositiveInfinity");
318 }
319
320 void setTextAttributesForPositiveInfinity (NSDictionary newAttributes)
321 {
322 return invokeObjcSelf!(void, "setTextAttributesForPositiveInfinity:", NSDictionary)(newAttributes);
323 }
324
325 NSString negativeInfinitySymbol ()
326 {
327 return invokeObjcSelf!(NSString, "negativeInfinitySymbol");
328 }
329
330 void setNegativeInfinitySymbol (NSString string)
331 {
332 return invokeObjcSelf!(void, "setNegativeInfinitySymbol:", NSString)(string);
333 }
334
335 NSDictionary textAttributesForNegativeInfinity ()
336 {
337 return invokeObjcSelf!(NSDictionary, "textAttributesForNegativeInfinity");
338 }
339
340 void setTextAttributesForNegativeInfinity (NSDictionary newAttributes)
341 {
342 return invokeObjcSelf!(void, "setTextAttributesForNegativeInfinity:", NSDictionary)(newAttributes);
343 }
344
345 NSString positivePrefix ()
346 {
347 return invokeObjcSelf!(NSString, "positivePrefix");
348 }
349
350 void setPositivePrefix (NSString string)
351 {
352 return invokeObjcSelf!(void, "setPositivePrefix:", NSString)(string);
353 }
354
355 NSString positiveSuffix ()
356 {
357 return invokeObjcSelf!(NSString, "positiveSuffix");
358 }
359
360 void setPositiveSuffix (NSString string)
361 {
362 return invokeObjcSelf!(void, "setPositiveSuffix:", NSString)(string);
363 }
364
365 NSString negativePrefix ()
366 {
367 return invokeObjcSelf!(NSString, "negativePrefix");
368 }
369
370 void setNegativePrefix (NSString string)
371 {
372 return invokeObjcSelf!(void, "setNegativePrefix:", NSString)(string);
373 }
374
375 NSString negativeSuffix ()
376 {
377 return invokeObjcSelf!(NSString, "negativeSuffix");
378 }
379
380 void setNegativeSuffix (NSString string)
381 {
382 return invokeObjcSelf!(void, "setNegativeSuffix:", NSString)(string);
383 }
384
385 NSString currencyCode ()
386 {
387 return invokeObjcSelf!(NSString, "currencyCode");
388 }
389
390 void setCurrencyCode (NSString string)
391 {
392 return invokeObjcSelf!(void, "setCurrencyCode:", NSString)(string);
393 }
394
395 NSString currencySymbol ()
396 {
397 return invokeObjcSelf!(NSString, "currencySymbol");
398 }
399
400 void setCurrencySymbol (NSString string)
401 {
402 return invokeObjcSelf!(void, "setCurrencySymbol:", NSString)(string);
403 }
404
405 NSString internationalCurrencySymbol ()
406 {
407 return invokeObjcSelf!(NSString, "internationalCurrencySymbol");
408 }
409
410 void setInternationalCurrencySymbol (NSString string)
411 {
412 return invokeObjcSelf!(void, "setInternationalCurrencySymbol:", NSString)(string);
413 }
414
415 NSString percentSymbol ()
416 {
417 return invokeObjcSelf!(NSString, "percentSymbol");
418 }
419
420 void setPercentSymbol (NSString string)
421 {
422 return invokeObjcSelf!(void, "setPercentSymbol:", NSString)(string);
423 }
424
425 NSString perMillSymbol ()
426 {
427 return invokeObjcSelf!(NSString, "perMillSymbol");
428 }
429
430 void setPerMillSymbol (NSString string)
431 {
432 return invokeObjcSelf!(void, "setPerMillSymbol:", NSString)(string);
433 }
434
435 NSString minusSign ()
436 {
437 return invokeObjcSelf!(NSString, "minusSign");
438 }
439
440 void setMinusSign (NSString string)
441 {
442 return invokeObjcSelf!(void, "setMinusSign:", NSString)(string);
443 }
444
445 NSString plusSign ()
446 {
447 return invokeObjcSelf!(NSString, "plusSign");
448 }
449
450 void setPlusSign (NSString string)
451 {
452 return invokeObjcSelf!(void, "setPlusSign:", NSString)(string);
453 }
454
455 NSString exponentSymbol ()
456 {
457 return invokeObjcSelf!(NSString, "exponentSymbol");
458 }
459
460 void setExponentSymbol (NSString string)
461 {
462 return invokeObjcSelf!(void, "setExponentSymbol:", NSString)(string);
463 }
464
465 NSUInteger groupingSize ()
466 {
467 return invokeObjcSelf!(NSUInteger, "groupingSize");
468 }
469
470 void setGroupingSize (NSUInteger number)
471 {
472 return invokeObjcSelf!(void, "setGroupingSize:", NSUInteger)(number);
473 }
474
475 NSUInteger secondaryGroupingSize ()
476 {
477 return invokeObjcSelf!(NSUInteger, "secondaryGroupingSize");
478 }
479
480 void setSecondaryGroupingSize (NSUInteger number)
481 {
482 return invokeObjcSelf!(void, "setSecondaryGroupingSize:", NSUInteger)(number);
483 }
484
485 NSNumber multiplier ()
486 {
487 return invokeObjcSelf!(NSNumber, "multiplier");
488 }
489
490 void setMultiplier (NSNumber number)
491 {
492 return invokeObjcSelf!(void, "setMultiplier:", NSNumber)(number);
493 }
494
495 NSUInteger formatWidth ()
496 {
497 return invokeObjcSelf!(NSUInteger, "formatWidth");
498 }
499
500 void setFormatWidth (NSUInteger number)
501 {
502 return invokeObjcSelf!(void, "setFormatWidth:", NSUInteger)(number);
503 }
504
505 NSString paddingCharacter ()
506 {
507 return invokeObjcSelf!(NSString, "paddingCharacter");
508 }
509
510 void setPaddingCharacter (NSString string)
511 {
512 return invokeObjcSelf!(void, "setPaddingCharacter:", NSString)(string);
513 }
514
515 uint paddingPosition ()
516 {
517 return invokeObjcSelf!(uint, "paddingPosition");
518 }
519
520 void setPaddingPosition (uint position)
521 {
522 return invokeObjcSelf!(void, "setPaddingPosition:", uint)(position);
523 }
524
525 uint roundingMode ()
526 {
527 return invokeObjcSelf!(uint, "roundingMode");
528 }
529
530 void setRoundingMode (uint mode)
531 {
532 return invokeObjcSelf!(void, "setRoundingMode:", uint)(mode);
533 }
534
535 NSNumber roundingIncrement ()
536 {
537 return invokeObjcSelf!(NSNumber, "roundingIncrement");
538 }
539
540 void setRoundingIncrement (NSNumber number)
541 {
542 return invokeObjcSelf!(void, "setRoundingIncrement:", NSNumber)(number);
543 }
544
545 NSUInteger minimumIntegerDigits ()
546 {
547 return invokeObjcSelf!(NSUInteger, "minimumIntegerDigits");
548 }
549
550 void setMinimumIntegerDigits (NSUInteger number)
551 {
552 return invokeObjcSelf!(void, "setMinimumIntegerDigits:", NSUInteger)(number);
553 }
554
555 NSUInteger maximumIntegerDigits ()
556 {
557 return invokeObjcSelf!(NSUInteger, "maximumIntegerDigits");
558 }
559
560 void setMaximumIntegerDigits (NSUInteger number)
561 {
562 return invokeObjcSelf!(void, "setMaximumIntegerDigits:", NSUInteger)(number);
563 }
564
565 NSUInteger minimumFractionDigits ()
566 {
567 return invokeObjcSelf!(NSUInteger, "minimumFractionDigits");
568 }
569
570 void setMinimumFractionDigits (NSUInteger number)
571 {
572 return invokeObjcSelf!(void, "setMinimumFractionDigits:", NSUInteger)(number);
573 }
574
575 NSUInteger maximumFractionDigits ()
576 {
577 return invokeObjcSelf!(NSUInteger, "maximumFractionDigits");
578 }
579
580 void setMaximumFractionDigits (NSUInteger number)
581 {
582 return invokeObjcSelf!(void, "setMaximumFractionDigits:", NSUInteger)(number);
583 }
584
585 NSNumber minimum ()
586 {
587 return invokeObjcSelf!(NSNumber, "minimum");
588 }
589
590 void setMinimum (NSNumber number)
591 {
592 return invokeObjcSelf!(void, "setMinimum:", NSNumber)(number);
593 }
594
595 NSNumber maximum ()
596 {
597 return invokeObjcSelf!(NSNumber, "maximum");
598 }
599
600 void setMaximum (NSNumber number)
601 {
602 return invokeObjcSelf!(void, "setMaximum:", NSNumber)(number);
603 }
604
605 NSString currencyGroupingSeparator ()
606 {
607 return invokeObjcSelf!(NSString, "currencyGroupingSeparator");
608 }
609
610 void setCurrencyGroupingSeparator (NSString string)
611 {
612 return invokeObjcSelf!(void, "setCurrencyGroupingSeparator:", NSString)(string);
613 }
614
615 bool isLenient ()
616 {
617 return invokeObjcSelf!(bool, "isLenient");
618 }
619
620 void setLenient (bool b)
621 {
622 return invokeObjcSelf!(void, "setLenient:", bool)(b);
623 }
624
625 bool usesSignificantDigits ()
626 {
627 return invokeObjcSelf!(bool, "usesSignificantDigits");
628 }
629
630 void setUsesSignificantDigits (bool b)
631 {
632 return invokeObjcSelf!(void, "setUsesSignificantDigits:", bool)(b);
633 }
634
635 NSUInteger minimumSignificantDigits ()
636 {
637 return invokeObjcSelf!(NSUInteger, "minimumSignificantDigits");
638 }
639
640 void setMinimumSignificantDigits (NSUInteger number)
641 {
642 return invokeObjcSelf!(void, "setMinimumSignificantDigits:", NSUInteger)(number);
643 }
644
645 NSUInteger maximumSignificantDigits ()
646 {
647 return invokeObjcSelf!(NSUInteger, "maximumSignificantDigits");
648 }
649
650 void setMaximumSignificantDigits (NSUInteger number)
651 {
652 return invokeObjcSelf!(void, "setMaximumSignificantDigits:", NSUInteger)(number);
653 }
654
655 bool isPartialStringValidationEnabled ()
656 {
657 return invokeObjcSelf!(bool, "isPartialStringValidationEnabled");
658 }
659
660 void setPartialStringValidationEnabled (bool b)
661 {
662 return invokeObjcSelf!(void, "setPartialStringValidationEnabled:", bool)(b);
663 }
664 }
665
666 template TNSNumberFormatterCompatibility ()
667 {
668 bool hasThousandSeparators ()
669 {
670 return invokeObjcSelf!(bool, "hasThousandSeparators");
671 }
672
673 void setHasThousandSeparators (bool flag)
674 {
675 return invokeObjcSelf!(void, "setHasThousandSeparators:", bool)(flag);
676 }
677
678 NSString thousandSeparator ()
679 {
680 return invokeObjcSelf!(NSString, "thousandSeparator");
681 }
682
683 void setThousandSeparator (NSString newSeparator)
684 {
685 return invokeObjcSelf!(void, "setThousandSeparator:", NSString)(newSeparator);
686 }
687
688 bool localizesFormat ()
689 {
690 return invokeObjcSelf!(bool, "localizesFormat");
691 }
692
693 void setLocalizesFormat (bool flag)
694 {
695 return invokeObjcSelf!(void, "setLocalizesFormat:", bool)(flag);
696 }
697
698 NSString format ()
699 {
700 return invokeObjcSelf!(NSString, "format");
701 }
702
703 void setFormat (NSString string)
704 {
705 return invokeObjcSelf!(void, "setFormat:", NSString)(string);
706 }
707
708 NSAttributedString attributedStringForZero ()
709 {
710 return invokeObjcSelf!(NSAttributedString, "attributedStringForZero");
711 }
712
713 void setAttributedStringForZero (NSAttributedString newAttributedString)
714 {
715 return invokeObjcSelf!(void, "setAttributedStringForZero:", NSAttributedString)(newAttributedString);
716 }
717
718 NSAttributedString attributedStringForNil ()
719 {
720 return invokeObjcSelf!(NSAttributedString, "attributedStringForNil");
721 }
722
723 void setAttributedStringForNil (NSAttributedString newAttributedString)
724 {
725 return invokeObjcSelf!(void, "setAttributedStringForNil:", NSAttributedString)(newAttributedString);
726 }
727
728 NSAttributedString attributedStringForNotANumber ()
729 {
730 return invokeObjcSelf!(NSAttributedString, "attributedStringForNotANumber");
731 }
732
733 void setAttributedStringForNotANumber (NSAttributedString newAttributedString)
734 {
735 return invokeObjcSelf!(void, "setAttributedStringForNotANumber:", NSAttributedString)(newAttributedString);
736 }
737
738 NSDecimalNumberHandler roundingBehavior ()
739 {
740 return invokeObjcSelf!(NSDecimalNumberHandler, "roundingBehavior");
741 }
742
743 void setRoundingBehavior (NSDecimalNumberHandler newRoundingBehavior)
744 {
745 return invokeObjcSelf!(void, "setRoundingBehavior:", NSDecimalNumberHandler)(newRoundingBehavior);
746 }
747 }
748