1 #---------------------------------------------------------------------------- 
   3 # Purpose:      This file is appended to the shadow class file generated 
   4 #               by SWIG.  We add some unSWIGable things here. 
   9 # Copyright:    (c) 1998 by Total Control Software 
  10 # Licence:      wxWindows license 
  11 #---------------------------------------------------------------------------- 
  15 #---------------------------------------------------------------------- 
  16 # This gives this module's dictionary to the C++ extension code... 
  18 _wxSetDictionary(vars()) 
  21 #---------------------------------------------------------------------- 
  22 #---------------------------------------------------------------------- 
  23 # Helper function to link python methods to wxWindows virtual 
  26 def _checkForCallback(obj
, name
, event
, theID
=-1): 
  27     try:    cb 
= getattr(obj
, name
) 
  29     else:   obj
.Connect(theID
, -1, event
, cb
) 
  32 #---------------------------------------------------------------------- 
  33 #---------------------------------------------------------------------- 
  34 # functions that look and act like the C++ Macros of the same name 
  38 def EVT_SIZE(win
, func
): 
  39     win
.Connect(-1, -1, wxEVT_SIZE
, func
) 
  41 def EVT_MOVE(win
, func
): 
  42     win
.Connect(-1, -1, wxEVT_MOVE
, func
) 
  44 def EVT_CLOSE(win
, func
): 
  45     win
.Connect(-1, -1, wxEVT_CLOSE_WINDOW
, func
) 
  47 def EVT_PAINT(win
, func
): 
  48     win
.Connect(-1, -1, wxEVT_PAINT
, func
) 
  50 def EVT_ERASE_BACKGROUND(win
, func
): 
  51     win
.Connect(-1, -1, wxEVT_ERASE_BACKGROUND
, func
) 
  53 def EVT_CHAR(win
, func
): 
  54     win
.Connect(-1, -1, wxEVT_CHAR
, func
) 
  56 def EVT_CHAR_HOOK(win
, func
): 
  57     win
.Connect(-1, -1, wxEVT_CHAR_HOOK
, func
) 
  59 def EVT_KEY_DOWN(win
, func
): 
  60     win
.Connect(-1, -1, wxEVT_KEY_DOWN
, func
) 
  62 def EVT_KEY_UP(win
, func
): 
  63     win
.Connect(-1, -1, wxEVT_KEY_UP
, func
) 
  65 def EVT_MENU_OPEN(win
, func
): 
  66     win
.Connect(-1, -1, wxEVT_MENU_OPEN
, func
) 
  68 def EVT_MENU_CLOSE(win
, func
): 
  69     win
.Connect(-1, -1, wxEVT_MENU_CLOSE
, func
) 
  71 def EVT_MENU_HIGHLIGHT(win
, id, func
): 
  72     win
.Connect(id, -1, wxEVT_MENU_HIGHLIGHT
, func
) 
  74 def EVT_MENU_HIGHLIGHT_ALL(win
, func
): 
  75     win
.Connect(-1, -1, wxEVT_MENU_HIGHLIGHT
, func
) 
  77 def EVT_SET_FOCUS(win
, func
): 
  78     win
.Connect(-1, -1, wxEVT_SET_FOCUS
, func
) 
  80 def EVT_KILL_FOCUS(win
, func
): 
  81     win
.Connect(-1, -1, wxEVT_KILL_FOCUS
, func
) 
  83 def EVT_CHILD_FOCUS(win
, func
): 
  84     win
.Connect(-1, -1, wxEVT_CHILD_FOCUS
, func
) 
  86 def EVT_ACTIVATE(win
, func
): 
  87     win
.Connect(-1, -1, wxEVT_ACTIVATE
, func
) 
  89 def EVT_ACTIVATE_APP(win
, func
): 
  90     win
.Connect(-1, -1, wxEVT_ACTIVATE_APP
, func
) 
  92 def EVT_END_SESSION(win
, func
): 
  93     win
.Connect(-1, -1, wxEVT_END_SESSION
, func
) 
  95 def EVT_QUERY_END_SESSION(win
, func
): 
  96     win
.Connect(-1, -1, wxEVT_QUERY_END_SESSION
, func
) 
  98 def EVT_DROP_FILES(win
, func
): 
  99     win
.Connect(-1, -1, wxEVT_DROP_FILES
, func
) 
 101 def EVT_INIT_DIALOG(win
, func
): 
 102     win
.Connect(-1, -1, wxEVT_INIT_DIALOG
, func
) 
 104 def EVT_SYS_COLOUR_CHANGED(win
, func
): 
 105     win
.Connect(-1, -1, wxEVT_SYS_COLOUR_CHANGED
, func
) 
 107 def EVT_DISPLAY_CHANGED(win
, func
): 
 108     win
.Connect(-1, -1, wxEVT_DISPLAY_CHANGED
, func
) 
 110 def EVT_SHOW(win
, func
): 
 111     win
.Connect(-1, -1, wxEVT_SHOW
, func
) 
 113 def EVT_MAXIMIZE(win
, func
): 
 114     win
.Connect(-1, -1, wxEVT_MAXIMIZE
, func
) 
 116 def EVT_ICONIZE(win
, func
): 
 117     win
