]> git.saurik.com Git - wxWidgets.git/blob - utils/wxPython/src/_extras.py
more wxGTK compatibility things.
[wxWidgets.git] / utils / wxPython / src / _extras.py
1 #----------------------------------------------------------------------------
2 # Name: _extra.py
3 # Purpose: This file is appended to the shadow class file generated
4 # by SWIG. We add some unSWIGable things here.
5 #
6 # Author: Robin Dunn
7 #
8 # Created: 6/30/97
9 # RCS-ID: $Id$
10 # Copyright: (c) 1998 by Total Control Software
11 # Licence: wxWindows license
12 #----------------------------------------------------------------------------
13
14 import sys
15
16 #----------------------------------------------------------------------
17 # This gives this module's dictionary to the C++ extension code...
18
19 _wxSetDictionary(vars())
20
21
22 #----------------------------------------------------------------------
23 #----------------------------------------------------------------------
24 # Helper function to link python methods to wxWindows virtual
25 # functions by name.
26
27 def _checkForCallback(obj, name, event, theID=-1):
28 try: cb = getattr(obj, name)
29 except: pass
30 else: obj.Connect(theID, -1, event, cb)
31
32 def _StdWindowCallbacks(win):
33 _checkForCallback(win, "OnChar", wxEVT_CHAR)
34 _checkForCallback(win, "OnSize", wxEVT_SIZE)
35 _checkForCallback(win, "OnEraseBackground", wxEVT_ERASE_BACKGROUND)
36 _checkForCallback(win, "OnSysColourChanged", wxEVT_SYS_COLOUR_CHANGED)
37 _checkForCallback(win, "OnInitDialog", wxEVT_INIT_DIALOG)
38 _checkForCallback(win, "OnIdle", wxEVT_IDLE)
39 _checkForCallback(win, "OnPaint", wxEVT_PAINT)
40
41 def _StdFrameCallbacks(win):
42 _StdWindowCallbacks(win)
43 _checkForCallback(win, "OnActivate", wxEVT_ACTIVATE)
44 _checkForCallback(win, "OnMenuHighlight", wxEVT_MENU_HIGHLIGHT)
45 _checkForCallback(win, "OnCloseWindow", wxEVT_CLOSE_WINDOW)
46
47
48 def _StdOnScrollCallback(win):
49 try: cb = getattr(win, "OnScroll")
50 except: pass
51 else: EVT_SCROLL(win, cb)
52
53
54
55 #----------------------------------------------------------------------
56 #----------------------------------------------------------------------
57 # functions that look and act like the C++ Macros of the same name
58
59
60 # Miscellaneous
61 def EVT_SIZE(win, func):
62 win.Connect(-1, -1, wxEVT_SIZE, func)
63
64 def EVT_MOVE(win, func):
65 win.Connect(-1, -1, wxEVT_MOVE, func)
66
67 def EVT_CLOSE(win, func):
68 win.Connect(-1, -1, wxEVT_CLOSE_WINDOW, func)
69
70 def EVT_PAINT(win, func):
71 win.Connect(-1, -1, wxEVT_PAINT, func)
72
73 def EVT_ERASE_BACKGROUND(win, func):
74 win.Connect(-1, -1, wxEVT_ERASE_BACKGROUND, func)
75
76 def EVT_CHAR(win, func):
77 win.Connect(-1, -1, wxEVT_CHAR, func)
78
79 def EVT_CHAR_HOOK(win, func):
80 win.Connect(-1, -1, wxEVT_CHAR_HOOK, func)
81
82 def EVT_MENU_HIGHLIGHT(win, id, func):
83 win.Connect(id, -1, wxEVT_MENU_HIGHLIGHT, func)
84
85 def EVT_MENU_HIGHLIGHT_ALL(win, func):
86 win.Connect(-1, -1, wxEVT_MENU_HIGHLIGHT, func)
87
88 def EVT_SET_FOCUS(win, func):
89 win.Connect(-1, -1, wxEVT_SET_FOCUS, func)
90
91 def EVT_KILL_FOCUS(win, func):
92 win.Connect(-1, -1, wxEVT_KILL_FOCUS, func)
93
94 def EVT_ACTIVATE(win, func):
95 win.Connect(-1, -1, wxEVT_ACTIVATE, func)
96
97 def EVT_ACTIVATE_APP(win, func):
98 win.Connect(-1, -1, wxEVT_ACTIVATE_APP, func)
99
100 def EVT_END_SESSION(win, func):
101 win.Connect(-1, -1, wxEVT_END_SESSION, func)
102
103 def EVT_QUERY_END_SESSION(win, func):
104 win.Connect(-1, -1, wxEVT_QUERY_END_SESSION, func)
105
106 def EVT_DROP_FILES(win, func):
107 win.Connect(-1, -1, wxEVT_DROP_FILES, func)
108
109 def EVT_INIT_DIALOG(win, func):
110 win.Connect(-1, -1, wxEVT_INIT_DIALOG, func)
111
112 def EVT_SYS_COLOUR_CHANGED(win, func):
113 win.Connect(-1, -1, wxEVT_SYS_COLOUR_CHANGED, func)
114
115 def EVT_SHOW(win, func):
116 win.Connect(-1, -1, wxEVT_SHOW, func)
117
118 def EVT_MAXIMIZE(win, func):
119 win.Connect(-1, -1, wxEVT_MAXIMIZE, func)
120
121 def EVT_ICONIZE(win, func):
122 win.Connect(-1, -1, wxEVT_ICONIZE, func)
123
124 def EVT_NAVIGATION_KEY(win, func):
125 win.Connect(-1, -1, wxEVT_NAVIGATION_KEY, func)
126
127
128 # Mouse Events
129 def EVT_LEFT_DOWN(win, func):
130 win.Connect(-1, -1, wxEVT_LEFT_DOWN, func)
131
132 def EVT_LEFT_UP(win, func):
133 win.Connect(-1, -1, wxEVT_LEFT_UP, func)
134
135 def EVT_MIDDLE_DOWN(win, func):
136 win.Connect(-1, -1, wxEVT_MIDDLE_DOWN, func)
137
138 def EVT_MIDDLE_UP(win, func):
139 win.Connect(-1, -1, wxEVT_MIDDLE_UP, func)
140
141 def EVT_RIGHT_DOWN(win, func):
142 win.Connect(-1, -1, wxEVT_RIGHT_DOWN, func)
143
144 def EVT_RIGHT_UP(win, func):
145 win.Connect(-1, -1, wxEVT_RIGHT_UP, func)
146
147 def EVT_MOTION(win, func):
148 win.Connect(-1, -1, wxEVT_MOTION, func)
149
150 def EVT_LEFT_DCLICK(win, func):
151 win.Connect(-1, -1, wxEVT_LEFT_DCLICK, func)
152
153 def EVT_MIDDLE_DCLICK(win, func):
154 win.Connect(-1, -1, wxEVT_MIDDLE_DCLICK, func)
155
156 def EVT_RIGHT_DCLICK(win, func):
157 win.Connect(-1, -1, wxEVT_RIGHT_DCLICK, func)
158
159 def EVT_LEAVE_WINDOW(win, func):
160 win.Connect(-1, -1, wxEVT_LEAVE_WINDOW, func)
161
162 def EVT_ENTER_WINDOW(win, func):
163 win.Connect(-1, -1, wxEVT_ENTER_WINDOW, func)
164
165
166 # all mouse events
167 def EVT_MOUSE_EVENTS(win, func):
168 win.Connect(-1, -1, wxEVT_LEFT_DOWN, func)
169 win.Connect(-1, -1, wxEVT_LEFT_UP, func)
170 win.Connect(-1, -1, wxEVT_MIDDLE_DOWN, func)
171 win.Connect(-1, -1, wxEVT_MIDDLE_UP, func)
172 win.Connect(-1, -1, wxEVT_RIGHT_DOWN, func)
173 win.Connect(-1, -1, wxEVT_RIGHT_UP, func)
174 win.Connect(-1, -1, wxEVT_MOTION, func)
175 win.Connect(-1, -1, wxEVT_LEFT_DCLICK, func)
176 win.Connect(-1, -1, wxEVT_MIDDLE_DCLICK, func)
177 win.Connect(-1, -1, wxEVT_RIGHT_DCLICK, func)
178 win.Connect(-1, -1, wxEVT_LEAVE_WINDOW, func)
179 win.Connect(-1, -1, wxEVT_ENTER_WINDOW, func)
180
181 # EVT_COMMAND
182 def EVT_COMMAND(win, id, cmd, func):
183 win.Connect(id, -1, cmd, func)
184
185 def EVT_COMMAND_RANGE(win, id1, id2, cmd, func):
186 win.Connect(id1, id2, cmd, func)
187
188 # Scrolling
189 def EVT_SCROLL(win, func):
190 win.Connect(-1, -1, wxEVT_SCROLL_TOP, func)
191 win.Connect(-1, -1, wxEVT_SCROLL_BOTTOM, func)
192 win.Connect(-1, -1, wxEVT_SCROLL_LINEUP, func)
193 win.Connect(-1, -1, wxEVT_SCROLL_LINEDOWN, func)
194 win.Connect(-1, -1, wxEVT_SCROLL_PAGEUP, func)
195 win.Connect(-1, -1, wxEVT_SCROLL_PAGEDOWN, func)
196 win.Connect(-1, -1, wxEVT_SCROLL_THUMBTRACK,func)
197
198 def EVT_SCROLL_TOP(win, func):
199 win.Connect(-1, -1, wxEVT_SCROLL_TOP, func)
200
201 def EVT_SCROLL_BOTTOM(win, func):
202 win.Connect(-1, -1, wxEVT_SCROLL_BOTTOM, func)
203
204 def EVT_SCROLL_LINEUP(win, func):
205 win.Connect(-1, -1, wxEVT_SCROLL_LINEUP, func)
206
207 def EVT_SCROLL_LINEDOWN(win, func):
208 win.Connect(-1, -1, wxEVT_SCROLL_LINEDOWN, func)
209
210 def EVT_SCROLL_PAGEUP(win, func):
211 win.Connect(-1, -1, wxEVT_SCROLL_PAGEUP, func)
212
213 def EVT_SCROLL_PAGEDOWN(win, func):
214 win.Connect(-1, -1, wxEVT_SCROLL_PAGEDOWN, func)
215
216 def EVT_SCROLL_THUMBTRACK(win, func):
217 win.Connect(-1, -1, wxEVT_SCROLL_THUMBTRACK, func)
218
219
220
221 # Scrolling, with an id
222 def EVT_COMMAND_SCROLL(win, id, func):
223 win.Connect(id, -1, wxEVT_SCROLL_TOP, func)
224 win.Connect(id, -1, wxEVT_SCROLL_BOTTOM, func)
225 win.Connect(id, -1, wxEVT_SCROLL_LINEUP, func)
226 win.Connect(id, -1, wxEVT_SCROLL_LINEDOWN, func)
227 win.Connect(id, -1, wxEVT_SCROLL_PAGEUP, func)
228 win.Connect(id, -1, wxEVT_SCROLL_PAGEDOWN, func)
229 win.Connect(id, -1, wxEVT_SCROLL_THUMBTRACK,func)
230
231 def EVT_COMMAND_SCROLL_TOP(win, id, func):
232 win.Connect(id, -1, wxEVT_SCROLL_TOP, func)
233
234 def EVT_COMMAND_SCROLL_BOTTOM(win, id, func):
235 win.Connect(id, -1, wxEVT_SCROLL_BOTTOM, func)
236
237 def EVT_COMMAND_SCROLL_LINEUP(win, id, func):
238 win.Connect(id, -1, wxEVT_SCROLL_LINEUP, func)
239
240 def EVT_COMMAND_SCROLL_LINEDOWN(win, id, func):
241 win.Connect(id, -1, wxEVT_SCROLL_LINEDOWN, func)
242
243 def EVT_COMMAND_SCROLL_PAGEUP(win, id, func):
244 win.Connect(id, -1, wxEVT_SCROLL_PAGEUP, func)
245
246 def EVT_COMMAND_SCROLL_PAGEDOWN(win, id, func):
247 win.Connect(id, -1, wxEVT_SCROLL_PAGEDOWN, func)
248
249 def EVT_COMMAND_SCROLL_THUMBTRACK(win, id, func):
250 win.Connect(id, -1, wxEVT_SCROLL_THUMBTRACK, func)
251
252
253 # Convenience commands
254 def EVT_BUTTON(win, id, func):
255 win.Connect(id, -1, wxEVT_COMMAND_BUTTON_CLICKED, func)
256
257 def EVT_CHECKBOX(win, id, func):
258 win.Connect(id, -1, wxEVT_COMMAND_CHECKBOX_CLICKED, func)
259
260 def EVT_CHOICE(win, id, func):
261 win.Connect(id, -1, wxEVT_COMMAND_CHOICE_SELECTED, func)
262
263 def EVT_LISTBOX(win, id, func):
264 win.Connect(id, -1, wxEVT_COMMAND_LISTBOX_SELECTED, func)
265
266 def EVT_LISTBOX_DCLICK(win, id, func):
267 win.Connect(id, -1, wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, func)
268
269 def EVT_TEXT(win, id, func):
270 win.Connect(id, -1, wxEVT_COMMAND_TEXT_UPDATED, func)
271
272 def EVT_TEXT_ENTER(win, id, func):
273 win.Connect(id, -1, wxEVT_COMMAND_TEXT_ENTER, func)
274
275 def EVT_MENU(win, id, func):
276 win.Connect(id, -1, wxEVT_COMMAND_MENU_SELECTED, func)
277
278 def EVT_MENU_RANGE(win, id1, id2, func):
279 win.Connect(id1, id2, wxEVT_COMMAND_MENU_SELECTED, func)
280
281 def EVT_SLIDER(win, id, func):
282 win.Connect(id, -1, wxEVT_COMMAND_SLIDER_UPDATED, func)
283
284 def EVT_RADIOBOX(win, id, func):
285 win.Connect(id, -1, wxEVT_COMMAND_RADIOBOX_SELECTED, func)
286
287 def EVT_RADIOBUTTON(win, id, func):
288 win.Connect(id, -1, wxEVT_COMMAND_RADIOBUTTON_SELECTED, func)
289
290 def EVT_VLBOX(win, id, func):
291 win.Connect(id, -1, wxEVT_COMMAND_VLBOX_SELECTED, func)
292
293 def EVT_COMBOBOX(win, id, func):
294 win.Connect(id, -1, wxEVT_COMMAND_COMBOBOX_SELECTED, func)
295
296 def EVT_TOOL(win, id, func):
297 win.Connect(id, -1, wxEVT_COMMAND_TOOL_CLICKED, func)
298
299 def EVT_TOOL_RCLICKED(win, id, func):
300 win.Connect(id, -1, wxEVT_COMMAND_TOOL_RCLICKED, func)
301
302 def EVT_TOOL_ENTER(win, id, func):
303 win.Connect(id, -1, wxEVT_COMMAND_TOOL_ENTER, func)
304
305 def EVT_CHECKLISTBOX(win, id, func):
306 win.Connect(id, -1, wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, func)
307
308
309 # Generic command events
310
311 def EVT_COMMAND_LEFT_CLICK(win, id, func):
312 win.Connect(id, -1, wxEVT_COMMAND_LEFT_CLICK, func)
313
314 def EVT_COMMAND_LEFT_DCLICK(win, id, func):
315 win.Connect(id, -1, wxEVT_COMMAND_LEFT_DCLICK, func)
316
317 def EVT_COMMAND_RIGHT_CLICK(win, id, func):
318 win.Connect(id, -1, wxEVT_COMMAND_RIGHT_CLICK, func)
319
320 def EVT_COMMAND_RIGHT_DCLICK(win, id, func):
321 win.Connect(id, -1, wxEVT_COMMAND_RIGHT_DCLICK, func)
322
323 def EVT_COMMAND_SET_FOCUS(win, id, func):
324 win.Connect(id, -1, wxEVT_COMMAND_SET_FOCUS, func)
325
326 def EVT_COMMAND_KILL_FOCUS(win, id, func):
327 win.Connect(id, -1, wxEVT_COMMAND_KILL_FOCUS, func)
328
329 def EVT_COMMAND_ENTER(win, id, func):
330 win.Connect(id, -1, wxEVT_COMMAND_ENTER, func)
331
332
333
334 def EVT_NOTEBOOK_PAGE_CHANGED(win, id, func):
335 win.Connect(id, -1, wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, func)
336
337 def EVT_NOTEBOOK_PAGE_CHANGING(win, id, func):
338 win.Connect(id, -1, wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, func)
339
340
341
342 #----------------------------------------------------------------------
343 #----------------------------------------------------------------------
344 # We need to add to the shadow classes a bit to facilitate callbacks via
345 # virtual functions. These classes replace the shadows generated by SWIG.
346
347 class wxWindow(wxWindowPtr):
348 def __init__(self,arg0,arg1,*args) :
349 argl = map(None,args)
350 try: argl[0] = argl[0].this
351 except: pass
352 try: argl[1] = argl[1].this
353 except: pass
354 args = tuple(argl)
355 self.this = apply(windowsc.new_wxWindow,(arg0.this,arg1,)+args)
356 self.thisown = 1
357 _StdWindowCallbacks(self)
358
359
360 class wxFrame(wxFramePtr):
361 def __init__(self,arg0,arg1,arg2,*args) :
362 argl = map(None,args)
363 try: argl[0] = argl[0].this
364 except: pass
365 try: argl[1] = argl[1].this
366 except: pass
367 args = tuple(argl)
368 self.this = apply(windowsc.new_wxFrame,(arg0.this,arg1,arg2,)+args)
369 self.thisown = 1
370 _StdFrameCallbacks(self)
371
372
373 if wxPlatform == '__WXMSW__':
374 class wxMiniFrame(wxMiniFramePtr):
375 def __init__(self,arg0,arg1,arg2,*args) :
376 argl = map(None,args)
377 try: argl[0] = argl[0].this
378 except: pass
379 try: argl[1] = argl[1].this
380 except: pass
381 args = tuple(argl)
382 self.this = apply(windowsc.new_wxMiniFrame,(arg0.this,arg1,arg2,)+args)
383 self.thisown = 1
384 _StdFrameCallbacks(self)
385
386
387 class wxPanel(wxPanelPtr):
388 def __init__(self,arg0,arg1,*args) :
389 argl = map(None,args)
390 try: argl[0] = argl[0].this
391 except: pass
392 try: argl[1] = argl[1].this
393 except: pass
394 args = tuple(argl)
395 self.this = apply(windowsc.new_wxPanel,(arg0.this,arg1,)+args)
396 self.thisown = 1
397 _StdWindowCallbacks(self)
398
399
400 class wxDialog(wxDialogPtr):
401 def __init__(self,arg0,arg1,arg2,*args) :
402 argl = map(None,args)
403 try: argl[0] = argl[0].this
404 except: pass
405 try: argl[1] = argl[1].this
406 except: pass
407 args = tuple(argl)
408 self.this = apply(windowsc.new_wxDialog,(arg0.this,arg1,arg2,)+args)
409 self.thisown = 1
410 _StdWindowCallbacks(self)
411 _checkForCallback(self, "OnOk", wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK)
412 _checkForCallback(self, "OnApply", wxEVT_COMMAND_BUTTON_CLICKED, wxID_APPLY)
413 _checkForCallback(self, "OnCancel", wxEVT_COMMAND_BUTTON_CLICKED, wxID_CANCEL)
414 _checkForCallback(self, "OnCloseWindow", wxEVT_CLOSE_WINDOW)
415 _checkForCallback(self, "OnCharHook", wxEVT_CHAR_HOOK)
416
417
418 class wxScrolledWindow(wxScrolledWindowPtr):
419 def __init__(self,arg0,*args) :
420 argl = map(None,args)
421 try: argl[1] = argl[1].this
422 except: pass
423 try: argl[2] = argl[2].this
424 except: pass
425 args = tuple(argl)
426 self.this = apply(windowsc.new_wxScrolledWindow,(arg0.this,)+args)
427 self.thisown = 1
428 _StdWindowCallbacks(self)
429 _StdOnScrollCallback(self)
430
431
432
433 class wxMDIParentFrame(wxMDIParentFramePtr):
434 def __init__(self,arg0,arg1,arg2,*args) :
435 argl = map(None,args)
436 try: argl[0] = argl[0].this
437 except: pass
438 try: argl[1] = argl[1].this
439 except: pass
440 args = tuple(argl)
441 self.this = apply(mdic.new_wxMDIParentFrame,(arg0.this,arg1,arg2,)+args)
442 self.thisown = 1
443 _StdFrameCallbacks(self)
444
445
446 class wxMDIChildFrame(wxMDIChildFramePtr):
447 def __init__(self,arg0,arg1,arg2,*args) :
448 argl = map(None,args)
449 try: argl[0] = argl[0].this
450 except: pass
451 try: argl[1] = argl[1].this
452 except: pass
453 args = tuple(argl)
454 self.this = apply(mdic.new_wxMDIChildFrame,(arg0.this,arg1,arg2,)+args)
455 self.thisown = 1
456 _StdFrameCallbacks(self)
457
458
459 class wxMDIClientWindow(wxMDIClientWindowPtr):
460 def __init__(self,arg0,*args) :
461 self.this = apply(mdic.new_wxMDIClientWindow,(arg0.this,)+args)
462 self.thisown = 1
463 _StdWindowCallbacks(self)
464 _StdOnScrollCallback(self)
465
466
467
468 class wxControl(wxControlPtr):
469 def __init__(self,this):
470 self.this = this
471 _StdWindowCallbacks(self)
472
473 class wxButton(wxButtonPtr):
474 def __init__(self,arg0,arg1,arg2,*args) :
475 argl = map(None,args)
476 try: argl[0] = argl[0].this
477 except: pass
478 try: argl[1] = argl[1].this
479 except: pass
480 args = tuple(argl)
481 self.this = apply(controlsc.new_wxButton,(arg0.this,arg1,arg2,)+args)
482 self.thisown = 1
483 _StdWindowCallbacks(self)
484
485 class wxBitmapButton(wxBitmapButtonPtr):
486 def __init__(self,arg0,arg1,arg2,*args) :
487 argl = map(None,args)
488 try: argl[0] = argl[0].this
489 except: pass
490 try: argl[1] = argl[1].this
491 except: pass
492 args = tuple(argl)
493 self.this = apply(controlsc.new_wxBitmapButton,(arg0.this,arg1,arg2.this,)+args)
494 self.thisown = 1
495 _StdWindowCallbacks(self)
496
497 class wxCheckBox(wxCheckBoxPtr):
498 def __init__(self,arg0,arg1,arg2,*args) :
499 argl = map(None,args)
500 try: argl[0] = argl[0].this
501 except: pass
502 try: argl[1] = argl[1].this
503 except: pass
504 args = tuple(argl)
505 self.this = apply(controlsc.new_wxCheckBox,(arg0.this,arg1,arg2,)+args)
506 self.thisown = 1
507 _StdWindowCallbacks(self)
508
509
510
511 class wxChoice(wxChoicePtr):
512 def __init__(self,arg0,arg1,*args) :
513 argl = map(None,args)
514 try: argl[0] = argl[0].this
515 except: pass
516 try: argl[1] = argl[1].this
517 except: pass
518 args = tuple(argl)
519 self.this = apply(controlsc.new_wxChoice,(arg0.this,arg1,)+args)
520 self.thisown = 1
521 _StdWindowCallbacks(self)
522
523 class wxComboBox(wxComboBoxPtr):
524 def __init__(self,arg0,arg1,*args) :
525 argl = map(None,args)
526 try: argl[1] = argl[1].this
527 except: pass
528 try: argl[2] = argl[2].this
529 except: pass
530 args = tuple(argl)
531 self.this = apply(controlsc.new_wxComboBox,(arg0.this,arg1,)+args)
532 self.thisown = 1
533 _StdWindowCallbacks(self)
534
535 class wxGauge(wxGaugePtr):
536 def __init__(self,arg0,arg1,arg2,*args) :
537 argl = map(None,args)
538 try: argl[0] = argl[0].this
539 except: pass
540 try: argl[1] = argl[1].this
541 except: pass
542 args = tuple(argl)
543 self.this = apply(controlsc.new_wxGauge,(arg0.this,arg1,arg2,)+args)
544 self.thisown = 1
545 _StdWindowCallbacks(self)
546
547 class wxStaticBox(wxStaticBoxPtr):
548 def __init__(self,arg0,arg1,arg2,*args) :
549 argl = map(None,args)
550 try: argl[0] = argl[0].this
551 except: pass
552 try: argl[1] = argl[1].this
553 except: pass
554 args = tuple(argl)
555 self.this = apply(controlsc.new_wxStaticBox,(arg0.this,arg1,arg2,)+args)
556 self.thisown = 1
557 _StdWindowCallbacks(self)
558
559 class wxStaticText(wxStaticTextPtr):
560 def __init__(self,arg0,arg1,arg2,*args) :
561 argl = map(None,args)
562 try: argl[0] = argl[0].this
563 except: pass
564 try: argl[1] = argl[1].this
565 except: pass
566 args = tuple(argl)
567 self.this = apply(controlsc.new_wxStaticText,(arg0.this,arg1,arg2,)+args)
568 self.thisown = 1
569 _StdWindowCallbacks(self)
570
571 class wxListBox(wxListBoxPtr):
572 def __init__(self,arg0,arg1,*args) :
573 argl = map(None,args)
574 try: argl[0] = argl[0].this
575 except: pass
576 try: argl[1] = argl[1].this
577 except: pass
578 args = tuple(argl)
579 self.this = apply(controlsc.new_wxListBox,(arg0.this,arg1,)+args)
580 self.thisown = 1
581 _StdWindowCallbacks(self)
582
583 class wxTextCtrl(wxTextCtrlPtr):
584 def __init__(self,arg0,arg1,*args) :
585 argl = map(None,args)
586 try: argl[1] = argl[1].this
587 except: pass
588 try: argl[2] = argl[2].this
589 except: pass
590 args = tuple(argl)
591 self.this = apply(controlsc.new_wxTextCtrl,(arg0.this,arg1,)+args)
592 self.thisown = 1
593 _StdWindowCallbacks(self)
594
595 class wxScrollBar(wxScrollBarPtr):
596 def __init__(self,arg0,*args) :
597 argl = map(None,args)
598 try: argl[1] = argl[1].this
599 except: pass
600 try: argl[2] = argl[2].this
601 except: pass
602 args = tuple(argl)
603 self.this = apply(controlsc.new_wxScrollBar,(arg0.this,)+args)
604 self.thisown = 1
605 _StdWindowCallbacks(self)
606
607 if wxPlatform == '__WXMSW__':
608 class wxSpinButton(wxSpinButtonPtr):
609 def __init__(self,arg0,*args) :
610 argl = map(None,args)
611 try: argl[1] = argl[1].this
612 except: pass
613 try: argl[2] = argl[2].this
614 except: pass
615 args = tuple(argl)
616 self.this = apply(controlsc.new_wxSpinButton,(arg0.this,)+args)
617 self.thisown = 1
618 _StdWindowCallbacks(self)
619
620 class wxStaticBitmap(wxStaticBitmapPtr):
621 def __init__(self,arg0,arg1,arg2,*args) :
622 argl = map(None,args)
623 try: argl[0] = argl[0].this
624 except: pass
625 try: argl[1] = argl[1].this
626 except: pass
627 args = tuple(argl)
628 self.this = apply(controlsc.new_wxStaticBitmap,(arg0.this,arg1,arg2.this,)+args)
629 self.thisown = 1
630 _StdWindowCallbacks(self)
631
632 class wxRadioBox(wxRadioBoxPtr):
633 def __init__(self,arg0,arg1,arg2,*args) :
634 argl = map(None,args)
635 try: argl[0] = argl[0].this
636 except: pass
637 try: argl[1] = argl[1].this
638 except: pass
639 args = tuple(argl)
640 self.this = apply(controlsc.new_wxRadioBox,(arg0.this,arg1,arg2,)+args)
641 self.thisown = 1
642 _StdWindowCallbacks(self)
643
644 class wxRadioButton(wxRadioButtonPtr):
645 def __init__(self,arg0,arg1,arg2,*args) :
646 argl = map(None,args)
647 try: argl[0] = argl[0].this
648 except: pass
649 try: argl[1] = argl[1].this
650 except: pass
651 args = tuple(argl)
652 self.this = apply(controlsc.new_wxRadioButton,(arg0.this,arg1,arg2,)+args)
653 self.thisown = 1
654 _StdWindowCallbacks(self)
655
656 class wxSlider(wxSliderPtr):
657 def __init__(self,arg0,arg1,arg2,arg3,arg4,*args) :
658 argl = map(None,args)
659 try: argl[0] = argl[0].this
660 except: pass
661 try: argl[1] = argl[1].this
662 except: pass
663 args = tuple(argl)
664 self.this = apply(controlsc.new_wxSlider,(arg0.this,arg1,arg2,arg3,arg4,)+args)
665 self.thisown = 1
666 _StdWindowCallbacks(self)
667
668
669
670
671
672
673 class wxTimer(wxPyTimer):
674 def __init__(self):
675 wxPyTimer.__init__(self, self.Notify) # derived class must provide
676 # Notify(self) method.
677
678 #----------------------------------------------------------------------
679 # Some wxWin methods can take "NULL" as parameters, but the shadow classes
680 # expect an object with the SWIG pointer as a 'this' member. This class
681 # and instance fools the shadow into passing the NULL pointer.
682
683 class NullObj:
684 this = 'NULL' # SWIG converts this to (void*)0
685
686 NULL = NullObj()
687
688
689 #----------------------------------------------------------------------
690 # aliases
691
692 wxColor = wxColour
693 wxNamedColor = wxNamedColour
694
695 wxPyDefaultPosition.Set(-1,-1)
696 wxPyDefaultSize.Set(-1,-1)
697
698 #----------------------------------------------------------------------
699
700 ## class wxPyStdOutWindow(wxFrame):
701 ## def __init__(self, title = "wxPython: stdout/stderr"):
702 ## wxFrame.__init__(self, NULL, title)
703 ## self.title = title
704 ## self.text = wxTextWindow(self)
705 ## self.text.SetFont(wxFont(10, wxMODERN, wxNORMAL, wxBOLD))
706 ## self.SetSize(-1,-1,400,200)
707 ## self.Show(false)
708 ## self.isShown = false
709
710 ## def write(self, str): # with this method,
711 ## if not self.isShown:
712 ## self.Show(true)
713 ## self.isShown = true
714 ## self.text.WriteText(str)
715
716 ## def OnCloseWindow(self, event): # doesn't allow the window to close, just hides it
717 ## self.Show(false)
718 ## self.isShown = false
719
720
721 _defRedirect = (wxPlatform == '__WXMSW__')
722
723 #----------------------------------------------------------------------
724 # The main application class. Derive from this and implement an OnInit
725 # method that creates a frame and then calls self.SetTopWindow(frame)
726
727 class wxApp(wxPyApp):
728 error = 'wxApp.error'
729
730 def __init__(self, redirect=_defRedirect, filename=None):
731 wxPyApp.__init__(self)
732 self.stdioWin = None
733 self.saveStdio = (sys.stdout, sys.stderr)
734 if redirect:
735 self.RedirectStdio(filename)
736
737 # this initializes wxWindows and then calls our OnInit
738 _wxStart(self.OnInit)
739
740
741 def __del__(self):
742 try:
743 self.RestoreStdio()
744 except:
745 pass
746
747 def RedirectStdio(self, filename):
748 if filename:
749 sys.stdout = sys.stderr = open(filename, 'a')
750 else:
751 raise self.error, 'wxPyStdOutWindow not yet implemented.'
752 #self.stdioWin = sys.stdout = sys.stderr = wxPyStdOutWindow()
753
754 def RestoreStdio(self):
755 sys.stdout, sys.stderr = self.saveStdio
756 if self.stdioWin != None:
757 self.stdioWin.Show(false)
758 self.stdioWin.Destroy()
759 self.stdioWin = None
760
761
762 #----------------------------------------------------------------------------
763 #
764 # $Log$
765 # Revision 1.2 1998/08/18 19:48:12 RD
766 # more wxGTK compatibility things.
767 #
768 # It builds now but there are serious runtime problems...
769 #
770 # Revision 1.1 1998/08/09 08:25:49 RD
771 # Initial version
772 #
773 #
774