Mercurial > projects > dstep
annotate dstep/foundation/NSDateFormatter.d @ 16:19885b43130e
Huge update, the bridge actually works now
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sun, 03 Jan 2010 22:06:11 +0100 |
parents | 89f3c3ef1fd2 |
children | b9de51448c6b |
rev | line source |
---|---|
14 | 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.NSDateFormatter; | |
8 | |
9 import dstep.corefoundation.CFDateFormatter; | |
10 import dstep.foundation.NSArray; | |
11 import dstep.foundation.NSCalendar; | |
12 import dstep.foundation.NSDate; | |
16
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
13 import dstep.foundation.NSDictionary; |
14 | 14 import dstep.foundation.NSError; |
15 import dstep.foundation.NSFormatter; | |
16 import dstep.foundation.NSLocale; | |
16
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
17 import dstep.foundation.NSObjCRuntime; |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
18 import dstep.foundation.NSRange; |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
19 import dstep.foundation.NSString; |
14 | 20 import dstep.foundation.NSTimeZone; |
21 import dstep.objc.bridge.Bridge; | |
16
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
22 import dstep.objc.objc; |
14 | 23 |
24 alias NSUInteger NSDateFormatterStyle; | |
25 alias NSUInteger NSDateFormatterBehavior; | |
26 | |
27 enum | |
28 { | |
29 NSDateFormatterNoStyle = kCFDateFormatterNoStyle, | |
30 NSDateFormatterShortStyle = kCFDateFormatterShortStyle, | |
31 NSDateFormatterMediumStyle = kCFDateFormatterMediumStyle, | |
32 NSDateFormatterLongStyle = kCFDateFormatterLongStyle, | |
33 NSDateFormatterFullStyle = kCFDateFormatterFullStyle | |
34 } | |
35 | |
36 enum | |
37 { | |
38 NSDateFormatterBehaviorDefault = 0, | |
39 NSDateFormatterBehavior10_0 = 1000, | |
40 NSDateFormatterBehavior10_4 = 1040 | |
41 } | |
42 | |
16
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
43 const TNSDateFormatterCompatibility = ` |
14 | 44 |
16
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
45 Object initWithDateFormat (NSString format, bool flag) |
14 | 46 { |
16
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
47 return invokeObjcSelf!(Object, "initWithDateFormat:allowNaturalLanguage:", NSString, bool)(format, flag); |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
48 } |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
49 |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
50 this (NSString format, bool flag) |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
51 { |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
52 typeof(this).alloc.initWithDateFormat(format, flag); |
14 | 53 } |
54 | |
16
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
55 bool allowsNaturalLanguage () |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
56 { |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
57 return invokeObjcSelf!(bool, "allowsNaturalLanguage"); |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
58 } |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
59 `; |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
60 |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
61 class NSDateFormatter : NSFormatter |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
62 { |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
63 mixin (ObjcWrap); |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
64 |
14 | 65 this () |
66 { | |
16
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
67 super(typeof(this).alloc.init.objcObject); |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
68 } |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
69 |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
70 typeof(this) init () |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
71 { |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
72 return invokeObjcSelf!(typeof(this), "init"); |
14 | 73 } |
74 | |
75 bool getObjectValue (id* obj, NSString string, NSRange* rangep, NSError** error) | |
76 { | |
77 return invokeObjcSelf!(bool, "getObjectValue:forString:range:error:", id*, NSString, NSRange*, NSError**)(obj, string, rangep, error); | |
78 } | |
79 | |
80 NSString stringFromDate (NSDate date) | |
81 { | |
82 return invokeObjcSelf!(NSString, "stringFromDate:", NSDate)(date); | |
83 } | |
84 | |
85 NSDate dateFromString (NSString string) | |
86 { | |
87 return invokeObjcSelf!(NSDate, "dateFromString:", NSString)(string); | |
88 } | |
89 | |
90 NSString dateFormat () | |
91 { | |
92 return invokeObjcSelf!(NSString, "dateFormat"); | |
93 } | |
94 | |
95 uint dateStyle () | |
96 { | |
97 return invokeObjcSelf!(uint, "dateStyle"); | |
98 } | |
99 | |
100 void setDateStyle (uint style) | |
101 { | |
102 return invokeObjcSelf!(void, "setDateStyle:", uint)(style); | |
103 } | |
104 | |
105 uint timeStyle () | |
106 { | |
107 return invokeObjcSelf!(uint, "timeStyle"); | |
108 } | |
109 | |
110 void setTimeStyle (uint style) | |
111 { | |
112 return invokeObjcSelf!(void, "setTimeStyle:", uint)(style); | |
113 } | |
114 | |
115 NSLocale locale () | |
116 { | |
117 return invokeObjcSelf!(NSLocale, "locale"); | |
118 } | |
119 | |
120 void setLocale (NSLocale locale) | |
121 { | |
122 return invokeObjcSelf!(void, "setLocale:", NSLocale)(locale); | |
123 } | |
124 | |
125 bool generatesCalendarDates () | |
126 { | |
127 return invokeObjcSelf!(bool, "generatesCalendarDates"); | |
128 } | |
129 | |
130 void setGeneratesCalendarDates (bool b) | |
131 { | |
132 return invokeObjcSelf!(void, "setGeneratesCalendarDates:", bool)(b); | |
133 } | |
134 | |
135 uint formatterBehavior () | |
136 { | |
137 return invokeObjcSelf!(uint, "formatterBehavior"); | |
138 } | |
139 | |
140 void setFormatterBehavior (uint behavior) | |
141 { | |
142 return invokeObjcSelf!(void, "setFormatterBehavior:", uint)(behavior); | |
143 } | |
144 | |
145 static uint defaultFormatterBehavior () | |
146 { | |
16
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
147 return invokeObjcSuperClass!(uint, "defaultFormatterBehavior"); |
14 | 148 } |
149 | |
150 static void setDefaultFormatterBehavior (uint behavior) | |
151 { | |
16
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
152 return invokeObjcSuperClass!(void, "setDefaultFormatterBehavior:", uint)(behavior); |
14 | 153 } |
154 | |
155 void setDateFormat (NSString string) | |
156 { | |
157 return invokeObjcSelf!(void, "setDateFormat:", NSString)(string); | |
158 } | |
159 | |
160 NSTimeZone timeZone () | |
161 { | |
162 return invokeObjcSelf!(NSTimeZone, "timeZone"); | |
163 } | |
164 | |
165 void setTimeZone (NSTimeZone tz) | |
166 { | |
167 return invokeObjcSelf!(void, "setTimeZone:", NSTimeZone)(tz); | |
168 } | |
169 | |
170 NSCalendar calendar () | |
171 { | |
172 return invokeObjcSelf!(NSCalendar, "calendar"); | |
173 } | |
174 | |
175 void setCalendar (NSCalendar calendar) | |
176 { | |
177 return invokeObjcSelf!(void, "setCalendar:", NSCalendar)(calendar); | |
178 } | |
179 | |
180 bool isLenient () | |
181 { | |
182 return invokeObjcSelf!(bool, "isLenient"); | |
183 } | |
184 | |
185 void setLenient (bool b) | |
186 { | |
187 return invokeObjcSelf!(void, "setLenient:", bool)(b); | |
188 } | |
189 | |
190 NSDate twoDigitStartDate () | |
191 { | |
192 return invokeObjcSelf!(NSDate, "twoDigitStartDate"); | |
193 } | |
194 | |
195 void setTwoDigitStartDate (NSDate date) | |
196 { | |
197 return invokeObjcSelf!(void, "setTwoDigitStartDate:", NSDate)(date); | |
198 } | |
199 | |
200 NSDate defaultDate () | |
201 { | |
202 return invokeObjcSelf!(NSDate, "defaultDate"); | |
203 } | |
204 | |
205 void setDefaultDate (NSDate date) | |
206 { | |
207 return invokeObjcSelf!(void, "setDefaultDate:", NSDate)(date); | |
208 } | |
209 | |
210 NSArray eraSymbols () | |
211 { | |
212 return invokeObjcSelf!(NSArray, "eraSymbols"); | |
213 } | |
214 | |
215 void setEraSymbols (NSArray array) | |
216 { | |
217 return invokeObjcSelf!(void, "setEraSymbols:", NSArray)(array); | |
218 } | |
219 | |
220 NSArray monthSymbols () | |
221 { | |
222 return invokeObjcSelf!(NSArray, "monthSymbols"); | |
223 } | |
224 | |
225 void setMonthSymbols (NSArray array) | |
226 { | |
227 return invokeObjcSelf!(void, "setMonthSymbols:", NSArray)(array); | |
228 } | |
229 | |
230 NSArray shortMonthSymbols () | |
231 { | |
232 return invokeObjcSelf!(NSArray, "shortMonthSymbols"); | |
233 } | |
234 | |
235 void setShortMonthSymbols (NSArray array) | |
236 { | |
237 return invokeObjcSelf!(void, "setShortMonthSymbols:", NSArray)(array); | |
238 } | |
239 | |
240 NSArray weekdaySymbols () | |
241 { | |
242 return invokeObjcSelf!(NSArray, "weekdaySymbols"); | |
243 } | |
244 | |
245 void setWeekdaySymbols (NSArray array) | |
246 { | |
247 return invokeObjcSelf!(void, "setWeekdaySymbols:", NSArray)(array); | |
248 } | |
249 | |
250 NSArray shortWeekdaySymbols () | |
251 { | |
252 return invokeObjcSelf!(NSArray, "shortWeekdaySymbols"); | |
253 } | |
254 | |
255 void setShortWeekdaySymbols (NSArray array) | |
256 { | |
257 return invokeObjcSelf!(void, "setShortWeekdaySymbols:", NSArray)(array); | |
258 } | |
259 | |
260 NSString AMSymbol () | |
261 { | |
262 return invokeObjcSelf!(NSString, "AMSymbol"); | |
263 } | |
264 | |
265 void setAMSymbol (NSString string) | |
266 { | |
267 return invokeObjcSelf!(void, "setAMSymbol:", NSString)(string); | |
268 } | |
269 | |
270 NSString PMSymbol () | |
271 { | |
272 return invokeObjcSelf!(NSString, "PMSymbol"); | |
273 } | |
274 | |
275 void setPMSymbol (NSString string) | |
276 { | |
277 return invokeObjcSelf!(void, "setPMSymbol:", NSString)(string); | |
278 } | |
279 | |
280 NSArray longEraSymbols () | |
281 { | |
282 return invokeObjcSelf!(NSArray, "longEraSymbols"); | |
283 } | |
284 | |
285 void setLongEraSymbols (NSArray array) | |
286 { | |
287 return invokeObjcSelf!(void, "setLongEraSymbols:", NSArray)(array); | |
288 } | |
289 | |
290 NSArray veryShortMonthSymbols () | |
291 { | |
292 return invokeObjcSelf!(NSArray, "veryShortMonthSymbols"); | |
293 } | |
294 | |
295 void setVeryShortMonthSymbols (NSArray array) | |
296 { | |
297 return invokeObjcSelf!(void, "setVeryShortMonthSymbols:", NSArray)(array); | |
298 } | |
299 | |
300 NSArray standaloneMonthSymbols () | |
301 { | |
302 return invokeObjcSelf!(NSArray, "standaloneMonthSymbols"); | |
303 } | |
304 | |
305 void setStandaloneMonthSymbols (NSArray array) | |
306 { | |
307 return invokeObjcSelf!(void, "setStandaloneMonthSymbols:", NSArray)(array); | |
308 } | |
309 | |
310 NSArray shortStandaloneMonthSymbols () | |
311 { | |
312 return invokeObjcSelf!(NSArray, "shortStandaloneMonthSymbols"); | |
313 } | |
314 | |
315 void setShortStandaloneMonthSymbols (NSArray array) | |
316 { | |
317 return invokeObjcSelf!(void, "setShortStandaloneMonthSymbols:", NSArray)(array); | |
318 } | |
319 | |
320 NSArray veryShortStandaloneMonthSymbols () | |
321 { | |
322 return invokeObjcSelf!(NSArray, "veryShortStandaloneMonthSymbols"); | |
323 } | |
324 | |
325 void setVeryShortStandaloneMonthSymbols (NSArray array) | |
326 { | |
327 return invokeObjcSelf!(void, "setVeryShortStandaloneMonthSymbols:", NSArray)(array); | |
328 } | |
329 | |
330 NSArray veryShortWeekdaySymbols () | |
331 { | |
332 return invokeObjcSelf!(NSArray, "veryShortWeekdaySymbols"); | |
333 } | |
334 | |
335 void setVeryShortWeekdaySymbols (NSArray array) | |
336 { | |
337 return invokeObjcSelf!(void, "setVeryShortWeekdaySymbols:", NSArray)(array); | |
338 } | |
339 | |
340 NSArray standaloneWeekdaySymbols () | |
341 { | |
342 return invokeObjcSelf!(NSArray, "standaloneWeekdaySymbols"); | |
343 } | |
344 | |
345 void setStandaloneWeekdaySymbols (NSArray array) | |
346 { | |
347 return invokeObjcSelf!(void, "setStandaloneWeekdaySymbols:", NSArray)(array); | |
348 } | |
349 | |
350 NSArray shortStandaloneWeekdaySymbols () | |
351 { | |
352 return invokeObjcSelf!(NSArray, "shortStandaloneWeekdaySymbols"); | |
353 } | |
354 | |
355 void setShortStandaloneWeekdaySymbols (NSArray array) | |
356 { | |
357 return invokeObjcSelf!(void, "setShortStandaloneWeekdaySymbols:", NSArray)(array); | |
358 } | |
359 | |
360 NSArray veryShortStandaloneWeekdaySymbols () | |
361 { | |
362 return invokeObjcSelf!(NSArray, "veryShortStandaloneWeekdaySymbols"); | |
363 } | |
364 | |
365 void setVeryShortStandaloneWeekdaySymbols (NSArray array) | |
366 { | |
367 return invokeObjcSelf!(void, "setVeryShortStandaloneWeekdaySymbols:", NSArray)(array); | |
368 } | |
369 | |
370 NSArray quarterSymbols () | |
371 { | |
372 return invokeObjcSelf!(NSArray, "quarterSymbols"); | |
373 } | |
374 | |
375 void setQuarterSymbols (NSArray array) | |
376 { | |
377 return invokeObjcSelf!(void, "setQuarterSymbols:", NSArray)(array); | |
378 } | |
379 | |
380 NSArray shortQuarterSymbols () | |
381 { | |
382 return invokeObjcSelf!(NSArray, "shortQuarterSymbols"); | |
383 } | |
384 | |
385 void setShortQuarterSymbols (NSArray array) | |
386 { | |
387 return invokeObjcSelf!(void, "setShortQuarterSymbols:", NSArray)(array); | |
388 } | |
389 | |
390 NSArray standaloneQuarterSymbols () | |
391 { | |
392 return invokeObjcSelf!(NSArray, "standaloneQuarterSymbols"); | |
393 } | |
394 | |
395 void setStandaloneQuarterSymbols (NSArray array) | |
396 { | |
397 return invokeObjcSelf!(void, "setStandaloneQuarterSymbols:", NSArray)(array); | |
398 } | |
399 | |
400 NSArray shortStandaloneQuarterSymbols () | |
401 { | |
402 return invokeObjcSelf!(NSArray, "shortStandaloneQuarterSymbols"); | |
403 } | |
404 | |
405 void setShortStandaloneQuarterSymbols (NSArray array) | |
406 { | |
407 return invokeObjcSelf!(void, "setShortStandaloneQuarterSymbols:", NSArray)(array); | |
408 } | |
409 | |
410 NSDate gregorianStartDate () | |
411 { | |
412 return invokeObjcSelf!(NSDate, "gregorianStartDate"); | |
413 } | |
414 | |
415 void setGregorianStartDate (NSDate date) | |
416 { | |
417 return invokeObjcSelf!(void, "setGregorianStartDate:", NSDate)(date); | |
418 } | |
16
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
419 |
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
420 // TNSDateFormatterCompatibility |
14 | 421 Object initWithDateFormat (NSString format, bool flag) |
422 { | |
423 return invokeObjcSelf!(Object, "initWithDateFormat:allowNaturalLanguage:", NSString, bool)(format, flag); | |
424 } | |
16
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
425 |
14 | 426 this (NSString format, bool flag) |
427 { | |
16
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
428 typeof(this).alloc.initWithDateFormat(format, flag); |
14 | 429 } |
16
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
430 |
14 | 431 bool allowsNaturalLanguage () |
432 { | |
433 return invokeObjcSelf!(bool, "allowsNaturalLanguage"); | |
434 } | |
16
19885b43130e
Huge update, the bridge actually works now
Jacob Carlborg <doob@me.com>
parents:
14
diff
changeset
|
435 } |