.Connect(-1, -1, wxEVT_ICONIZE
, func
) 
 119 def EVT_NAVIGATION_KEY(win
, func
): 
 120     win
.Connect(-1, -1, wxEVT_NAVIGATION_KEY
, func
) 
 122 def EVT_PALETTE_CHANGED(win
, func
): 
 123     win
.Connect(-1, -1, wxEVT_PALETTE_CHANGED
, func
) 
 125 def EVT_QUERY_NEW_PALETTE(win
, func
): 
 126     win
.Connect(-1, -1, wxEVT_QUERY_NEW_PALETTE
, func
) 
 128 def EVT_WINDOW_CREATE(win
, func
): 
 129     win
.Connect(-1, -1, wxEVT_CREATE
, func
) 
 131 def EVT_WINDOW_DESTROY(win
, func
): 
 132     win
.Connect(-1, -1, wxEVT_DESTROY
, func
) 
 134 def EVT_SET_CURSOR(win
, func
): 
 135     win
.Connect(-1, -1, wxEVT_SET_CURSOR
, func
) 
 139 def EVT_IDLE(win
, func
): 
 140     win
.Connect(-1, -1, wxEVT_IDLE
, func
) 
 142 def EVT_UPDATE_UI(win
, id, func
): 
 143     win
.Connect(id, -1, wxEVT_UPDATE_UI
, func
) 
 145 def EVT_UPDATE_UI_RANGE(win
, id, id2
, func
): 
 146     win
.Connect(id, id2
, wxEVT_UPDATE_UI
, func
) 
 150 def EVT_LEFT_DOWN(win
, func
): 
 151     win
.Connect(-1, -1, wxEVT_LEFT_DOWN
, func
) 
 153 def EVT_LEFT_UP(win
, func
): 
 154     win
.Connect(-1, -1, wxEVT_LEFT_UP
, func
) 
 156 def EVT_MIDDLE_DOWN(win
, func
): 
 157     win
.Connect(-1, -1, wxEVT_MIDDLE_DOWN
, func
) 
 159 def EVT_MIDDLE_UP(win
, func
): 
 160     win
.Connect(-1, -1, wxEVT_MIDDLE_UP
, func
) 
 162 def EVT_RIGHT_DOWN(win
, func
): 
 163     win
.Connect(-1, -1, wxEVT_RIGHT_DOWN
, func
) 
 165 def EVT_RIGHT_UP(win
, func
): 
 166     win
.Connect(-1, -1, wxEVT_RIGHT_UP
, func
) 
 168 def EVT_MOTION(win
, func
): 
 169     win
.Connect(-1, -1, wxEVT_MOTION
, func
) 
 171 def EVT_LEFT_DCLICK(win
, func
): 
 172     win
.Connect(-1, -1, wxEVT_LEFT_DCLICK
, func
) 
 174 def EVT_MIDDLE_DCLICK(win
, func
): 
 175     win
.Connect(-1, -1, wxEVT_MIDDLE_DCLICK
, func
) 
 177 def EVT_RIGHT_DCLICK(win
, func
): 
 178     win
.Connect(-1, -1, wxEVT_RIGHT_DCLICK
, func
) 
 180 def EVT_LEAVE_WINDOW(win
, func
): 
 181     win
.Connect(-1, -1, wxEVT_LEAVE_WINDOW
, func
) 
 183 def EVT_ENTER_WINDOW(win
, func
): 
 184     win
.Connect(-1, -1, wxEVT_ENTER_WINDOW
, func
) 
 186 def EVT_MOUSEWHEEL(win
, func
): 
 187     win
.Connect(-1, -1, wxEVT_MOUSEWHEEL
, func
) 
 190 def EVT_MOUSE_EVENTS(win
, func
): 
 191     win
.Connect(-1, -1, wxEVT_LEFT_DOWN
,     func
) 
 192     win
.Connect(-1, -1, wxEVT_LEFT_UP
,       func
) 
 193     win
.Connect(-1, -1, wxEVT_MIDDLE_DOWN
,   func
) 
 194     win
.Connect(-1, -1, wxEVT_MIDDLE_UP
,     func
) 
 195     win
.Connect(-1, -1, wxEVT_RIGHT_DOWN
,    func
) 
 196     win
.Connect(-1, -1, wxEVT_RIGHT_UP
,      func
) 
 197     win
.Connect(-1, -1, wxEVT_MOTION
,        func
) 
 198     win
.Connect(-1, -1, wxEVT_LEFT_DCLICK
,   func
) 
 199     win
.Connect(-1, -1, wxEVT_MIDDLE_DCLICK
, func
) 
 200     win
.Connect(-1, -1, wxEVT_RIGHT_DCLICK
,  func
) 
 201     win
.Connect(-1, -1, wxEVT_LEAVE_WINDOW
,  func
) 
 202     win
.Connect(-1, -1, wxEVT_ENTER_WINDOW
,  func
) 
 204 def EVT_MOUSE_CAPTURE_CHANGED(win
, func
): 
 205     win
.Connect(-1, -1, wxEVT_MOUSE_CAPTURE_CHANGED
, func
) 
 208 def EVT_COMMAND(win
, id, cmd
, func
): 
 209     win
