]> git.saurik.com Git - wxWidgets.git/blob - wxPython/src/msw/calendar.py
Forward port recent changes on the 2.8 branch to HEAD
[wxWidgets.git] / wxPython / src / msw / calendar.py
1 # This file was created automatically by SWIG 1.3.29.
2 # Don't modify this file, modify the SWIG interface instead.
3
4 """
5 Classes for an interactive Calendar control.
6 """
7
8 import _calendar
9 import new
10 new_instancemethod = new.instancemethod
11 def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
12 if (name == "thisown"): return self.this.own(value)
13 if (name == "this"):
14 if type(value).__name__ == 'PySwigObject':
15 self.__dict__[name] = value
16 return
17 method = class_type.__swig_setmethods__.get(name,None)
18 if method: return method(self,value)
19 if (not static) or hasattr(self,name):
20 self.__dict__[name] = value
21 else:
22 raise AttributeError("You cannot add attributes to %s" % self)
23
24 def _swig_setattr(self,class_type,name,value):
25 return _swig_setattr_nondynamic(self,class_type,name,value,0)
26
27 def _swig_getattr(self,class_type,name):
28 if (name == "thisown"): return self.this.own()
29 method = class_type.__swig_getmethods__.get(name,None)
30 if method: return method(self)
31 raise AttributeError,name
32
33 def _swig_repr(self):
34 try: strthis = "proxy of " + self.this.__repr__()
35 except: strthis = ""
36 return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
37
38 import types
39 try:
40 _object = types.ObjectType
41 _newclass = 1
42 except AttributeError:
43 class _object : pass
44 _newclass = 0
45 del types
46
47
48 def _swig_setattr_nondynamic_method(set):
49 def set_attr(self,name,value):
50 if (name == "thisown"): return self.this.own(value)
51 if hasattr(self,name) or (name == "this"):
52 set(self,name,value)
53 else:
54 raise AttributeError("You cannot add attributes to %s" % self)
55 return set_attr
56
57
58 import _misc
59 import _core
60 wx = _core
61 __docfilter__ = wx.__DocFilter(globals())
62 CAL_SUNDAY_FIRST = _calendar.CAL_SUNDAY_FIRST
63 CAL_MONDAY_FIRST = _calendar.CAL_MONDAY_FIRST
64 CAL_SHOW_HOLIDAYS = _calendar.CAL_SHOW_HOLIDAYS
65 CAL_NO_YEAR_CHANGE = _calendar.CAL_NO_YEAR_CHANGE
66 CAL_NO_MONTH_CHANGE = _calendar.CAL_NO_MONTH_CHANGE
67 CAL_SEQUENTIAL_MONTH_SELECTION = _calendar.CAL_SEQUENTIAL_MONTH_SELECTION
68 CAL_SHOW_SURROUNDING_WEEKS = _calendar.CAL_SHOW_SURROUNDING_WEEKS
69 CAL_HITTEST_NOWHERE = _calendar.CAL_HITTEST_NOWHERE
70 CAL_HITTEST_HEADER = _calendar.CAL_HITTEST_HEADER
71 CAL_HITTEST_DAY = _calendar.CAL_HITTEST_DAY
72 CAL_HITTEST_INCMONTH = _calendar.CAL_HITTEST_INCMONTH
73 CAL_HITTEST_DECMONTH = _calendar.CAL_HITTEST_DECMONTH
74 CAL_HITTEST_SURROUNDING_WEEK = _calendar.CAL_HITTEST_SURROUNDING_WEEK
75 CAL_BORDER_NONE = _calendar.CAL_BORDER_NONE
76 CAL_BORDER_SQUARE = _calendar.CAL_BORDER_SQUARE
77 CAL_BORDER_ROUND = _calendar.CAL_BORDER_ROUND
78 class CalendarDateAttr(object):
79 """
80 A set of customization attributes for a calendar date, which can be
81 used to control the look of the Calendar object.
82 """
83 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
84 __repr__ = _swig_repr
85 def __init__(self, *args, **kwargs):
86 """
87 __init__(self, Colour colText=wxNullColour, Colour colBack=wxNullColour,
88 Colour colBorder=wxNullColour, Font font=wxNullFont,
89 int border=CAL_BORDER_NONE) -> CalendarDateAttr
90
91 Create a CalendarDateAttr.
92 """
93 _calendar.CalendarDateAttr_swiginit(self,_calendar.new_CalendarDateAttr(*args, **kwargs))
94 __swig_destroy__ = _calendar.delete_CalendarDateAttr
95 __del__ = lambda self : None;
96 def SetTextColour(*args, **kwargs):
97 """SetTextColour(self, Colour colText)"""
98 return _calendar.CalendarDateAttr_SetTextColour(*args, **kwargs)
99
100 def SetBackgroundColour(*args, **kwargs):
101 """SetBackgroundColour(self, Colour colBack)"""
102 return _calendar.CalendarDateAttr_SetBackgroundColour(*args, **kwargs)
103
104 def SetBorderColour(*args, **kwargs):
105 """SetBorderColour(self, Colour col)"""
106 return _calendar.CalendarDateAttr_SetBorderColour(*args, **kwargs)
107
108 def SetFont(*args, **kwargs):
109 """SetFont(self, Font font)"""
110 return _calendar.CalendarDateAttr_SetFont(*args, **kwargs)
111
112 def SetBorder(*args, **kwargs):
113 """SetBorder(self, int border)"""
114 return _calendar.CalendarDateAttr_SetBorder(*args, **kwargs)
115
116 def SetHoliday(*args, **kwargs):
117 """SetHoliday(self, bool holiday)"""
118 return _calendar.CalendarDateAttr_SetHoliday(*args, **kwargs)
119
120 def HasTextColour(*args, **kwargs):
121 """HasTextColour(self) -> bool"""
122 return _calendar.CalendarDateAttr_HasTextColour(*args, **kwargs)
123
124 def HasBackgroundColour(*args, **kwargs):
125 """HasBackgroundColour(self) -> bool"""
126 return _calendar.CalendarDateAttr_HasBackgroundColour(*args, **kwargs)
127
128 def HasBorderColour(*args, **kwargs):
129 """HasBorderColour(self) -> bool"""
130 return _calendar.CalendarDateAttr_HasBorderColour(*args, **kwargs)
131
132 def HasFont(*args, **kwargs):
133 """HasFont(self) -> bool"""
134 return _calendar.CalendarDateAttr_HasFont(*args, **kwargs)
135
136 def HasBorder(*args, **kwargs):
137 """HasBorder(self) -> bool"""
138 return _calendar.CalendarDateAttr_HasBorder(*args, **kwargs)
139
140 def IsHoliday(*args, **kwargs):
141 """IsHoliday(self) -> bool"""
142 return _calendar.CalendarDateAttr_IsHoliday(*args, **kwargs)
143
144 def GetTextColour(*args, **kwargs):
145 """GetTextColour(self) -> Colour"""
146 return _calendar.CalendarDateAttr_GetTextColour(*args, **kwargs)
147
148 def GetBackgroundColour(*args, **kwargs):
149 """GetBackgroundColour(self) -> Colour"""
150 return _calendar.CalendarDateAttr_GetBackgroundColour(*args, **kwargs)
151
152 def GetBorderColour(*args, **kwargs):
153 """GetBorderColour(self) -> Colour"""
154 return _calendar.CalendarDateAttr_GetBorderColour(*args, **kwargs)
155
156 def GetFont(*args, **kwargs):
157 """GetFont(self) -> Font"""
158 return _calendar.CalendarDateAttr_GetFont(*args, **kwargs)
159
160 def GetBorder(*args, **kwargs):
161 """GetBorder(self) -> int"""
162 return _calendar.CalendarDateAttr_GetBorder(*args, **kwargs)
163
164 BackgroundColour = property(GetBackgroundColour,SetBackgroundColour,doc="See `GetBackgroundColour` and `SetBackgroundColour`")
165 Border = property(GetBorder,SetBorder,doc="See `GetBorder` and `SetBorder`")
166 BorderColour = property(GetBorderColour,SetBorderColour,doc="See `GetBorderColour` and `SetBorderColour`")
167 Font = property(GetFont,SetFont,doc="See `GetFont` and `SetFont`")
168 TextColour = property(GetTextColour,SetTextColour,doc="See `GetTextColour` and `SetTextColour`")
169 _calendar.CalendarDateAttr_swigregister(CalendarDateAttr)
170
171 class CalendarEvent(_core.DateEvent):
172 """Proxy of C++ CalendarEvent class"""
173 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
174 __repr__ = _swig_repr
175 def __init__(self, *args, **kwargs):
176 """__init__(self, CalendarCtrl cal, EventType type) -> CalendarEvent"""
177 _calendar.CalendarEvent_swiginit(self,_calendar.new_CalendarEvent(*args, **kwargs))
178 def SetWeekDay(*args, **kwargs):
179 """SetWeekDay(self, int wd)"""
180 return _calendar.CalendarEvent_SetWeekDay(*args, **kwargs)
181
182 def GetWeekDay(*args, **kwargs):
183 """GetWeekDay(self) -> int"""
184 return _calendar.CalendarEvent_GetWeekDay(*args, **kwargs)
185
186 def PySetDate(self, date):
187 """takes datetime.datetime or datetime.date object"""
188 self.SetDate(_pydate2wxdate(date))
189
190 def PyGetDate(self):
191 """returns datetime.date object"""
192 return _wxdate2pydate(self.GetDate())
193
194 WeekDay = property(GetWeekDay,SetWeekDay,doc="See `GetWeekDay` and `SetWeekDay`")
195 _calendar.CalendarEvent_swigregister(CalendarEvent)
196
197 wxEVT_CALENDAR_DOUBLECLICKED = _calendar.wxEVT_CALENDAR_DOUBLECLICKED
198 wxEVT_CALENDAR_SEL_CHANGED = _calendar.wxEVT_CALENDAR_SEL_CHANGED
199 wxEVT_CALENDAR_DAY_CHANGED = _calendar.wxEVT_CALENDAR_DAY_CHANGED
200 wxEVT_CALENDAR_MONTH_CHANGED = _calendar.wxEVT_CALENDAR_MONTH_CHANGED
201 wxEVT_CALENDAR_YEAR_CHANGED = _calendar.wxEVT_CALENDAR_YEAR_CHANGED
202 wxEVT_CALENDAR_WEEKDAY_CLICKED = _calendar.wxEVT_CALENDAR_WEEKDAY_CLICKED
203 EVT_CALENDAR = wx.PyEventBinder( wxEVT_CALENDAR_DOUBLECLICKED, 1)
204 EVT_CALENDAR_SEL_CHANGED = wx.PyEventBinder( wxEVT_CALENDAR_SEL_CHANGED, 1)
205 EVT_CALENDAR_DAY = wx.PyEventBinder( wxEVT_CALENDAR_DAY_CHANGED, 1)
206 EVT_CALENDAR_MONTH = wx.PyEventBinder( wxEVT_CALENDAR_MONTH_CHANGED, 1)
207 EVT_CALENDAR_YEAR = wx.PyEventBinder( wxEVT_CALENDAR_YEAR_CHANGED, 1)
208 EVT_CALENDAR_WEEKDAY_CLICKED = wx.PyEventBinder( wxEVT_CALENDAR_WEEKDAY_CLICKED, 1)
209
210 class CalendarCtrl(_core.Control):
211 """
212 The calendar control allows the user to pick a date interactively.
213
214 The CalendarCtrl displays a window containing several parts: the
215 control to pick the month and the year at the top (either or both of
216 them may be disabled) and a month area below them which shows all the
217 days in the month. The user can move the current selection using the
218 keyboard and select the date (generating EVT_CALENDAR event) by
219 pressing <Return> or double clicking it.
220
221 It has advanced possibilities for the customization of its
222 display. All global settings (such as colours and fonts used) can, of
223 course, be changed. But also, the display style for each day in the
224 month can be set independently using CalendarDateAttr class.
225
226 An item without custom attributes is drawn with the default colours
227 and font and without border, but setting custom attributes with
228 `SetAttr` allows to modify its appearance. Just create a custom
229 attribute object and set it for the day you want to be displayed
230 specially A day may be marked as being a holiday, (even if it is not
231 recognized as one by `wx.DateTime`) by using the SetHoliday method.
232
233 As the attributes are specified for each day, they may change when the
234 month is changed, so you will often want to update them in an
235 EVT_CALENDAR_MONTH event handler.
236 """
237 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
238 __repr__ = _swig_repr
239 def __init__(self, *args, **kwargs):
240 """
241 __init__(self, Window parent, int id=-1, DateTime date=DefaultDateTime,
242 Point pos=DefaultPosition, Size size=DefaultSize,
243 long style=wxCAL_SHOW_HOLIDAYS|wxWANTS_CHARS,
244 String name=CalendarNameStr) -> CalendarCtrl
245
246 Create and show a calendar control.
247 """
248 _calendar.CalendarCtrl_swiginit(self,_calendar.new_CalendarCtrl(*args, **kwargs))
249 self._setOORInfo(self)
250
251 def Create(*args, **kwargs):
252 """
253 Create(self, Window parent, int id, DateTime date=DefaultDateTime,
254 Point pos=DefaultPosition, Size size=DefaultSize,
255 long style=wxCAL_SHOW_HOLIDAYS|wxWANTS_CHARS,
256 String name=CalendarNameStr) -> bool
257
258 Acutally create the GUI portion of the CalendarCtrl for 2-phase
259 creation.
260 """
261 return _calendar.CalendarCtrl_Create(*args, **kwargs)
262
263 def SetDate(*args, **kwargs):
264 """
265 SetDate(self, DateTime date)
266
267 Sets the current date.
268 """
269 return _calendar.CalendarCtrl_SetDate(*args, **kwargs)
270
271 def GetDate(*args, **kwargs):
272 """
273 GetDate(self) -> DateTime
274
275 Gets the currently selected date.
276 """
277 return _calendar.CalendarCtrl_GetDate(*args, **kwargs)
278
279 def SetLowerDateLimit(*args, **kwargs):
280 """
281 SetLowerDateLimit(self, DateTime date=DefaultDateTime) -> bool
282
283 set the range in which selection can occur
284 """
285 return _calendar.CalendarCtrl_SetLowerDateLimit(*args, **kwargs)
286
287 def SetUpperDateLimit(*args, **kwargs):
288 """
289 SetUpperDateLimit(self, DateTime date=DefaultDateTime) -> bool
290
291 set the range in which selection can occur
292 """
293 return _calendar.CalendarCtrl_SetUpperDateLimit(*args, **kwargs)
294
295 def GetLowerDateLimit(*args, **kwargs):
296 """
297 GetLowerDateLimit(self) -> DateTime
298
299 get the range in which selection can occur
300 """
301 return _calendar.CalendarCtrl_GetLowerDateLimit(*args, **kwargs)
302
303 def GetUpperDateLimit(*args, **kwargs):
304 """
305 GetUpperDateLimit(self) -> DateTime
306
307 get the range in which selection can occur
308 """
309 return _calendar.CalendarCtrl_GetUpperDateLimit(*args, **kwargs)
310
311 def SetDateRange(*args, **kwargs):
312 """
313 SetDateRange(self, DateTime lowerdate=DefaultDateTime, DateTime upperdate=DefaultDateTime) -> bool
314
315 set the range in which selection can occur
316 """
317 return _calendar.CalendarCtrl_SetDateRange(*args, **kwargs)
318
319 def EnableYearChange(*args, **kwargs):
320 """
321 EnableYearChange(self, bool enable=True)
322
323 This function should be used instead of changing CAL_NO_YEAR_CHANGE
324 style bit directly. It allows or disallows the user to change the year
325 interactively.
326 """
327 return _calendar.CalendarCtrl_EnableYearChange(*args, **kwargs)
328
329 def EnableMonthChange(*args, **kwargs):
330 """
331 EnableMonthChange(self, bool enable=True)
332
333 This function should be used instead of changing CAL_NO_MONTH_CHANGE
334 style bit. It allows or disallows the user to change the month
335 interactively. Note that if the month can not be changed, the year can
336 not be changed either.
337 """
338 return _calendar.CalendarCtrl_EnableMonthChange(*args, **kwargs)
339
340 def EnableHolidayDisplay(*args, **kwargs):
341 """
342 EnableHolidayDisplay(self, bool display=True)
343
344 This function should be used instead of changing CAL_SHOW_HOLIDAYS
345 style bit directly. It enables or disables the special highlighting of
346 the holidays.
347 """
348 return _calendar.CalendarCtrl_EnableHolidayDisplay(*args, **kwargs)
349
350 def SetHeaderColours(*args, **kwargs):
351 """
352 SetHeaderColours(self, Colour colFg, Colour colBg)
353
354 Header colours are used for painting the weekdays at the top.
355 """
356 return _calendar.CalendarCtrl_SetHeaderColours(*args, **kwargs)
357
358 def GetHeaderColourFg(*args, **kwargs):
359 """
360 GetHeaderColourFg(self) -> Colour
361
362 Header colours are used for painting the weekdays at the top.
363 """
364 return _calendar.CalendarCtrl_GetHeaderColourFg(*args, **kwargs)
365
366 def GetHeaderColourBg(*args, **kwargs):
367 """
368 GetHeaderColourBg(self) -> Colour
369
370 Header colours are used for painting the weekdays at the top.
371 """
372 return _calendar.CalendarCtrl_GetHeaderColourBg(*args, **kwargs)
373
374 def SetHighlightColours(*args, **kwargs):
375 """
376 SetHighlightColours(self, Colour colFg, Colour colBg)
377
378 Highlight colour is used for the currently selected date.
379 """
380 return _calendar.CalendarCtrl_SetHighlightColours(*args, **kwargs)
381
382 def GetHighlightColourFg(*args, **kwargs):
383 """
384 GetHighlightColourFg(self) -> Colour
385
386 Highlight colour is used for the currently selected date.
387 """
388 return _calendar.CalendarCtrl_GetHighlightColourFg(*args, **kwargs)
389
390 def GetHighlightColourBg(*args, **kwargs):
391 """
392 GetHighlightColourBg(self) -> Colour
393
394 Highlight colour is used for the currently selected date.
395 """
396 return _calendar.CalendarCtrl_GetHighlightColourBg(*args, **kwargs)
397
398 def SetHolidayColours(*args, **kwargs):
399 """
400 SetHolidayColours(self, Colour colFg, Colour colBg)
401
402 Holiday colour is used for the holidays (if CAL_SHOW_HOLIDAYS style is
403 used).
404 """
405 return _calendar.CalendarCtrl_SetHolidayColours(*args, **kwargs)
406
407 def GetHolidayColourFg(*args, **kwargs):
408 """
409 GetHolidayColourFg(self) -> Colour
410
411 Holiday colour is used for the holidays (if CAL_SHOW_HOLIDAYS style is
412 used).
413 """
414 return _calendar.CalendarCtrl_GetHolidayColourFg(*args, **kwargs)
415
416 def GetHolidayColourBg(*args, **kwargs):
417 """
418 GetHolidayColourBg(self) -> Colour
419
420 Holiday colour is used for the holidays (if CAL_SHOW_HOLIDAYS style is
421 used).
422 """
423 return _calendar.CalendarCtrl_GetHolidayColourBg(*args, **kwargs)
424
425 def GetAttr(*args, **kwargs):
426 """
427 GetAttr(self, size_t day) -> CalendarDateAttr
428
429 Returns the attribute for the given date (should be in the range
430 1...31). The returned value may be None
431 """
432 return _calendar.CalendarCtrl_GetAttr(*args, **kwargs)
433
434 def SetAttr(*args, **kwargs):
435 """
436 SetAttr(self, size_t day, CalendarDateAttr attr)
437
438 Associates the attribute with the specified date (in the range
439 1...31). If the attribute passed is None, the items attribute is
440 cleared.
441 """
442 return _calendar.CalendarCtrl_SetAttr(*args, **kwargs)
443
444 def SetHoliday(*args, **kwargs):
445 """
446 SetHoliday(self, size_t day)
447
448 Marks the specified day as being a holiday in the current month.
449 """
450 return _calendar.CalendarCtrl_SetHoliday(*args, **kwargs)
451
452 def ResetAttr(*args, **kwargs):
453 """
454 ResetAttr(self, size_t day)
455
456 Clears any attributes associated with the given day (in the range
457 1...31).
458 """
459 return _calendar.CalendarCtrl_ResetAttr(*args, **kwargs)
460
461 def HitTest(*args, **kwargs):
462 """
463 HitTest(Point pos) -> (result, date, weekday)
464
465 Returns 3-tuple with information about the given position on the
466 calendar control. The first value of the tuple is a result code and
467 determines the validity of the remaining two values.
468 """
469 return _calendar.CalendarCtrl_HitTest(*args, **kwargs)
470
471 def GetMonthControl(*args, **kwargs):
472 """
473 GetMonthControl(self) -> Control
474
475 Get the currently shown control for month.
476 """
477 return _calendar.CalendarCtrl_GetMonthControl(*args, **kwargs)
478
479 def GetYearControl(*args, **kwargs):
480 """
481 GetYearControl(self) -> Control
482
483 Get the currently shown control for year.
484 """
485 return _calendar.CalendarCtrl_GetYearControl(*args, **kwargs)
486
487 def GetClassDefaultAttributes(*args, **kwargs):
488 """
489 GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
490
491 Get the default attributes for this class. This is useful if you want
492 to use the same font or colour in your own control as in a standard
493 control -- which is a much better idea than hard coding specific
494 colours or fonts which might look completely out of place on the
495 user's system, especially if it uses themes.
496
497 The variant parameter is only relevant under Mac currently and is
498 ignore under other platforms. Under Mac, it will change the size of
499 the returned font. See `wx.Window.SetWindowVariant` for more about
500 this.
501 """
502 return _calendar.CalendarCtrl_GetClassDefaultAttributes(*args, **kwargs)
503
504 GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
505 def PySetDate(self, date):
506 """takes datetime.datetime or datetime.date object"""
507 self.SetDate(_pydate2wxdate(date))
508
509 def PyGetDate(self):
510 """returns datetime.date object"""
511 return _wxdate2pydate(self.GetDate())
512
513 def PySetLowerDateLimit(self, date):
514 """takes datetime.datetime or datetime.date object"""
515 self.SetLowerDateLimit(_pydate2wxdate(date))
516
517 def PySetUpperDateLimit(self, date):
518 """takes datetime.datetime or datetime.date object"""
519 self.SetUpperDateLimit(_pydate2wxdate(date))
520
521 def PySetDateRange(self, lowerdate, upperdate):
522 """takes datetime.datetime or datetime.date objects"""
523 self.PySetLowerDateLimit(lowerdate)
524 self.PySetUpperDateLimit(upperdate)
525
526 def PyGetLowerDateLimit(self):
527 """returns datetime.date object"""
528 return _wxdate2pydate(self.GetLowerDateLimit())
529
530 def PyGetUpperDateLimit(self):
531 """returns datetime.date object"""
532 return _wxdate2pydate(self.GetUpperDateLimit())
533
534 Date = property(GetDate,SetDate,doc="See `GetDate` and `SetDate`")
535 HeaderColourBg = property(GetHeaderColourBg,doc="See `GetHeaderColourBg`")
536 HeaderColourFg = property(GetHeaderColourFg,doc="See `GetHeaderColourFg`")
537 HighlightColourBg = property(GetHighlightColourBg,doc="See `GetHighlightColourBg`")
538 HighlightColourFg = property(GetHighlightColourFg,doc="See `GetHighlightColourFg`")
539 HolidayColourBg = property(GetHolidayColourBg,doc="See `GetHolidayColourBg`")
540 HolidayColourFg = property(GetHolidayColourFg,doc="See `GetHolidayColourFg`")
541 LowerDateLimit = property(GetLowerDateLimit,SetLowerDateLimit,doc="See `GetLowerDateLimit` and `SetLowerDateLimit`")
542 MonthControl = property(GetMonthControl,doc="See `GetMonthControl`")
543 UpperDateLimit = property(GetUpperDateLimit,SetUpperDateLimit,doc="See `GetUpperDateLimit` and `SetUpperDateLimit`")
544 YearControl = property(GetYearControl,doc="See `GetYearControl`")
545 _calendar.CalendarCtrl_swigregister(CalendarCtrl)
546 cvar = _calendar.cvar
547 CalendarNameStr = cvar.CalendarNameStr
548
549 def PreCalendarCtrl(*args, **kwargs):
550 """
551 PreCalendarCtrl() -> CalendarCtrl
552
553 Precreate a CalendarCtrl for 2-phase creation.
554 """
555 val = _calendar.new_PreCalendarCtrl(*args, **kwargs)
556 return val
557
558 def CalendarCtrl_GetClassDefaultAttributes(*args, **kwargs):
559 """
560 CalendarCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
561
562 Get the default attributes for this class. This is useful if you want
563 to use the same font or colour in your own control as in a standard
564 control -- which is a much better idea than hard coding specific
565 colours or fonts which might look completely out of place on the
566 user's system, especially if it uses themes.
567
568 The variant parameter is only relevant under Mac currently and is
569 ignore under other platforms. Under Mac, it will change the size of
570 the returned font. See `wx.Window.SetWindowVariant` for more about
571 this.
572 """
573 return _calendar.CalendarCtrl_GetClassDefaultAttributes(*args, **kwargs)
574
575 def _pydate2wxdate(date):
576 import datetime
577 assert isinstance(date, (datetime.datetime, datetime.date))
578 tt = date.timetuple()
579 dmy = (tt[2], tt[1]-1, tt[0])
580 return wx.DateTimeFromDMY(*dmy)
581
582 def _wxdate2pydate(date):
583 import datetime
584 assert isinstance(date, wx.DateTime)
585 if date.IsValid():
586 ymd = map(int, date.FormatISODate().split('-'))
587 return datetime.date(*ymd)
588 else:
589 return None
590
591
592