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
self.__class__ = CalendarDateAttr
_calendar.CalendarDateAttr_swigregister(CalendarDateAttrPtr)
-class CalendarEvent(_core.CommandEvent):
+class CalendarEvent(_core.DateEvent):
+ """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):
self.this = newobj.this
self.thisown = 1
del newobj.thisown
- def GetDate(*args, **kwargs):
- """GetDate(self) -> DateTime"""
- return _calendar.CalendarEvent_GetDate(*args, **kwargs)
-
- def SetDate(*args, **kwargs):
- """SetDate(self, DateTime date)"""
- return _calendar.CalendarEvent_SetDate(*args, **kwargs)
-
def SetWeekDay(*args, **kwargs):
"""SetWeekDay(self, int wd)"""
return _calendar.CalendarEvent_SetWeekDay(*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):
SetAttr allows to modify its appearance. Just create a custom
attribute object and set it for the day you want to be displayed
specially A day may be marked as being a holiday, (even if it is not
- recognized as one by wx.DateTime) by using the SetHoliday method.
+ recognized as one by `wx.DateTime`) by using the SetHoliday method.
As the attributes are specified for each day, they may change when the
month is changed, so you will often want to update them in an
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