.Connect(id, -1, cmd
, func
) 
 211 def EVT_COMMAND_RANGE(win
, id1
, id2
, cmd
, func
): 
 212     win
.Connect(id1
, id2
, cmd
, func
) 
 216 def EVT_SCROLL(win
, func
): 
 217     win
.Connect(-1, -1, wxEVT_SCROLL_TOP
,       func
) 
 218     win
.Connect(-1, -1, wxEVT_SCROLL_BOTTOM
,    func
) 
 219     win
.Connect(-1, -1, wxEVT_SCROLL_LINEUP
,    func
) 
 220     win
.Connect(-1, -1, wxEVT_SCROLL_LINEDOWN
,  func
) 
 221     win
.Connect(-1, -1, wxEVT_SCROLL_PAGEUP
,    func
) 
 222     win
.Connect(-1, -1, wxEVT_SCROLL_PAGEDOWN
,  func
) 
 223     win
.Connect(-1, -1, wxEVT_SCROLL_THUMBTRACK
,func
) 
 224     win
.Connect(-1, -1, wxEVT_SCROLL_THUMBRELEASE
,func
) 
 226 def EVT_SCROLL_TOP(win
, func
): 
 227     win
.Connect(-1, -1, wxEVT_SCROLL_TOP
, func
) 
 229 def EVT_SCROLL_BOTTOM(win
, func
): 
 230     win
.Connect(-1, -1, wxEVT_SCROLL_BOTTOM
, func
) 
 232 def EVT_SCROLL_LINEUP(win
, func
): 
 233     win
.Connect(-1, -1, wxEVT_SCROLL_LINEUP
, func
) 
 235 def EVT_SCROLL_LINEDOWN(win
, func
): 
 236     win
.Connect(-1, -1, wxEVT_SCROLL_LINEDOWN
, func
) 
 238 def EVT_SCROLL_PAGEUP(win
, func
): 
 239     win
.Connect(-1, -1, wxEVT_SCROLL_PAGEUP
, func
) 
 241 def EVT_SCROLL_PAGEDOWN(win
, func
): 
 242     win
.Connect(-1, -1, wxEVT_SCROLL_PAGEDOWN
, func
) 
 244 def EVT_SCROLL_THUMBTRACK(win
, func
): 
 245     win
.Connect(-1, -1, wxEVT_SCROLL_THUMBTRACK
, func
) 
 247 def EVT_SCROLL_THUMBRELEASE(win
, func
): 
 248     win
.Connect(-1, -1, wxEVT_SCROLL_THUMBRELEASE
, func
) 
 252 # Scrolling, with an id 
 253 def EVT_COMMAND_SCROLL(win
, id, func
): 
 254     win
.Connect(id, -1, wxEVT_SCROLL_TOP
,       func
) 
 255     win
.Connect(id, -1, wxEVT_SCROLL_BOTTOM
,    func
) 
 256     win
.Connect(id, -1, wxEVT_SCROLL_LINEUP
,    func
) 
 257     win
.Connect(id, -1, wxEVT_SCROLL_LINEDOWN
,  func
) 
 258     win
.Connect(id, -1, wxEVT_SCROLL_PAGEUP
,    func
) 
 259     win
.Connect(id, -1, wxEVT_SCROLL_PAGEDOWN
,  func
) 
 260     win
.Connect(id, -1, wxEVT_SCROLL_THUMBTRACK
,func
) 
 261     win
.Connect(id, -1, wxEVT_SCROLL_THUMBRELEASE
,func
) 
 263 def EVT_COMMAND_SCROLL_TOP(win
, id, func
): 
 264     win
.Connect(id, -1, wxEVT_SCROLL_TOP
, func
) 
 266 def EVT_COMMAND_SCROLL_BOTTOM(win
, id, func
): 
 267     win
.Connect(id, -1, wxEVT_SCROLL_BOTTOM
, func
) 
 269 def EVT_COMMAND_SCROLL_LINEUP(win
, id, func
): 
 270     win
.Connect(id, -1, wxEVT_SCROLL_LINEUP
, func
) 
 272 def EVT_COMMAND_SCROLL_LINEDOWN(win
, id, func
): 
 273     win
.Connect(id, -1, wxEVT_SCROLL_LINEDOWN
, func
) 
 275 def EVT_COMMAND_SCROLL_PAGEUP(win
, id, func
): 
 276     win
.Connect(id, -1, wxEVT_SCROLL_PAGEUP
, func
) 
 278 def EVT_COMMAND_SCROLL_PAGEDOWN(win
, id, func
): 
 279     win
.Connect(id, -1, wxEVT_SCROLL_PAGEDOWN
, func
) 
 281 def EVT_COMMAND_SCROLL_THUMBTRACK(win
, id, func
): 
 282     win
.Connect(id, -1, wxEVT_SCROLL_THUMBTRACK
, func
) 
 284 def EVT_COMMAND_SCROLL_THUMBRELEASE(win
, id, func
): 
 285     win
.Connect(id, -1, wxEVT_SCROLL_THUMBRELEASE
, func
) 
 288 def EVT_SCROLLWIN(win
, func
): 
 289     win
