import _calendar
+def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
+ if (name == "this"):
+ if isinstance(value, class_type):
+ self.__dict__[name] = value.this
+ if hasattr(value,"thisown"): self.__dict__["thisown"] = value.thisown
+ del value.thisown
+ return
+ method = class_type.__swig_setmethods__.get(name,None)
+ if method: return method(self,value)
+ if (not static) or hasattr(self,name) or (name == "thisown"):
+ self.__dict__[name] = value
+ else:
+ raise AttributeError("You cannot add attributes to %s" % self)
+
+def _swig_setattr(self,class_type,name,value):
+ return _swig_setattr_nondynamic(self,class_type,name,value,0)
+
+def _swig_getattr(self,class_type,name):
+ method = class_type.__swig_getmethods__.get(name,None)
+ if method: return method(self)
+ raise AttributeError,name
+
+import types
+try:
+ _object = types.ObjectType
+ _newclass = 1
+except AttributeError:
+ class _object : pass
+ _newclass = 0
+del types
+
+
+def _swig_setattr_nondynamic_method(set):
+ def set_attr(self,name,value):
+ if hasattr(self,name) or (name in ("this", "thisown")):
+ set(self,name,value)
+ else:
+ raise AttributeError("You cannot add attributes to %s" % self)
+ return set_attr
+
+
import _misc
import _core
wx = _core
_calendar.CalendarDateAttr_swigregister(CalendarDateAttrPtr)
class CalendarEvent(_core.CommandEvent):
+ """Proxy of C++ CalendarEvent class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxCalendarEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
def PySetDate(self, date):
"""takes datetime.datetime or datetime.date object"""
- self.SetDate(_py2wx(date))
+ self.SetDate(_pydate2wxdate(date))
def PyGetDate(self):
"""returns datetime.date object"""
- return _wx2py(self.GetDate())
+ return _wxdate2pydate(self.GetDate())
class CalendarEventPtr(CalendarEvent):
GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
def PySetDate(self, date):
"""takes datetime.datetime or datetime.date object"""
- self.SetDate(_py2wx(date))
+ self.SetDate(_pydate2wxdate(date))
def PyGetDate(self):
"""returns datetime.date object"""
- return _wx2py(self.GetDate())
+ return _wxdate2pydate(self.GetDate())
def PySetLowerDateLimit(self, date):
"""takes datetime.datetime or datetime.date object"""
- self.SetLowerDateLimit(_py2wx(date))
+ self.SetLowerDateLimit(_pydate2wxdate(date))
def PySetUpperDateLimit(self, date):
"""takes datetime.datetime or datetime.date object"""
- self.SetUpperDateLimit(_py2wx(date))
+ self.SetUpperDateLimit(_pydate2wxdate(date))
def PySetDateRange(self, lowerdate, upperdate):
"""takes datetime.datetime or datetime.date objects"""
def PyGetLowerDateLimit(self):
"""returns datetime.date object"""
- return _wx2py(self.GetLowerDateLimit())
+ return _wxdate2pydate(self.GetLowerDateLimit())
def PyGetUpperDateLimit(self):
"""returns datetime.date object"""
- return _wx2py(self.GetUpperDateLimit())
+ return _wxdate2pydate(self.GetUpperDateLimit())
class CalendarCtrlPtr(CalendarCtrl):
"""
return _calendar.CalendarCtrl_GetClassDefaultAttributes(*args, **kwargs)
-def _py2wx(date):
+def _pydate2wxdate(date):
import datetime
assert isinstance(date, (datetime.datetime, datetime.date))
tt = date.timetuple()
dmy = (tt[2], tt[1]-1, tt[0])
return wx.DateTimeFromDMY(*dmy)
-def _wx2py(date):
+def _wxdate2pydate(date):
import datetime
assert isinstance(date, wx.DateTime)
- ymd = map(int, date.FormatISODate().split('-'))
- return datetime.date(*ymd)
+ if date.IsValid():
+ ymd = map(int, date.FormatISODate().split('-'))
+ return datetime.date(*ymd)
+ else:
+ return None