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