.Connect(-1, -1, wxEVT_SCROLLWIN_TOP
,         func
) 
 290     win
.Connect(-1, -1, wxEVT_SCROLLWIN_BOTTOM
,      func
) 
 291     win
.Connect(-1, -1, wxEVT_SCROLLWIN_LINEUP
,      func
) 
 292     win
.Connect(-1, -1, wxEVT_SCROLLWIN_LINEDOWN
,    func
) 
 293     win
.Connect(-1, -1, wxEVT_SCROLLWIN_PAGEUP
,      func
) 
 294     win
.Connect(-1, -1, wxEVT_SCROLLWIN_PAGEDOWN
,    func
) 
 295     win
.Connect(-1, -1, wxEVT_SCROLLWIN_THUMBTRACK
,  func
) 
 296     win
.Connect(-1, -1, wxEVT_SCROLLWIN_THUMBRELEASE
,func
) 
 298 def EVT_SCROLLWIN_TOP(win
, func
): 
 299     win
.Connect(-1, -1, wxEVT_SCROLLWIN_TOP
, func
) 
 301 def EVT_SCROLLWIN_BOTTOM(win
, func
): 
 302     win
.Connect(-1, -1, wxEVT_SCROLLWIN_BOTTOM
, func
) 
 304 def EVT_SCROLLWIN_LINEUP(win
, func
): 
 305     win
.Connect(-1, -1, wxEVT_SCROLLWIN_LINEUP
, func
) 
 307 def EVT_SCROLLWIN_LINEDOWN(win
, func
): 
 308     win
.Connect(-1, -1, wxEVT_SCROLLWIN_LINEDOWN
, func
) 
 310 def EVT_SCROLLWIN_PAGEUP(win
, func
): 
 311     win
.Connect(-1, -1, wxEVT_SCROLLWIN_PAGEUP
, func
) 
 313 def EVT_SCROLLWIN_PAGEDOWN(win
, func
): 
 314     win
.Connect(-1, -1, wxEVT_SCROLLWIN_PAGEDOWN
, func
) 
 316 def EVT_SCROLLWIN_THUMBTRACK(win
, func
): 
 317     win
.Connect(-1, -1, wxEVT_SCROLLWIN_THUMBTRACK
, func
) 
 319 def EVT_SCROLLWIN_THUMBRELEASE(win
, func
): 
 320     win
.Connect(-1, -1, wxEVT_SCROLLWIN_THUMBRELEASE
, func
) 
 324 # Scrolling, with an id 
 325 def EVT_COMMAND_SCROLLWIN(win
, id, func
): 
 326     win
.Connect(id, -1, wxEVT_SCROLLWIN_TOP
,         func
) 
 327     win
.Connect(id, -1, wxEVT_SCROLLWIN_BOTTOM
,      func
) 
 328     win
.Connect(id, -1, wxEVT_SCROLLWIN_LINEUP
,      func
) 
 329     win
.Connect(id, -1, wxEVT_SCROLLWIN_LINEDOWN
,    func
) 
 330     win
.Connect(id, -1, wxEVT_SCROLLWIN_PAGEUP
,      func
) 
 331     win
.Connect(id, -1, wxEVT_SCROLLWIN_PAGEDOWN
,    func
) 
 332     win
.Connect(id, -1, wxEVT_SCROLLWIN_THUMBTRACK
,  func
) 
 333     win
.Connect(id, -1, wxEVT_SCROLLWIN_THUMBRELEASE
,func
) 
 335 def EVT_COMMAND_SCROLLWIN_TOP(win
, id, func
): 
 336     win
.Connect(id, -1, wxEVT_SCROLLWIN_TOP
, func
) 
 338 def EVT_COMMAND_SCROLLWIN_BOTTOM(win
, id, func
): 
 339     win
.Connect(id, -1, wxEVT_SCROLLWIN_BOTTOM
, func
) 
 341 def EVT_COMMAND_SCROLLWIN_LINEUP(win
, id, func
): 
 342     win
.Connect(id, -1, wxEVT_SCROLLWIN_LINEUP
, func
) 
 344 def EVT_COMMAND_SCROLLWIN_LINEDOWN(win
, id, func
): 
 345     win
.Connect(id, -1, wxEVT_SCROLLWIN_LINEDOWN
, func
) 
 347 def EVT_COMMAND_SCROLLWIN_PAGEUP(win
, id, func
): 
 348     win
.Connect(id, -1, wxEVT_SCROLLWIN_PAGEUP
, func
) 
 350 def EVT_COMMAND_SCROLLWIN_PAGEDOWN(win
, id, func
): 
 351     win
.Connect(id, -1, wxEVT_SCROLLWIN_PAGEDOWN
, func
) 
 353 def EVT_COMMAND_SCROLLWIN_THUMBTRACK(win
, id, func
): 
 354     win
.Connect(id, -1, wxEVT_SCROLLWIN_THUMBTRACK
, func
) 
 356 def EVT_COMMAND_SCROLLWIN_THUMBRELEASE(win
, id, func
): 
 357     win
