Mercurial > projects > dstep
view dstep/foundation/NSCalendar.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 |
line wrap: on
line source
/** * 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.NSCalendar; import dstep.corefoundation.CFCalendar; import dstep.foundation.NSCoder; import dstep.foundation.NSDate; import dstep.foundation.NSLocale; import dstep.foundation.NSObjCRuntime; import dstep.foundation.NSObject; import dstep.foundation.NSRange; import dstep.foundation.NSString; import dstep.foundation.NSTimeZone; import dstep.foundation.NSZone; import dstep.objc.bridge.Bridge; import dstep.objc.objc; alias NSUInteger NSCalendarUnit; enum { NSEraCalendarUnit = kCFCalendarUnitEra, NSYearCalendarUnit = kCFCalendarUnitYear, NSMonthCalendarUnit = kCFCalendarUnitMonth, NSDayCalendarUnit = kCFCalendarUnitDay, NSHourCalendarUnit = kCFCalendarUnitHour, NSMinuteCalendarUnit = kCFCalendarUnitMinute, NSSecondCalendarUnit = kCFCalendarUnitSecond, NSWeekCalendarUnit = kCFCalendarUnitWeek, NSWeekdayCalendarUnit = kCFCalendarUnitWeekday, NSWeekdayOrdinalCalendarUnit = kCFCalendarUnitWeekdayOrdinal } enum { NSWrapCalendarComponents = kCFCalendarComponentsWrap } enum { NSUndefinedDateComponent = 2147483647L } class NSDateComponents : NSObject, INSCopying, INSCoding { mixin (ObjcWrap); this () { super(typeof(this).alloc.init.objcObject); } typeof(this) init () { return invokeObjcSelf!(typeof(this), "init"); } NSInteger era () { return invokeObjcSelf!(NSInteger, "era"); } NSInteger year () { return invokeObjcSelf!(NSInteger, "year"); } NSInteger month () { return invokeObjcSelf!(NSInteger, "month"); } NSInteger day () { return invokeObjcSelf!(NSInteger, "day"); } NSInteger hour () { return invokeObjcSelf!(NSInteger, "hour"); } NSInteger minute () { return invokeObjcSelf!(NSInteger, "minute"); } NSInteger second () { return invokeObjcSelf!(NSInteger, "second"); } NSInteger week () { return invokeObjcSelf!(NSInteger, "week"); } NSInteger weekday () { return invokeObjcSelf!(NSInteger, "weekday"); } NSInteger weekdayOrdinal () { return invokeObjcSelf!(NSInteger, "weekdayOrdinal"); } void setEra (NSInteger v) { return invokeObjcSelf!(void, "setEra:", NSInteger)(v); } void setYear (NSInteger v) { return invokeObjcSelf!(void, "setYear:", NSInteger)(v); } void setMonth (NSInteger v) { return invokeObjcSelf!(void, "setMonth:", NSInteger)(v); } void setDay (NSInteger v) { return invokeObjcSelf!(void, "setDay:", NSInteger)(v); } void setHour (NSInteger v) { return invokeObjcSelf!(void, "setHour:", NSInteger)(v); } void setMinute (NSInteger v) { return invokeObjcSelf!(void, "setMinute:", NSInteger)(v); } void setSecond (NSInteger v) { return invokeObjcSelf!(void, "setSecond:", NSInteger)(v); } void setWeek (NSInteger v) { return invokeObjcSelf!(void, "setWeek:", NSInteger)(v); } void setWeekday (NSInteger v) { return invokeObjcSelf!(void, "setWeekday:", NSInteger)(v); } void setWeekdayOrdinal (NSInteger v) { return invokeObjcSelf!(void, "setWeekdayOrdinal:", NSInteger)(v); } Object copyWithZone (NSZone* zone) { return invokeObjcSelf!(Object, "copyWithZone:", NSZone*)(zone); } void encodeWithCoder (NSCoder aCoder) { return invokeObjcSelf!(void, "encodeWithCoder:", NSCoder)(aCoder); } Object initWithCoder (NSCoder aDecoder) { return invokeObjcSelf!(Object, "initWithCoder:", NSCoder)(aDecoder); } this (NSCoder aDecoder) { typeof(this).alloc.initWithCoder(aDecoder); } } class NSCalendar : NSObject, INSCopying, INSCoding { mixin (ObjcWrap); this () { super(typeof(this).alloc.init.objcObject); } typeof(this) init () { return invokeObjcSelf!(typeof(this), "init"); } static Object currentCalendar () { return invokeObjcSuperClass!(Object, "currentCalendar"); } static Object autoupdatingCurrentCalendar () { return invokeObjcSuperClass!(Object, "autoupdatingCurrentCalendar"); } Object initWithCalendarIdentifier (NSString ident) { return invokeObjcSelf!(Object, "initWithCalendarIdentifier:", NSString)(ident); } this (NSString ident) { typeof(this).alloc.initWithCalendarIdentifier(ident); } NSString calendarIdentifier () { return invokeObjcSelf!(NSString, "calendarIdentifier"); } void setLocale (NSLocale locale) { return invokeObjcSelf!(void, "setLocale:", NSLocale)(locale); } NSLocale locale () { return invokeObjcSelf!(NSLocale, "locale"); } void setTimeZone (NSTimeZone tz) { return invokeObjcSelf!(void, "setTimeZone:", NSTimeZone)(tz); } NSTimeZone timeZone () { return invokeObjcSelf!(NSTimeZone, "timeZone"); } void setFirstWeekday (NSUInteger weekday) { return invokeObjcSelf!(void, "setFirstWeekday:", NSUInteger)(weekday); } NSUInteger firstWeekday () { return invokeObjcSelf!(NSUInteger, "firstWeekday"); } void setMinimumDaysInFirstWeek (NSUInteger mdw) { return invokeObjcSelf!(void, "setMinimumDaysInFirstWeek:", NSUInteger)(mdw); } NSUInteger minimumDaysInFirstWeek () { return invokeObjcSelf!(NSUInteger, "minimumDaysInFirstWeek"); } NSRange minimumRangeOfUnit (uint unit) { return invokeObjcSelf!(NSRange, "minimumRangeOfUnit:", uint)(unit); } NSRange maximumRangeOfUnit (uint unit) { return invokeObjcSelf!(NSRange, "maximumRangeOfUnit:", uint)(unit); } NSRange rangeOfUnit (uint smaller, uint larger, NSDate date) { return invokeObjcSelf!(NSRange, "rangeOfUnit:inUnit:forDate:", uint, uint, NSDate)(smaller, larger, date); } NSUInteger ordinalityOfUnit (uint smaller, uint larger, NSDate date) { return invokeObjcSelf!(NSUInteger, "ordinalityOfUnit:inUnit:forDate:", uint, uint, NSDate)(smaller, larger, date); } bool rangeOfUnit (uint unit, out NSDate datep, NSTimeInterval* tip, NSDate date) { id d = new objc_object; bool result = invokeObjcSelf!(bool, "rangeOfUnit:startDate:interval:forDate:", uint, id*, NSTimeInterval*, NSDate)(unit, &d, tip, date); if (d) datep = new NSDate(d); return result; } NSDate dateFromComponents (NSDateComponents comps) { return invokeObjcSelf!(NSDate, "dateFromComponents:", NSDateComponents)(comps); } NSDateComponents components (NSUInteger unitFlags, NSDate date) { return invokeObjcSelf!(NSDateComponents, "components:fromDate:", NSUInteger, NSDate)(unitFlags, date); } NSDate dateByAddingComponents (NSDateComponents comps, NSDate date, NSUInteger opts) { return invokeObjcSelf!(NSDate, "dateByAddingComponents:toDate:options:", NSDateComponents, NSDate, NSUInteger)(comps, date, opts); } NSDateComponents components (NSUInteger unitFlags, NSDate startingDate, NSDate resultDate, NSUInteger opts) { return invokeObjcSelf!(NSDateComponents, "components:fromDate:toDate:options:", NSUInteger, NSDate, NSDate, NSUInteger)(unitFlags, startingDate, resultDate, opts); } Object copyWithZone (NSZone* zone) { return invokeObjcSelf!(Object, "copyWithZone:", NSZone*)(zone); } void encodeWithCoder (NSCoder aCoder) { return invokeObjcSelf!(void, "encodeWithCoder:", NSCoder)(aCoder); } Object initWithCoder (NSCoder aDecoder) { return invokeObjcSelf!(Object, "initWithCoder:", NSCoder)(aDecoder); } this (NSCoder aDecoder) { typeof(this).alloc.initWithCoder(aDecoder); } }