]>
Commit | Line | Data |
---|---|---|
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 | _calendar.CalendarDateAttr_swigregister(CalendarDateAttr) | |
165 | ||
166 | class CalendarEvent(_core.DateEvent): | |
167 | """Proxy of C++ CalendarEvent class""" | |
168 | thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') | |
169 | __repr__ = _swig_repr | |
170 | def __init__(self, *args, **kwargs): | |
171 | """__init__(self, CalendarCtrl cal, EventType type) -> CalendarEvent""" | |
172 | _calendar.CalendarEvent_swiginit(self,_calendar.new_CalendarEvent(*args, **kwargs)) | |
173 | def SetWeekDay(*args, **kwargs): | |
174 | """SetWeekDay(self, int wd)""" | |
175 | return _calendar.CalendarEvent_SetWeekDay(*args, **kwargs) | |
176 | ||
177 | def GetWeekDay(*args, **kwargs): | |
178 | """GetWeekDay(self) -> int""" | |
179 | return _calendar.CalendarEvent_GetWeekDay(*args, **kwargs) | |
180 | ||
181 | def PySetDate(self, date): | |
182 | """takes datetime.datetime or datetime.date object""" | |
183 | self.SetDate(_pydate2wxdate(date)) | |
184 | ||
185 | def PyGetDate(self): | |
186 | """returns datetime.date object""" | |
187 | return _wxdate2pydate(self.GetDate()) | |
188 | ||
189 | _calendar.CalendarEvent_swigregister(CalendarEvent) | |
190 | ||
191 | wxEVT_CALENDAR_DOUBLECLICKED = _calendar.wxEVT_CALENDAR_DOUBLECLICKED | |
192 | wxEVT_CALENDAR_SEL_CHANGED = _calendar.wxEVT_CALENDAR_SEL_CHANGED | |
193 | wxEVT_CALENDAR_DAY_CHANGED = _calendar.wxEVT_CALENDAR_DAY_CHANGED | |
194 | wxEVT_CALENDAR_MONTH_CHANGED = _calendar.wxEVT_CALENDAR_MONTH_CHANGED | |
195 | wxEVT_CALENDAR_YEAR_CHANGED = _calendar.wxEVT_CALENDAR_YEAR_CHANGED | |
196 | wxEVT_CALENDAR_WEEKDAY_CLICKED = _calendar.wxEVT_CALENDAR_WEEKDAY_CLICKED | |
197 | EVT_CALENDAR = wx.PyEventBinder( wxEVT_CALENDAR_DOUBLECLICKED, 1) | |
198 | EVT_CALENDAR_SEL_CHANGED = wx.PyEventBinder( wxEVT_CALENDAR_SEL_CHANGED, 1) | |
199 | EVT_CALENDAR_DAY = wx.PyEventBinder( wxEVT_CALENDAR_DAY_CHANGED, 1) | |
200 | EVT_CALENDAR_MONTH = wx.PyEventBinder( wxEVT_CALENDAR_MONTH_CHANGED, 1) | |
201 | EVT_CALENDAR_YEAR = wx.PyEventBinder( wxEVT_CALENDAR_YEAR_CHANGED, 1) | |
202 | EVT_CALENDAR_WEEKDAY_CLICKED = wx.PyEventBinder( wxEVT_CALENDAR_WEEKDAY_CLICKED, 1) | |
203 | ||
204 | class CalendarCtrl(_core.Control): | |
205 | """ | |
206 | The calendar control allows the user to pick a date interactively. | |
207 | ||
208 | The CalendarCtrl displays a window containing several parts: the | |
209 | control to pick the month and the year at the top (either or both of | |
210 | them may be disabled) and a month area below them which shows all the | |
211 | days in the month. The user can move the current selection using the | |
212 | keyboard and select the date (generating EVT_CALENDAR event) by | |
213 | pressing <Return> or double clicking it. | |
214 | ||
215 | It has advanced possibilities for the customization of its | |
216 | display. All global settings (such as colours and fonts used) can, of | |
217 | course, be changed. But also, the display style for each day in the | |
218 | month can be set independently using CalendarDateAttr class. | |
219 | ||
220 | An item without custom attributes is drawn with the default colours | |
221 | and font and without border, but setting custom attributes with | |
222 | `SetAttr` allows to modify its appearance. Just create a custom | |
223 | attribute object and set it for the day you want to be displayed | |
224 | specially A day may be marked as being a holiday, (even if it is not | |
225 | recognized as one by `wx.DateTime`) by using the SetHoliday method. | |
226 | ||
227 | As the attributes are specified for each day, they may change when the | |
228 | month is changed, so you will often want to update them in an | |
229 | EVT_CALENDAR_MONTH event handler. | |
230 | """ | |
231 | thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') | |
232 | __repr__ = _swig_repr | |
233 | def __init__(self, *args, **kwargs): | |
234 | """ | |
235 | __init__(self, Window parent, int id=-1, DateTime date=DefaultDateTime, | |
236 | Point pos=DefaultPosition, Size size=DefaultSize, | |
237 | long style=wxCAL_SHOW_HOLIDAYS|wxWANTS_CHARS, | |
238 | String name=CalendarNameStr) -> CalendarCtrl | |
239 | ||
240 | Create and show a calendar control. | |
241 | """ | |
242 | _calendar.CalendarCtrl_swiginit(self,_calendar.new_CalendarCtrl(*args, **kwargs)) | |
243 | self._setOORInfo(self) | |
244 | ||
245 | def Create(*args, **kwargs): | |
246 | """ | |
247 | Create(self, Window parent, int id, DateTime date=DefaultDateTime, | |
248 | Point pos=DefaultPosition, Size size=DefaultSize, | |
249 | long style=wxCAL_SHOW_HOLIDAYS|wxWANTS_CHARS, | |
250 | String name=CalendarNameStr) -> bool | |
251 | ||
252 | Acutally create the GUI portion of the CalendarCtrl for 2-phase | |
253 | creation. | |
254 | """ | |
255 | return _calendar.CalendarCtrl_Create(*args, **kwargs) | |
256 | ||
257 | def SetDate(*args, **kwargs): | |
258 | """ | |
259 | SetDate(self, DateTime date) | |
260 | ||
261 | Sets the current date. | |
262 | """ | |
263 | return _calendar.CalendarCtrl_SetDate(*args, **kwargs) | |
264 | ||
265 | def GetDate(*args, **kwargs): | |
266 | """ | |
267 | GetDate(self) -> DateTime | |
268 | ||
269 | Gets the currently selected date. | |
270 | """ | |
271 | return _calendar.CalendarCtrl_GetDate(*args, **kwargs) | |
272 | ||
273 | def SetLowerDateLimit(*args, **kwargs): | |
274 | """ | |
275 | SetLowerDateLimit(self, DateTime date=DefaultDateTime) -> bool | |
276 | ||
277 | set the range in which selection can occur | |
278 | """ | |
279 | return _calendar.CalendarCtrl_SetLowerDateLimit(*args, **kwargs) | |
280 | ||
281 | def SetUpperDateLimit(*args, **kwargs): | |
282 | """ | |
283 | SetUpperDateLimit(self, DateTime date=DefaultDateTime) -> bool | |
284 | ||
285 | set the range in which selection can occur | |
286 | """ | |
287 | return _calendar.CalendarCtrl_SetUpperDateLimit(*args, **kwargs) | |
288 | ||
289 | def GetLowerDateLimit(*args, **kwargs): | |
290 | """ | |
291 | GetLowerDateLimit(self) -> DateTime | |
292 | ||
293 | get the range in which selection can occur | |
294 | """ | |
295 | return _calendar.CalendarCtrl_GetLowerDateLimit(*args, **kwargs) | |
296 | ||
297 | def GetUpperDateLimit(*args, **kwargs): | |
298 | """ | |
299 | GetUpperDateLimit(self) -> DateTime | |
300 | ||
301 | get the range in which selection can occur | |
302 | """ | |
303 | return _calendar.CalendarCtrl_GetUpperDateLimit(*args, **kwargs) | |
304 | ||
305 | def SetDateRange(*args, **kwargs): | |
306 | """ | |
307 | SetDateRange(self, DateTime lowerdate=DefaultDateTime, DateTime upperdate=DefaultDateTime) -> bool | |
308 | ||
309 | set the range in which selection can occur | |
310 | """ | |
311 | return _calendar.CalendarCtrl_SetDateRange(*args, **kwargs) | |
312 | ||
313 | def EnableYearChange(*args, **kwargs): | |
314 | """ | |
315 | EnableYearChange(self, bool enable=True) | |
316 | ||
317 | This function should be used instead of changing CAL_NO_YEAR_CHANGE | |
318 | style bit directly. It allows or disallows the user to change the year | |
319 | interactively. | |
320 | """ | |
321 | return _calendar.CalendarCtrl_EnableYearChange(*args, **kwargs) | |
322 | ||
323 | def EnableMonthChange(*args, **kwargs): | |
324 | """ | |
325 | EnableMonthChange(self, bool enable=True) | |
326 | ||
327 | This function should be used instead of changing CAL_NO_MONTH_CHANGE | |
328 | style bit. It allows or disallows the user to change the month | |
329 | interactively. Note that if the month can not be changed, the year can | |
330 | not be changed either. | |
331 | """ | |
332 | return _calendar.CalendarCtrl_EnableMonthChange(*args, **kwargs) | |
333 | ||
334 | def EnableHolidayDisplay(*args, **kwargs): | |
335 | """ | |
336 | EnableHolidayDisplay(self, bool display=True) | |
337 | ||
338 | This function should be used instead of changing CAL_SHOW_HOLIDAYS | |
339 | style bit directly. It enables or disables the special highlighting of | |
340 | the holidays. | |
341 | """ | |
342 | return _calendar.CalendarCtrl_EnableHolidayDisplay(*args, **kwargs) | |
343 | ||
344 | def SetHeaderColours(*args, **kwargs): | |
345 | """ | |
346 | SetHeaderColours(self, Colour colFg, Colour colBg) | |
347 | ||
348 | Header colours are used for painting the weekdays at the top. | |
349 | """ | |
350 | return _calendar.CalendarCtrl_SetHeaderColours(*args, **kwargs) | |
351 | ||
352 | def GetHeaderColourFg(*args, **kwargs): | |
353 | """ | |
354 | GetHeaderColourFg(self) -> Colour | |
355 | ||
356 | Header colours are used for painting the weekdays at the top. | |
357 | """ | |
358 | return _calendar.CalendarCtrl_GetHeaderColourFg(*args, **kwargs) | |
359 | ||
360 | def GetHeaderColourBg(*args, **kwargs): | |
361 | """ | |
362 | GetHeaderColourBg(self) -> Colour | |
363 | ||
364 | Header colours are used for painting the weekdays at the top. | |
365 | """ | |
366 | return _calendar.CalendarCtrl_GetHeaderColourBg(*args, **kwargs) | |
367 | ||
368 | def SetHighlightColours(*args, **kwargs): | |
369 | """ | |
370 | SetHighlightColours(self, Colour colFg, Colour colBg) | |
371 | ||
372 | Highlight colour is used for the currently selected date. | |
373 | """ | |
374 | return _calendar.CalendarCtrl_SetHighlightColours(*args, **kwargs) | |
375 | ||
376 | def GetHighlightColourFg(*args, **kwargs): | |
377 | """ | |
378 | GetHighlightColourFg(self) -> Colour | |
379 | ||
380 | Highlight colour is used for the currently selected date. | |
381 | """ | |
382 | return _calendar.CalendarCtrl_GetHighlightColourFg(*args, **kwargs) | |
383 | ||
384 | def GetHighlightColourBg(*args, **kwargs): | |
385 | """ | |
386 | GetHighlightColourBg(self) -> Colour | |
387 | ||
388 | Highlight colour is used for the currently selected date. | |
389 | """ | |
390 | return _calendar.CalendarCtrl_GetHighlightColourBg(*args, **kwargs) | |
391 | ||
392 | def SetHolidayColours(*args, **kwargs): | |
393 | """ | |
394 | SetHolidayColours(self, Colour colFg, Colour colBg) | |
395 | ||
396 | Holiday colour is used for the holidays (if CAL_SHOW_HOLIDAYS style is | |
397 | used). | |
398 | """ | |
399 | return _calendar.CalendarCtrl_SetHolidayColours(*args, **kwargs) | |
400 | ||
401 | def GetHolidayColourFg(*args, **kwargs): | |
402 | """ | |
403 | GetHolidayColourFg(self) -> Colour | |
404 | ||
405 | Holiday colour is used for the holidays (if CAL_SHOW_HOLIDAYS style is | |
406 | used). | |
407 | """ | |
408 | return _calendar.CalendarCtrl_GetHolidayColourFg(*args, **kwargs) | |
409 | ||
410 | def GetHolidayColourBg(*args, **kwargs): | |
411 | """ | |
412 | GetHolidayColourBg(self) -> Colour | |
413 | ||
414 | Holiday colour is used for the holidays (if CAL_SHOW_HOLIDAYS style is | |
415 | used). | |
416 | """ | |
417 | return _calendar.CalendarCtrl_GetHolidayColourBg(*args, **kwargs) | |
418 | ||
419 | def GetAttr(*args, **kwargs): | |
420 | """ | |
421 | GetAttr(self, size_t day) -> CalendarDateAttr | |
422 | ||
423 | Returns the attribute for the given date (should be in the range | |
424 | 1...31). The returned value may be None | |
425 | """ | |
426 | return _calendar.CalendarCtrl_GetAttr(*args, **kwargs) | |
427 | ||
428 | def SetAttr(*args, **kwargs): | |
429 | """ | |
430 | SetAttr(self, size_t day, CalendarDateAttr attr) | |
431 | ||
432 | Associates the attribute with the specified date (in the range | |
433 | 1...31). If the attribute passed is None, the items attribute is | |
434 | cleared. | |
435 | """ | |
436 | return _calendar.CalendarCtrl_SetAttr(*args, **kwargs) | |
437 | ||
438 | def SetHoliday(*args, **kwargs): | |
439 | """ | |
440 | SetHoliday(self, size_t day) | |
441 | ||
442 | Marks the specified day as being a holiday in the current month. | |
443 | """ | |
444 | return _calendar.CalendarCtrl_SetHoliday(*args, **kwargs) | |
445 | ||
446 | def ResetAttr(*args, **kwargs): | |
447 | """ | |
448 | ResetAttr(self, size_t day) | |
449 | ||
450 | Clears any attributes associated with the given day (in the range | |
451 | 1...31). | |
452 | """ | |
453 | return _calendar.CalendarCtrl_ResetAttr(*args, **kwargs) | |
454 | ||
455 | def HitTest(*args, **kwargs): | |
456 | """ | |
457 | HitTest(Point pos) -> (result, date, weekday) | |
458 | ||
459 | Returns 3-tuple with information about the given position on the | |
460 | calendar control. The first value of the tuple is a result code and | |
461 | determines the validity of the remaining two values. | |
462 | """ | |
463 | return _calendar.CalendarCtrl_HitTest(*args, **kwargs) | |
464 | ||
465 | def GetMonthControl(*args, **kwargs): | |
466 | """ | |
467 | GetMonthControl(self) -> Control | |
468 | ||
469 | Get the currently shown control for month. | |
470 | """ | |
471 | return _calendar.CalendarCtrl_GetMonthControl(*args, **kwargs) | |
472 | ||
473 | def GetYearControl(*args, **kwargs): | |
474 | """ | |
475 | GetYearControl(self) -> Control | |
476 | ||
477 | Get the currently shown control for year. | |
478 | """ | |
479 | return _calendar.CalendarCtrl_GetYearControl(*args, **kwargs) | |
480 | ||
481 | def GetClassDefaultAttributes(*args, **kwargs): | |
482 | """ | |
483 | GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes | |
484 | ||
485 | Get the default attributes for this class. This is useful if you want | |
486 | to use the same font or colour in your own control as in a standard | |
487 | control -- which is a much better idea than hard coding specific | |
488 | colours or fonts which might look completely out of place on the | |
489 | user's system, especially if it uses themes. | |
490 | ||
491 | The variant parameter is only relevant under Mac currently and is | |
492 | ignore under other platforms. Under Mac, it will change the size of | |
493 | the returned font. See `wx.Window.SetWindowVariant` for more about | |
494 | this. | |
495 | """ | |
496 | return _calendar.CalendarCtrl_GetClassDefaultAttributes(*args, **kwargs) | |
497 | ||
498 | GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes) | |
499 | def PySetDate(self, date): | |
500 | """takes datetime.datetime or datetime.date object""" | |
501 | self.SetDate(_pydate2wxdate(date)) | |
502 | ||
503 | def PyGetDate(self): | |
504 | """returns datetime.date object""" | |
505 | return _wxdate2pydate(self.GetDate()) | |
506 | ||
507 | def PySetLowerDateLimit(self, date): | |
508 | """takes datetime.datetime or datetime.date object""" | |
509 | self.SetLowerDateLimit(_pydate2wxdate(date)) | |
510 | ||
511 | def PySetUpperDateLimit(self, date): | |
512 | """takes datetime.datetime or datetime.date object""" | |
513 | self.SetUpperDateLimit(_pydate2wxdate(date)) | |
514 | ||
515 | def PySetDateRange(self, lowerdate, upperdate): | |
516 | """takes datetime.datetime or datetime.date objects""" | |
517 | self.PySetLowerDateLimit(lowerdate) | |
518 | self.PySetUpperDateLimit(upperdate) | |
519 | ||
520 | def PyGetLowerDateLimit(self): | |
521 | """returns datetime.date object""" | |
522 | return _wxdate2pydate(self.GetLowerDateLimit()) | |
523 | ||
524 | def PyGetUpperDateLimit(self): | |
525 | """returns datetime.date object""" | |
526 | return _wxdate2pydate(self.GetUpperDateLimit()) | |
527 | ||
528 | _calendar.CalendarCtrl_swigregister(CalendarCtrl) | |
529 | cvar = _calendar.cvar | |
530 | CalendarNameStr = cvar.CalendarNameStr | |
531 | ||
532 | def PreCalendarCtrl(*args, **kwargs): | |
533 | """ | |
534 | PreCalendarCtrl() -> CalendarCtrl | |
535 | ||
536 | Precreate a CalendarCtrl for 2-phase creation. | |
537 | """ | |
538 | val = _calendar.new_PreCalendarCtrl(*args, **kwargs) | |
539 | return val | |
540 | ||
541 | def CalendarCtrl_GetClassDefaultAttributes(*args, **kwargs): | |
542 | """ | |
543 | CalendarCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes | |
544 | ||
545 | Get the default attributes for this class. This is useful if you want | |
546 | to use the same font or colour in your own control as in a standard | |
547 | control -- which is a much better idea than hard coding specific | |
548 | colours or fonts which might look completely out of place on the | |
549 | user's system, especially if it uses themes. | |
550 | ||
551 | The variant parameter is only relevant under Mac currently and is | |
552 | ignore under other platforms. Under Mac, it will change the size of | |
553 | the returned font. See `wx.Window.SetWindowVariant` for more about | |
554 | this. | |
555 | """ | |
556 | return _calendar.CalendarCtrl_GetClassDefaultAttributes(*args, **kwargs) | |
557 | ||
558 | def _pydate2wxdate(date): | |
559 | import datetime | |
560 | assert isinstance(date, (datetime.datetime, datetime.date)) | |
561 | tt = date.timetuple() | |
562 | dmy = (tt[2], tt[1]-1, tt[0]) | |
563 | return wx.DateTimeFromDMY(*dmy) | |
564 | ||
565 | def _wxdate2pydate(date): | |
566 | import datetime | |
567 | assert isinstance(date, wx.DateTime) | |
568 | if date.IsValid(): | |
569 | ymd = map(int, date.FormatISODate().split('-')) | |
570 | return datetime.date(*ymd) | |
571 | else: | |
572 | return None | |
573 | ||
574 | ||
575 |