.Connect(id, -1, wxEVT_SCROLLWIN_THUMBRELEASE
, func
) 
 360 # Convenience commands 
 361 def EVT_BUTTON(win
, id, func
): 
 362     win
.Connect(id, -1, wxEVT_COMMAND_BUTTON_CLICKED
, func
) 
 364 def EVT_CHECKBOX(win
, id, func
): 
 365     win
.Connect(id, -1, wxEVT_COMMAND_CHECKBOX_CLICKED
, func
) 
 367 def EVT_CHOICE(win
, id, func
): 
 368     win
.Connect(id, -1, wxEVT_COMMAND_CHOICE_SELECTED
, func
) 
 370 def EVT_LISTBOX(win
, id, func
): 
 371     win
.Connect(id, -1, wxEVT_COMMAND_LISTBOX_SELECTED
, func
) 
 373 def EVT_LISTBOX_DCLICK(win
, id, func
): 
 374     win
.Connect(id, -1, wxEVT_COMMAND_LISTBOX_DOUBLECLICKED
, func
) 
 376 def EVT_TEXT(win
, id, func
): 
 377     win
.Connect(id, -1, wxEVT_COMMAND_TEXT_UPDATED
, func
) 
 379 def EVT_TEXT_ENTER(win
, id, func
): 
 380     win
.Connect(id, -1, wxEVT_COMMAND_TEXT_ENTER
, func
) 
 382 def EVT_TEXT_URL(win
, id, func
): 
 383     win
.Connect(id, -1, wxEVT_COMMAND_TEXT_URL
, func
) 
 385 def EVT_TEXT_MAXLEN(win
, id, func
): 
 386     win
.Connect(id, -1, wxEVT_COMMAND_TEXT_MAXLEN
, func
) 
 388 def EVT_MENU(win
, id, func
): 
 389     win
.Connect(id, -1, wxEVT_COMMAND_MENU_SELECTED
, func
) 
 391 def EVT_MENU_RANGE(win
, id1
, id2
, func
): 
 392     win
.Connect(id1
, id2
, wxEVT_COMMAND_MENU_SELECTED
, func
) 
 394 def EVT_SLIDER(win
, id, func
): 
 395     win
.Connect(id, -1, wxEVT_COMMAND_SLIDER_UPDATED
, func
) 
 397 def EVT_RADIOBOX(win
, id, func
): 
 398     win
.Connect(id, -1, wxEVT_COMMAND_RADIOBOX_SELECTED
, func
) 
 400 def EVT_RADIOBUTTON(win
, id, func
): 
 401     win
.Connect(id, -1, wxEVT_COMMAND_RADIOBUTTON_SELECTED
, func
) 
 403 def EVT_VLBOX(win
, id, func
): 
 404     win
.Connect(id, -1, wxEVT_COMMAND_VLBOX_SELECTED
, func
) 
 406 def EVT_COMBOBOX(win
, id, func
): 
 407     win
.Connect(id, -1, wxEVT_COMMAND_COMBOBOX_SELECTED
, func
) 
 409 def EVT_TOOL(win
, id, func
): 
 410     win
.Connect(id, -1, wxEVT_COMMAND_TOOL_CLICKED
, func
) 
 412 def EVT_TOOL_RANGE(win
, id, id2
, func
): 
 413     win
.Connect(id, id2
, wxEVT_COMMAND_TOOL_CLICKED
, func
) 
 415 def EVT_TOOL_RCLICKED(win
, id, func
): 
 416     win
.Connect(id, -1, wxEVT_COMMAND_TOOL_RCLICKED
, func
) 
 418 def EVT_TOOL_RCLICKED_RANGE(win
, id, id2
, func
): 
 419     win
.Connect(id, id2
, wxEVT_COMMAND_TOOL_RCLICKED
, func
) 
 421 def EVT_TOOL_ENTER(win
, id, func
): 
 422     win
.Connect(id, -1, wxEVT_COMMAND_TOOL_ENTER
, func
) 
 424 def EVT_CHECKLISTBOX(win
, id, func
): 
 425     win
.Connect(id, -1, wxEVT_COMMAND_CHECKLISTBOX_TOGGLED
, func
) 
 427 def EVT_SPINCTRL(win
, id, func
): 
 428     win
.Connect(id, -1, wxEVT_COMMAND_SPINCTRL_UPDATED
, func
) 
 432 # Generic command events 
 434 def EVT_COMMAND_LEFT_CLICK(win
, id, func
): 
 435     win
.Connect(id, -1, wxEVT_COMMAND_LEFT_CLICK
, func
) 
 437 def EVT_COMMAND_LEFT_DCLICK(win
, id, func
): 
 438     win
.Connect(id, -1, wxEVT_COMMAND_LEFT_DCLICK
, func
) 
 440 def EVT_COMMAND_RIGHT_CLICK(win
, id, func
): 
 441     win
.Connect(id, -1, wxEVT_COMMAND_RIGHT_CLICK
, func
) 
 443 def EVT_COMMAND_RIGHT_DCLICK(win
, id, func
): 
 444     win
.Connect(id, -1, wxEVT_COMMAND_RIGHT_DCLICK
, func
) 
 446 def EVT_COMMAND_SET_FOCUS(win
, id, func
): 
 447     win
