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