.Connect(id, -1, wxEVT_COMMAND_SET_FOCUS
, func
) 
 449 def EVT_COMMAND_KILL_FOCUS(win
, id, func
): 
 450     win
.Connect(id, -1, wxEVT_COMMAND_KILL_FOCUS
, func
) 
 452 def EVT_COMMAND_ENTER(win
, id, func
): 
 453     win
.Connect(id, -1, wxEVT_COMMAND_ENTER
, func
) 
 457 def EVT_NOTEBOOK_PAGE_CHANGED(win
, id, func
): 
 458     win
.Connect(id, -1, wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED
, func
) 
 460 def EVT_NOTEBOOK_PAGE_CHANGING(win
, id, func
): 
 461     win
.Connect(id, -1, wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING
, func
) 
 465 def EVT_SPIN_UP(win
, id, func
): 
 466     win
.Connect(id, -1, wxEVT_SCROLL_LINEUP
, func
) 
 468 def EVT_SPIN_DOWN(win
, id, func
): 
 469     win
.Connect(id, -1, wxEVT_SCROLL_LINEDOWN
, func
) 
 471 def EVT_SPIN(win
, id, func
): 
 472     win
.Connect(id, -1, wxEVT_SCROLL_THUMBTRACK
,func
) 
 476 def EVT_TASKBAR_MOVE(win
, func
): 
 477     win
.Connect(-1, -1, wxEVT_TASKBAR_MOVE
, func
) 
 479 def EVT_TASKBAR_LEFT_DOWN(win
, func
): 
 480     win
.Connect(-1, -1, wxEVT_TASKBAR_LEFT_DOWN
, func
) 
 482 def EVT_TASKBAR_LEFT_UP(win
, func
): 
 483     win
.Connect(-1, -1, wxEVT_TASKBAR_LEFT_UP
, func
) 
 485 def EVT_TASKBAR_RIGHT_DOWN(win
, func
): 
 486     win
.Connect(-1, -1, wxEVT_TASKBAR_RIGHT_DOWN
, func
) 
 488 def EVT_TASKBAR_RIGHT_UP(win
, func
): 
 489     win
.Connect(-1, -1, wxEVT_TASKBAR_RIGHT_UP
, func
) 
 491 def EVT_TASKBAR_LEFT_DCLICK(win
, func
): 
 492     win
.Connect(-1, -1, wxEVT_TASKBAR_LEFT_DCLICK
, func
) 
 494 def EVT_TASKBAR_RIGHT_DCLICK(win
, func
): 
 495     win
.Connect(-1, -1, wxEVT_TASKBAR_RIGHT_DCLICK
, func
) 
 499 def EVT_SASH_DRAGGED(win
, id, func
): 
 500     win
.Connect(id, -1, wxEVT_SASH_DRAGGED
, func
) 
 502 def EVT_SASH_DRAGGED_RANGE(win
, id1
, id2
, func
): 
 503     win
.Connect(id1
, id2
, wxEVT_SASH_DRAGGED
, func
) 
 505 def EVT_QUERY_LAYOUT_INFO(win
, func
): 
 506     win
.Connect(-1, -1, wxEVT_EVT_QUERY_LAYOUT_INFO
, func
) 
 508 def EVT_CALCULATE_LAYOUT(win
, func
): 
 509     win
.Connect(-1, -1, wxEVT_EVT_CALCULATE_LAYOUT
, func
) 
 513 def EVT_SPLITTER_SASH_POS_CHANGING(win
, id, func
): 
 514     win
.Connect(id, -1, wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING
, func
) 
 516 def EVT_SPLITTER_SASH_POS_CHANGED(win
, id, func
): 
 517     win
.Connect(id, -1, wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED
, func
) 
 519 def EVT_SPLITTER_UNSPLIT(win
, id, func
): 
 520     win
.Connect(id, -1, wxEVT_COMMAND_SPLITTER_UNSPLIT
, func
) 
 522 def EVT_SPLITTER_DOUBLECLICKED(win
, id, func
): 
 523     win
.Connect(id, -1, wxEVT_COMMAND_SPLITTER_DOUBLECLICKED
, func
) 
 527 def EVT_TIMER(win
, id, func
): 
 528     win
.Connect(id, -1, wxEVT_TIMER
, func
) 
 531 def EVT_END_PROCESS(eh
, id, func
): 
 532     eh
.Connect(id, -1, wxEVT_END_PROCESS
, func
) 
 536 def EVT_JOY_DOWN(win
, func
): 
 537     win
.Connect(-1, -1, wxEVT_JOY_BUTTON_DOWN
, func
) 
 539 def EVT_JOY_UP(win
, func
): 
 540     win
.Connect(-1, -1, wxEVT_JOY_BUTTON_UP
, func
) 
 542 def EVT_JOY_MOVE(win
, func
): 
 543     win
.Connect(-1, -1, wxEVT_JOY_MOVE
, func
) 
 545 def EVT_JOY_ZMOVE(win
, func
): 
 546     win
.Connect(-1, -1, wxEVT_JOY_ZMOVE
, func
) 
 548 def EVT_JOYSTICK_EVENTS(win
, func
): 
 549     win
.Connect(-1, -1, wxEVT_JOY_BUTTON_DOWN
, func
) 
 550     win
.Connect(-1, -1, wxEVT_JOY_BUTTON_UP
, func
) 
 551     win
.Connect(-1, -1, wxEVT_JOY_MOVE
, func
) 
 552     win
.Connect(-1, -1, wxEVT_JOY_ZMOVE
, func
) 
 555 def EVT_TOGGLEBUTTON(win
, id, func
): 
 556     win
.Connect(id, -1, wxEVT_COMMAND_TOGGLEBUTTON_CLICKED
, func
) 
 560 def EVT_CONTEXT_MENU(win
, func
): 
 561     win
.Connect(-1, -1, wxEVT_CONTEXT_MENU
, func
) 
 564 #---------------------------------------------------------------------- 
 566 class wxTimer(wxPyTimer
): 
 567     def __init__(self
, evtHandler 
= None, id = -1): 
 568         if evtHandler 
is None: 
 569             wxPyTimer
.__init
__(self
, self
.Notify
)   # derived class must provide 
 570                                                     # Notify(self) method. 
 572             wxPyTimer
.__init
__(self
, None) 
 573             self
.SetOwner(evtHandler
, id) 
 575 #---------------------------------------------------------------------- 
 579 wxNamedColor 
= wxNamedColour
 
 581 wxScrollbar  
= wxScrollBar
 
 584 # backwards compatibility 
 585 wxNoRefBitmap       
= wxBitmap
 
 586 wxPyDefaultPosition 
= wxDefaultPosition
 
 587 wxPyDefaultSize     
= wxDefaultSize
 
 589 wxSystemSettings_GetSystemColour 
= wxSystemSettings_GetColour
 
 590 wxSystemSettings_GetSystemFont   
= wxSystemSettings_GetFont
 
 591 wxSystemSettings_GetSystemMetric 
= wxSystemSettings_GetMetric
 
 593 #---------------------------------------------------------------------- 
 594 # wxGTK sets the locale when initialized.  Doing this at the Python 
 595 # level should set it up to match what GTK is doing at the C level. 
 596 if wxPlatform 
== "__WXGTK__": 
 599         locale
.setlocale(locale
.LC_ALL
, "") 
 605 #---------------------------------------------------------------------- 
 606 # wxWindows version numbers.  wxPython version is in __version__. 
 608 wxMAJOR_VERSION   
= wxc
.wxMAJOR_VERSION
 
 609 wxMINOR_VERSION   
= wxc
.wxMINOR_VERSION
 
 610 wxRELEASE_NUMBER  
= wxc
.wxRELEASE_NUMBER
 
 611 wxVERSION_STRING  
= wxc
.wxVERSION_STRING
 
 612 wxVERSION_NUMBER  
= wxc
.wxVERSION_NUMBER
 
 614 wxVERSION 
= (wxMAJOR_VERSION
, wxMINOR_VERSION
, wxRELEASE_NUMBER
) 
 617 #---------------------------------------------------------------------- 
 618 # This helper function will take a wxPython object and convert it to 
 619 # another wxPython object type.  This will not be able to create objects 
 620 # that are derived from wxPython classes by the user, only those that are 
 621 # actually part of wxPython and directly corespond to C++ objects. 
 623 # This is useful in situations where some method returns a generic 
 624 # type such as wxWindow, but you know that it is actually some 
 625 # derived type such as a wxTextCtrl.  You can't call wxTextCtrl specific 
 626 # methods on a wxWindow object, but you can use this function to 
 627 # create a wxTextCtrl object that will pass the same pointer to 
 628 # the C++ code.  You use it like this: 
 630 #    textCtrl = wxPyTypeCast(window, "wxTextCtrl") 
 633 # WARNING:  Using this function to type cast objects into types that 
 634 #           they are not is not recommended and is likely to cause your 
 635 #           program to crash...  Hard. 
 638 def wxPyTypeCast(obj
, typeStr
): 
 641     theClass 
= globals()[typeStr
+"Ptr"] 
 642     typeStr 
= __wxPyPtrTypeMap
.get(typeStr
, typeStr
) 
 643     if hasattr(obj
, "this"): 
 644         # if already the right type then just return it 
 645         if isinstance(obj
, theClass
) or obj
.__class
__ is theClass
: 
 647         newPtr 
= ptrcast(obj
.this
, typeStr
+"_p") 
 649         newPtr 
= ptrcast(obj
, typeStr
+"_p") 
 650     theObj 
= theClass(newPtr
) 
 651     if hasattr(obj
, "this"): 
 652         theObj
.thisown 
= obj
.thisown
 
 656 #---------------------------------------------------------------------------- 
 658 class wxPyDeadObjectError(AttributeError): 
 661 class _wxPyDeadObject
: 
 663     Instances of wx objects that are OOR capable will have their __class__ 
 664     changed to this class when the C++ object is deleted.  This should help 
 665     prevent crashes due to referencing a bogus C++ pointer. 
 667     reprStr 
= "wxPython wrapper for DELETED %s object! (The C++ object no longer exists.)" 
 668     attrStr 
= "The C++ part of the %s object has been deleted, attribute access no longer allowed." 
 670     def __repr__( self 
): 
 671         if not hasattr(self
, "_name"): 
 672             self
._name 
= "[unknown]" 
 673         return self
.reprStr 
% self
._name
 
 675     def __getattr__( self
, *args 
): 
 676         if not hasattr(self
, "_name"): 
 677             self
._name 
= "[unknown]" 
 678         raise wxPyDeadObjectError( self
.attrStr 
% self
._name 
) 
 680     def __nonzero__(self
): 
 684 #---------------------------------------------------------------------- 
 685 #---------------------------------------------------------------------- 
 687 class wxPyOnDemandOutputWindow
: 
 688     def __init__(self
, title 
= "wxPython: stdout/stderr"): 
 693     def SetParent(self
, parent
): 
 696     def OnCloseWindow(self
, event
): 
 697         if self
.frame 
!= None: 
 702     # These methods provide the file-like output behaviour. 
 703     def write(self
, str): 
 704         if not wxThread_IsMain(): 
 705             # Aquire the GUI mutex before making GUI calls.  Mutex is released 
 706             # when locker is deleted at the end of this function. 
 707             locker 
= wxMutexGuiLocker() 
 710             self
.frame 
= wxFrame(self
.parent
, -1, self
.title
, 
 711                                  style
=wxDEFAULT_FRAME_STYLE|wxNO_FULL_REPAINT_ON_RESIZE
) 
 712             self
.text  
= wxTextCtrl(self
.frame
, -1, "", 
 713                                     style 
= wxTE_MULTILINE|wxTE_READONLY
) 
 714             self
.frame
.SetSize(wxSize(450, 300)) 
 715             self
.frame
.Show(true
) 
 716             EVT_CLOSE(self
.frame
, self
.OnCloseWindow
) 
 717         self
.text
.AppendText(str) 
 720         if self
.frame 
!= None: 
 721             if not wxThread_IsMain(): 
 722                 locker 
= wxMutexGuiLocker() 
 726 _defRedirect 
= (wxPlatform 
== '__WXMSW__' or wxPlatform 
== '__WXMAC__') 
 728 #---------------------------------------------------------------------- 
 729 # The main application class.  Derive from this and implement an OnInit 
 730 # method that creates a frame and then calls self.SetTopWindow(frame) 
 732 class wxApp(wxPyApp
): 
 733     error 
= 'wxApp.error' 
 734     outputWindowClass 
= wxPyOnDemandOutputWindow
 
 736     def __init__(self
, redirect
=_defRedirect
, filename
=None): 
 737         wxPyApp
.__init
__(self
) 
 739         self
.saveStdio 
= (sys
.stdout
, sys
.stderr
) 
 741             self
.RedirectStdio(filename
) 
 742         # this initializes wxWindows and then calls our OnInit 
 743         _wxStart(self
.OnInit
) 
 753     def SetTopWindow(self
, frame
): 
 755             self
.stdioWin
.SetParent(frame
) 
 756         wxPyApp
.SetTopWindow(self
, frame
) 
 760         wxPyApp
.MainLoop(self
) 
 764     def RedirectStdio(self
, filename
): 
 766             sys
.stdout 
= sys
.stderr 
= open(filename
, 'a') 
 768             self
.stdioWin 
= self
.outputWindowClass() # wxPyOnDemandOutputWindow 
 769             sys
.stdout 
= sys
.stderr 
= self
.stdioWin
 
 772     def RestoreStdio(self
): 
 773         sys
.stdout
, sys
.stderr 
= self
.saveStdio
 
 776 #---------------------------------------------------------------------------- 
 778 class wxPySimpleApp(wxApp
): 
 779     def __init__(self
, flag
=0): 
 780         wxApp
.__init
__(self
, flag
) 
 785 class wxPyWidgetTester(wxApp
): 
 786     def __init__(self
, size 
= (250, 100)): 
 788         wxApp
.__init
__(self
, 0) 
 791         self
.frame 
= wxFrame(None, -1, "Widget Tester", pos
=(0,0), size
=self
.size
) 
 792         self
.SetTopWindow(self
.frame
) 
 795     def SetWidget(self
, widgetClass
, *args
): 
 796         w 
= apply(widgetClass
, (self
.frame
,) + args
) 
 797         self
.frame
.Show(true
) 
 799 #---------------------------------------------------------------------------- 
 800 # DO NOT hold any other references to this object.  This is how we 
 801 # know when to cleanup system resources that wxWin is holding.  When 
 802 # the sys module is unloaded, the refcount on sys.__wxPythonCleanup 
 803 # goes to zero and it calls the wxApp_CleanUp function. 
 807         self
.cleanup 
= wxc
.wxApp_CleanUp
 
 811 sys
.__wxPythonCleanup 
= __wxPyCleanup() 
 813 ## # another possible solution, but it gets called too early... 
 814 ## if sys.version[0] == '2': 
 816 ##     atexit.register(wxc.wxApp_CleanUp) 
 818 ##     sys.exitfunc = wxc.wxApp_CleanUp 
 821 #---------------------------------------------------------------------------- 
 822 #----------------------------------------------------------------------------