1 /////////////////////////////////////////////////////////////////////////////
 
   3 // Purpose:     SWIG interface for common event classes and event binders
 
   7 // Created:     24-May-1998
 
   9 // Copyright:   (c) 2003 by Total Control Software
 
  10 // Licence:     wxWindows license
 
  11 /////////////////////////////////////////////////////////////////////////////
 
  16 //---------------------------------------------------------------------------
 
  17 // Include some extra python code here
 
  18 %pythoncode "_event_ex.py"
 
  20 //---------------------------------------------------------------------------
 
  23 // the predefined constants for the number of times we propagate event
 
  24 // upwards window child-parent chain
 
  25 enum Propagation_state
 
  27     // don't propagate it at all
 
  28     wxEVENT_PROPAGATE_NONE = 0,
 
  30     // propagate it until it is processed
 
  31     wxEVENT_PROPAGATE_MAX = INT_MAX
 
  35 //---------------------------------------------------------------------------
 
  38 wxEventType wxNewEventType();
 
  41 %constant wxEventType wxEVT_NULL;
 
  42 %constant wxEventType wxEVT_FIRST;
 
  43 %constant wxEventType wxEVT_USER_FIRST;
 
  45 %constant wxEventType wxEVT_COMMAND_BUTTON_CLICKED;
 
  46 %constant wxEventType wxEVT_COMMAND_CHECKBOX_CLICKED;
 
  47 %constant wxEventType wxEVT_COMMAND_CHOICE_SELECTED;
 
  48 %constant wxEventType wxEVT_COMMAND_LISTBOX_SELECTED;
 
  49 %constant wxEventType wxEVT_COMMAND_LISTBOX_DOUBLECLICKED;
 
  50 %constant wxEventType wxEVT_COMMAND_CHECKLISTBOX_TOGGLED;
 
  52 %constant wxEventType wxEVT_COMMAND_MENU_SELECTED;
 
  53 %constant wxEventType wxEVT_COMMAND_TOOL_CLICKED;
 
  54 %constant wxEventType wxEVT_COMMAND_SLIDER_UPDATED;
 
  55 %constant wxEventType wxEVT_COMMAND_RADIOBOX_SELECTED;
 
  56 %constant wxEventType wxEVT_COMMAND_RADIOBUTTON_SELECTED;
 
  58 %constant wxEventType wxEVT_COMMAND_SCROLLBAR_UPDATED;
 
  59 %constant wxEventType wxEVT_COMMAND_VLBOX_SELECTED;
 
  60 %constant wxEventType wxEVT_COMMAND_COMBOBOX_SELECTED;
 
  61 %constant wxEventType wxEVT_COMMAND_TOOL_RCLICKED;
 
  62 %constant wxEventType wxEVT_COMMAND_TOOL_ENTER;
 
  65 %constant wxEventType wxEVT_LEFT_DOWN;
 
  66 %constant wxEventType wxEVT_LEFT_UP;
 
  67 %constant wxEventType wxEVT_MIDDLE_DOWN;
 
  68 %constant wxEventType wxEVT_MIDDLE_UP;
 
  69 %constant wxEventType wxEVT_RIGHT_DOWN;
 
  70 %constant wxEventType wxEVT_RIGHT_UP;
 
  71 %constant wxEventType wxEVT_MOTION;
 
  72 %constant wxEventType wxEVT_ENTER_WINDOW;
 
  73 %constant wxEventType wxEVT_LEAVE_WINDOW;
 
  74 %constant wxEventType wxEVT_LEFT_DCLICK;
 
  75 %constant wxEventType wxEVT_MIDDLE_DCLICK;
 
  76 %constant wxEventType wxEVT_RIGHT_DCLICK;
 
  77 %constant wxEventType wxEVT_SET_FOCUS;
 
  78 %constant wxEventType wxEVT_KILL_FOCUS;
 
  79 %constant wxEventType wxEVT_CHILD_FOCUS;
 
  80 %constant wxEventType wxEVT_MOUSEWHEEL;
 
  82 // Non-client mouse events
 
  83 %constant wxEventType wxEVT_NC_LEFT_DOWN;
 
  84 %constant wxEventType wxEVT_NC_LEFT_UP;
 
  85 %constant wxEventType wxEVT_NC_MIDDLE_DOWN;
 
  86 %constant wxEventType wxEVT_NC_MIDDLE_UP;
 
  87 %constant wxEventType wxEVT_NC_RIGHT_DOWN;
 
  88 %constant wxEventType wxEVT_NC_RIGHT_UP;
 
  89 %constant wxEventType wxEVT_NC_MOTION;
 
  90 %constant wxEventType wxEVT_NC_ENTER_WINDOW;
 
  91 %constant wxEventType wxEVT_NC_LEAVE_WINDOW;
 
  92 %constant wxEventType wxEVT_NC_LEFT_DCLICK;
 
  93 %constant wxEventType wxEVT_NC_MIDDLE_DCLICK;
 
  94 %constant wxEventType wxEVT_NC_RIGHT_DCLICK;
 
  96 // Character input event type
 
  97 %constant wxEventType wxEVT_CHAR;
 
  98 %constant wxEventType wxEVT_CHAR_HOOK;
 
  99 %constant wxEventType wxEVT_NAVIGATION_KEY;
 
 100 %constant wxEventType wxEVT_KEY_DOWN;
 
 101 %constant wxEventType wxEVT_KEY_UP;
 
 102 %constant wxEventType wxEVT_HOTKEY;
 
 105 %constant wxEventType wxEVT_SET_CURSOR;
 
 107 // wxScrollBar and wxSlider event identifiers
 
 108 %constant wxEventType wxEVT_SCROLL_TOP;
 
 109 %constant wxEventType wxEVT_SCROLL_BOTTOM;
 
 110 %constant wxEventType wxEVT_SCROLL_LINEUP;
 
 111 %constant wxEventType wxEVT_SCROLL_LINEDOWN;
 
 112 %constant wxEventType wxEVT_SCROLL_PAGEUP;
 
 113 %constant wxEventType wxEVT_SCROLL_PAGEDOWN;
 
 114 %constant wxEventType wxEVT_SCROLL_THUMBTRACK;
 
 115 %constant wxEventType wxEVT_SCROLL_THUMBRELEASE;
 
 116 %constant wxEventType wxEVT_SCROLL_ENDSCROLL;
 
 118 // Scroll events from wxWindow
 
 119 %constant wxEventType wxEVT_SCROLLWIN_TOP;
 
 120 %constant wxEventType wxEVT_SCROLLWIN_BOTTOM;
 
 121 %constant wxEventType wxEVT_SCROLLWIN_LINEUP;
 
 122 %constant wxEventType wxEVT_SCROLLWIN_LINEDOWN;
 
 123 %constant wxEventType wxEVT_SCROLLWIN_PAGEUP;
 
 124 %constant wxEventType wxEVT_SCROLLWIN_PAGEDOWN;
 
 125 %constant wxEventType wxEVT_SCROLLWIN_THUMBTRACK;
 
 126 %constant wxEventType wxEVT_SCROLLWIN_THUMBRELEASE;
 
 129 %constant wxEventType wxEVT_SIZE;
 
 130 %constant wxEventType wxEVT_MOVE;
 
 131 %constant wxEventType wxEVT_CLOSE_WINDOW;
 
 132 %constant wxEventType wxEVT_END_SESSION;
 
 133 %constant wxEventType wxEVT_QUERY_END_SESSION;
 
 134 %constant wxEventType wxEVT_ACTIVATE_APP;
 
 135 %constant wxEventType wxEVT_POWER;
 
 136 %constant wxEventType wxEVT_ACTIVATE;
 
 137 %constant wxEventType wxEVT_CREATE;
 
 138 %constant wxEventType wxEVT_DESTROY;
 
 139 %constant wxEventType wxEVT_SHOW;
 
 140 %constant wxEventType wxEVT_ICONIZE;
 
 141 %constant wxEventType wxEVT_MAXIMIZE;
 
 142 %constant wxEventType wxEVT_MOUSE_CAPTURE_CHANGED;
 
 143 %constant wxEventType wxEVT_PAINT;
 
 144 %constant wxEventType wxEVT_ERASE_BACKGROUND;
 
 145 %constant wxEventType wxEVT_NC_PAINT;
 
 146 %constant wxEventType wxEVT_PAINT_ICON;
 
 147 %constant wxEventType wxEVT_MENU_OPEN;
 
 148 %constant wxEventType wxEVT_MENU_CLOSE;
 
 149 %constant wxEventType wxEVT_MENU_HIGHLIGHT;
 
 151 %constant wxEventType wxEVT_CONTEXT_MENU;
 
 152 %constant wxEventType wxEVT_SYS_COLOUR_CHANGED;
 
 153 %constant wxEventType wxEVT_DISPLAY_CHANGED;
 
 154 %constant wxEventType wxEVT_SETTING_CHANGED;
 
 155 %constant wxEventType wxEVT_QUERY_NEW_PALETTE;
 
 156 %constant wxEventType wxEVT_PALETTE_CHANGED;
 
 157 %constant wxEventType wxEVT_DROP_FILES;
 
 158 %constant wxEventType wxEVT_DRAW_ITEM;
 
 159 %constant wxEventType wxEVT_MEASURE_ITEM;
 
 160 %constant wxEventType wxEVT_COMPARE_ITEM;
 
 161 %constant wxEventType wxEVT_INIT_DIALOG;
 
 162 %constant wxEventType wxEVT_IDLE;
 
 163 %constant wxEventType wxEVT_UPDATE_UI;
 
 164 %constant wxEventType wxEVT_SIZING;
 
 165 %constant wxEventType wxEVT_MOVING;
 
 167 // Generic command events
 
 168 // Note: a click is a higher-level event than button down/up
 
 169 %constant wxEventType wxEVT_COMMAND_LEFT_CLICK;
 
 170 %constant wxEventType wxEVT_COMMAND_LEFT_DCLICK;
 
 171 %constant wxEventType wxEVT_COMMAND_RIGHT_CLICK;
 
 172 %constant wxEventType wxEVT_COMMAND_RIGHT_DCLICK;
 
 173 %constant wxEventType wxEVT_COMMAND_SET_FOCUS;
 
 174 %constant wxEventType wxEVT_COMMAND_KILL_FOCUS;
 
 175 %constant wxEventType wxEVT_COMMAND_ENTER;
 
 181 %# Create some event binders
 
 182 EVT_SIZE = wx.PyEventBinder( wxEVT_SIZE )
 
 183 EVT_SIZING = wx.PyEventBinder( wxEVT_SIZING )
 
 184 EVT_MOVE = wx.PyEventBinder( wxEVT_MOVE )
 
 185 EVT_MOVING = wx.PyEventBinder( wxEVT_MOVING )
 
 186 EVT_CLOSE = wx.PyEventBinder( wxEVT_CLOSE_WINDOW )
 
 187 EVT_END_SESSION = wx.PyEventBinder( wxEVT_END_SESSION )
 
 188 EVT_QUERY_END_SESSION = wx.PyEventBinder( wxEVT_QUERY_END_SESSION )
 
 189 EVT_PAINT = wx.PyEventBinder( wxEVT_PAINT )
 
 190 EVT_NC_PAINT = wx.PyEventBinder( wxEVT_NC_PAINT )
 
 191 EVT_ERASE_BACKGROUND = wx.PyEventBinder( wxEVT_ERASE_BACKGROUND )
 
 192 EVT_CHAR = wx.PyEventBinder( wxEVT_CHAR )
 
 193 EVT_KEY_DOWN = wx.PyEventBinder( wxEVT_KEY_DOWN )
 
 194 EVT_KEY_UP = wx.PyEventBinder( wxEVT_KEY_UP )
 
 195 EVT_HOTKEY = wx.PyEventBinder( wxEVT_HOTKEY, 1) 
 
 196 EVT_CHAR_HOOK = wx.PyEventBinder( wxEVT_CHAR_HOOK )
 
 197 EVT_MENU_OPEN = wx.PyEventBinder( wxEVT_MENU_OPEN )
 
 198 EVT_MENU_CLOSE = wx.PyEventBinder( wxEVT_MENU_CLOSE )
 
 199 EVT_MENU_HIGHLIGHT = wx.PyEventBinder( wxEVT_MENU_HIGHLIGHT, 1)
 
 200 EVT_MENU_HIGHLIGHT_ALL = wx.PyEventBinder( wxEVT_MENU_HIGHLIGHT )
 
 201 EVT_SET_FOCUS = wx.PyEventBinder( wxEVT_SET_FOCUS )
 
 202 EVT_KILL_FOCUS = wx.PyEventBinder( wxEVT_KILL_FOCUS )
 
 203 EVT_CHILD_FOCUS = wx.PyEventBinder( wxEVT_CHILD_FOCUS )
 
 204 EVT_ACTIVATE = wx.PyEventBinder( wxEVT_ACTIVATE )
 
 205 EVT_ACTIVATE_APP = wx.PyEventBinder( wxEVT_ACTIVATE_APP )
 
 206 EVT_END_SESSION = wx.PyEventBinder( wxEVT_END_SESSION )
 
 207 EVT_QUERY_END_SESSION = wx.PyEventBinder( wxEVT_QUERY_END_SESSION )
 
 208 EVT_DROP_FILES = wx.PyEventBinder( wxEVT_DROP_FILES )
 
 209 EVT_INIT_DIALOG = wx.PyEventBinder( wxEVT_INIT_DIALOG )
 
 210 EVT_SYS_COLOUR_CHANGED = wx.PyEventBinder( wxEVT_SYS_COLOUR_CHANGED )
 
 211 EVT_DISPLAY_CHANGED = wx.PyEventBinder( wxEVT_DISPLAY_CHANGED )
 
 212 EVT_SHOW = wx.PyEventBinder( wxEVT_SHOW )
 
 213 EVT_MAXIMIZE = wx.PyEventBinder( wxEVT_MAXIMIZE )
 
 214 EVT_ICONIZE = wx.PyEventBinder( wxEVT_ICONIZE )
 
 215 EVT_NAVIGATION_KEY = wx.PyEventBinder( wxEVT_NAVIGATION_KEY )
 
 216 EVT_PALETTE_CHANGED = wx.PyEventBinder( wxEVT_PALETTE_CHANGED )
 
 217 EVT_QUERY_NEW_PALETTE = wx.PyEventBinder( wxEVT_QUERY_NEW_PALETTE )
 
 218 EVT_WINDOW_CREATE = wx.PyEventBinder( wxEVT_CREATE )
 
 219 EVT_WINDOW_DESTROY = wx.PyEventBinder( wxEVT_DESTROY )
 
 220 EVT_SET_CURSOR = wx.PyEventBinder( wxEVT_SET_CURSOR )
 
 221 EVT_MOUSE_CAPTURE_CHANGED = wx.PyEventBinder( wxEVT_MOUSE_CAPTURE_CHANGED )
 
 223 EVT_LEFT_DOWN = wx.PyEventBinder( wxEVT_LEFT_DOWN )
 
 224 EVT_LEFT_UP = wx.PyEventBinder( wxEVT_LEFT_UP )
 
 225 EVT_MIDDLE_DOWN = wx.PyEventBinder( wxEVT_MIDDLE_DOWN )
 
 226 EVT_MIDDLE_UP = wx.PyEventBinder( wxEVT_MIDDLE_UP )
 
 227 EVT_RIGHT_DOWN = wx.PyEventBinder( wxEVT_RIGHT_DOWN )
 
 228 EVT_RIGHT_UP = wx.PyEventBinder( wxEVT_RIGHT_UP )
 
 229 EVT_MOTION = wx.PyEventBinder( wxEVT_MOTION )
 
 230 EVT_LEFT_DCLICK = wx.PyEventBinder( wxEVT_LEFT_DCLICK )
 
 231 EVT_MIDDLE_DCLICK = wx.PyEventBinder( wxEVT_MIDDLE_DCLICK )
 
 232 EVT_RIGHT_DCLICK = wx.PyEventBinder( wxEVT_RIGHT_DCLICK )
 
 233 EVT_LEAVE_WINDOW = wx.PyEventBinder( wxEVT_LEAVE_WINDOW )
 
 234 EVT_ENTER_WINDOW = wx.PyEventBinder( wxEVT_ENTER_WINDOW )
 
 235 EVT_MOUSEWHEEL = wx.PyEventBinder( wxEVT_MOUSEWHEEL )
 
 237 EVT_MOUSE_EVENTS = wx.PyEventBinder([ wxEVT_LEFT_DOWN,
 
 253 %# Scrolling from wxWindow (sent to wxScrolledWindow)
 
 254 EVT_SCROLLWIN = wx.PyEventBinder([ wxEVT_SCROLLWIN_TOP, 
 
 255                                   wxEVT_SCROLLWIN_BOTTOM,
 
 256                                   wxEVT_SCROLLWIN_LINEUP,
 
 257                                   wxEVT_SCROLLWIN_LINEDOWN,
 
 258                                   wxEVT_SCROLLWIN_PAGEUP, 
 
 259                                   wxEVT_SCROLLWIN_PAGEDOWN,
 
 260                                   wxEVT_SCROLLWIN_THUMBTRACK,
 
 261                                   wxEVT_SCROLLWIN_THUMBRELEASE,
 
 264 EVT_SCROLLWIN_TOP = wx.PyEventBinder( wxEVT_SCROLLWIN_TOP )
 
 265 EVT_SCROLLWIN_BOTTOM = wx.PyEventBinder( wxEVT_SCROLLWIN_BOTTOM )
 
 266 EVT_SCROLLWIN_LINEUP = wx.PyEventBinder( wxEVT_SCROLLWIN_LINEUP )
 
 267 EVT_SCROLLWIN_LINEDOWN = wx.PyEventBinder( wxEVT_SCROLLWIN_LINEDOWN )
 
 268 EVT_SCROLLWIN_PAGEUP = wx.PyEventBinder( wxEVT_SCROLLWIN_PAGEUP )
 
 269 EVT_SCROLLWIN_PAGEDOWN = wx.PyEventBinder( wxEVT_SCROLLWIN_PAGEDOWN )
 
 270 EVT_SCROLLWIN_THUMBTRACK = wx.PyEventBinder( wxEVT_SCROLLWIN_THUMBTRACK )
 
 271 EVT_SCROLLWIN_THUMBRELEASE = wx.PyEventBinder( wxEVT_SCROLLWIN_THUMBRELEASE )
 
 273 %# Scrolling from wxSlider and wxScrollBar
 
 274 EVT_SCROLL = wx.PyEventBinder([ wxEVT_SCROLL_TOP, 
 
 277                                wxEVT_SCROLL_LINEDOWN, 
 
 279                                wxEVT_SCROLL_PAGEDOWN, 
 
 280                                wxEVT_SCROLL_THUMBTRACK, 
 
 281                                wxEVT_SCROLL_THUMBRELEASE, 
 
 282                                wxEVT_SCROLL_ENDSCROLL,
 
 285 EVT_SCROLL_TOP = wx.PyEventBinder( wxEVT_SCROLL_TOP )
 
 286 EVT_SCROLL_BOTTOM = wx.PyEventBinder( wxEVT_SCROLL_BOTTOM )
 
 287 EVT_SCROLL_LINEUP = wx.PyEventBinder( wxEVT_SCROLL_LINEUP )
 
 288 EVT_SCROLL_LINEDOWN = wx.PyEventBinder( wxEVT_SCROLL_LINEDOWN )
 
 289 EVT_SCROLL_PAGEUP = wx.PyEventBinder( wxEVT_SCROLL_PAGEUP )
 
 290 EVT_SCROLL_PAGEDOWN = wx.PyEventBinder( wxEVT_SCROLL_PAGEDOWN )
 
 291 EVT_SCROLL_THUMBTRACK = wx.PyEventBinder( wxEVT_SCROLL_THUMBTRACK )
 
 292 EVT_SCROLL_THUMBRELEASE = wx.PyEventBinder( wxEVT_SCROLL_THUMBRELEASE )
 
 293 EVT_SCROLL_ENDSCROLL = wx.PyEventBinder( wxEVT_SCROLL_ENDSCROLL )
 
 295 %# Scrolling from wxSlider and wxScrollBar, with an id
 
 296 EVT_COMMAND_SCROLL = wx.PyEventBinder([ wxEVT_SCROLL_TOP, 
 
 299                                        wxEVT_SCROLL_LINEDOWN, 
 
 301                                        wxEVT_SCROLL_PAGEDOWN, 
 
 302                                        wxEVT_SCROLL_THUMBTRACK, 
 
 303                                        wxEVT_SCROLL_THUMBRELEASE,
 
 304                                        wxEVT_SCROLL_ENDSCROLL,
 
 307 EVT_COMMAND_SCROLL_TOP = wx.PyEventBinder( wxEVT_SCROLL_TOP, 1)
 
 308 EVT_COMMAND_SCROLL_BOTTOM = wx.PyEventBinder( wxEVT_SCROLL_BOTTOM, 1)
 
 309 EVT_COMMAND_SCROLL_LINEUP = wx.PyEventBinder( wxEVT_SCROLL_LINEUP, 1)
 
 310 EVT_COMMAND_SCROLL_LINEDOWN = wx.PyEventBinder( wxEVT_SCROLL_LINEDOWN, 1)
 
 311 EVT_COMMAND_SCROLL_PAGEUP = wx.PyEventBinder( wxEVT_SCROLL_PAGEUP, 1)
 
 312 EVT_COMMAND_SCROLL_PAGEDOWN = wx.PyEventBinder( wxEVT_SCROLL_PAGEDOWN, 1)
 
 313 EVT_COMMAND_SCROLL_THUMBTRACK = wx.PyEventBinder( wxEVT_SCROLL_THUMBTRACK, 1)
 
 314 EVT_COMMAND_SCROLL_THUMBRELEASE = wx.PyEventBinder( wxEVT_SCROLL_THUMBRELEASE, 1)
 
 315 EVT_COMMAND_SCROLL_ENDSCROLL = wx.PyEventBinder( wxEVT_SCROLL_ENDSCROLL, 1)
 
 317 EVT_BUTTON = wx.PyEventBinder( wxEVT_COMMAND_BUTTON_CLICKED, 1)
 
 318 EVT_CHECKBOX = wx.PyEventBinder( wxEVT_COMMAND_CHECKBOX_CLICKED, 1)
 
 319 EVT_CHOICE = wx.PyEventBinder( wxEVT_COMMAND_CHOICE_SELECTED, 1)
 
 320 EVT_LISTBOX = wx.PyEventBinder( wxEVT_COMMAND_LISTBOX_SELECTED, 1)
 
 321 EVT_LISTBOX_DCLICK = wx.PyEventBinder( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, 1)
 
 322 EVT_MENU = wx.PyEventBinder( wxEVT_COMMAND_MENU_SELECTED, 1)
 
 323 EVT_MENU_RANGE = wx.PyEventBinder( wxEVT_COMMAND_MENU_SELECTED, 2)
 
 324 EVT_SLIDER = wx.PyEventBinder( wxEVT_COMMAND_SLIDER_UPDATED, 1)
 
 325 EVT_RADIOBOX = wx.PyEventBinder( wxEVT_COMMAND_RADIOBOX_SELECTED, 1)
 
 326 EVT_RADIOBUTTON = wx.PyEventBinder( wxEVT_COMMAND_RADIOBUTTON_SELECTED, 1)
 
 328 EVT_SCROLLBAR = wx.PyEventBinder( wxEVT_COMMAND_SCROLLBAR_UPDATED, 1)
 
 329 EVT_VLBOX = wx.PyEventBinder( wxEVT_COMMAND_VLBOX_SELECTED, 1)
 
 330 EVT_COMBOBOX = wx.PyEventBinder( wxEVT_COMMAND_COMBOBOX_SELECTED, 1)
 
 331 EVT_TOOL = wx.PyEventBinder( wxEVT_COMMAND_TOOL_CLICKED, 1)
 
 332 EVT_TOOL_RANGE = wx.PyEventBinder( wxEVT_COMMAND_TOOL_CLICKED, 2)
 
 333 EVT_TOOL_RCLICKED = wx.PyEventBinder( wxEVT_COMMAND_TOOL_RCLICKED, 1)
 
 334 EVT_TOOL_RCLICKED_RANGE = wx.PyEventBinder( wxEVT_COMMAND_TOOL_RCLICKED, 2)
 
 335 EVT_TOOL_ENTER = wx.PyEventBinder( wxEVT_COMMAND_TOOL_ENTER, 1)
 
 336 EVT_CHECKLISTBOX = wx.PyEventBinder( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, 1)
 
 339 EVT_COMMAND_LEFT_CLICK = wx.PyEventBinder( wxEVT_COMMAND_LEFT_CLICK, 1)
 
 340 EVT_COMMAND_LEFT_DCLICK = wx.PyEventBinder( wxEVT_COMMAND_LEFT_DCLICK, 1)
 
 341 EVT_COMMAND_RIGHT_CLICK = wx.PyEventBinder( wxEVT_COMMAND_RIGHT_CLICK, 1)
 
 342 EVT_COMMAND_RIGHT_DCLICK = wx.PyEventBinder( wxEVT_COMMAND_RIGHT_DCLICK, 1)
 
 343 EVT_COMMAND_SET_FOCUS = wx.PyEventBinder( wxEVT_COMMAND_SET_FOCUS, 1)
 
 344 EVT_COMMAND_KILL_FOCUS = wx.PyEventBinder( wxEVT_COMMAND_KILL_FOCUS, 1)
 
 345 EVT_COMMAND_ENTER = wx.PyEventBinder( wxEVT_COMMAND_ENTER, 1)
 
 347 EVT_IDLE = wx.PyEventBinder( wxEVT_IDLE )
 
 349 EVT_UPDATE_UI = wx.PyEventBinder( wxEVT_UPDATE_UI, 1)
 
 350 EVT_UPDATE_UI_RANGE = wx.PyEventBinder( wxEVT_UPDATE_UI, 2)
 
 352 EVT_CONTEXT_MENU = wx.PyEventBinder( wxEVT_CONTEXT_MENU )
 
 357 //---------------------------------------------------------------------------
 
 360 class wxEvent : public wxObject {
 
 362     // wxEvent(int winid = 0, wxEventType commandType = wxEVT_NULL);     // *** This class is now an ABC
 
 365     void SetEventType(wxEventType typ);
 
 366     wxEventType GetEventType() const;
 
 367     wxObject *GetEventObject() const;
 
 368     void SetEventObject(wxObject *obj);
 
 369     long GetTimestamp() const;
 
 370     void SetTimestamp(long ts = 0);
 
 375     bool IsCommandEvent() const;
 
 377     // Can instruct event processor that we wish to ignore this event
 
 378     // (treat as if the event table entry had not been found): this must be done
 
 379     // to allow the event processing by the base classes (calling event.Skip()
 
 380     // is the analog of calling the base class verstion of a virtual function)
 
 381     void Skip(bool skip = true);
 
 382     bool GetSkipped() const;
 
 384     // Determine if this event should be propagating to the parent window.
 
 385     bool ShouldPropagate() const;
 
 387     // Stop an event from propagating to its parent window, returns the old
 
 388     // propagation level value
 
 389     int StopPropagation();
 
 391     // Resume the event propagation by restoring the propagation level
 
 392     // (returned by StopPropagation())
 
 393     void ResumePropagation(int propagationLevel);
 
 395     // this function is used to create a copy of the event polymorphically and
 
 396     // all derived classes must implement it because otherwise wxPostEvent()
 
 397     // for them wouldn't work (it needs to do a copy of the event)
 
 398     virtual wxEvent *Clone() /* =0*/;
 
 402 //---------------------------------------------------------------------------
 
 405 // Helper class to temporarily change an event not to propagate.
 
 406 class  wxPropagationDisabler
 
 409     wxPropagationDisabler(wxEvent& event);
 
 410     ~wxPropagationDisabler();
 
 414 // Another one to temporarily lower propagation level.
 
 415 class  wxPropagateOnce
 
 418     wxPropagateOnce(wxEvent& event);
 
 422 //---------------------------------------------------------------------------
 
 425 class wxCommandEvent : public wxEvent
 
 428     wxCommandEvent(wxEventType commandType = wxEVT_NULL, int winid = 0);
 
 431 //     // Set/Get client data from controls
 
 432 //     void SetClientData(void* clientData) { m_clientData = clientData; }
 
 433 //     void *GetClientData() const { return m_clientData; }
 
 435 //     // Set/Get client object from controls
 
 436 //     void SetClientObject(wxClientData* clientObject) { m_clientObject = clientObject; }
 
 437 //     void *GetClientObject() const { return m_clientObject; }
 
 440     // Get listbox selection if single-choice
 
 441     int GetSelection() const;
 
 443     // Set/Get listbox/choice selection string
 
 444     void SetString(const wxString& s);
 
 445     wxString GetString() const;
 
 447     // Get checkbox value
 
 448     bool IsChecked() const;
 
 449     %pythoncode { Checked = IsChecked }
 
 451     // True if the listbox event was a selection.
 
 452     bool IsSelection() const;
 
 454     void SetExtraLong(long extraLong);
 
 455     long GetExtraLong() const;
 
 460     virtual wxEvent *Clone() const;
 
 464 //---------------------------------------------------------------------------
 
 467 // this class adds a possibility to react (from the user) code to a control
 
 468 // notification: allow or veto the operation being reported.
 
 469 class wxNotifyEvent : public wxCommandEvent
 
 472     wxNotifyEvent(wxEventType commandType = wxEVT_NULL, int winid = 0);
 
 474     // veto the operation (usually it's allowed by default)
 
 477     // allow the operation if it was disabled by default
 
 480     // for implementation code only: is the operation allowed?
 
 485 //---------------------------------------------------------------------------
 
 488 // Scroll event class, derived form wxCommandEvent. wxScrollEvents are
 
 489 // sent by wxSlider and wxScrollBar.
 
 490 class  wxScrollEvent : public wxCommandEvent
 
 493     wxScrollEvent(wxEventType commandType = wxEVT_NULL,
 
 494                   int winid = 0, int pos = 0, int orient = 0);
 
 496     int GetOrientation() const;
 
 497     int GetPosition() const;
 
 498     void SetOrientation(int orient);
 
 499     void SetPosition(int pos);
 
 503 //---------------------------------------------------------------------------
 
 506 // ScrollWin event class, derived fom wxEvent. wxScrollWinEvents
 
 507 // are sent by wxWindow.
 
 508 class wxScrollWinEvent : public wxEvent
 
 511     wxScrollWinEvent(wxEventType commandType = wxEVT_NULL,
 
 512                      int pos = 0, int orient = 0);
 
 514     int GetOrientation() const;
 
 515     int GetPosition() const;
 
 516     void SetOrientation(int orient);
 
 517     void SetPosition(int pos);
 
 520 //---------------------------------------------------------------------------
 
 523 // the symbolic names for the mouse buttons
 
 526     wxMOUSE_BTN_ANY     = -1,
 
 527     wxMOUSE_BTN_NONE    = -1,
 
 528     wxMOUSE_BTN_LEFT    = 0,
 
 529     wxMOUSE_BTN_MIDDLE  = 1,
 
 530     wxMOUSE_BTN_RIGHT   = 2
 
 535 class  wxMouseEvent : public wxEvent
 
 538     wxMouseEvent(wxEventType mouseType = wxEVT_NULL);
 
 540     // Was it a button event? (*doesn't* mean: is any button *down*?)
 
 541     bool IsButton() const;
 
 543     // Was it a down event from this (or any) button?
 
 544     bool ButtonDown(int but = wxMOUSE_BTN_ANY) const;
 
 546     // Was it a dclick event from this (or any) button?
 
 547     bool ButtonDClick(int but = wxMOUSE_BTN_ANY) const;
 
 549     // Was it a up event from this (or any) button?
 
 550     bool ButtonUp(int but = wxMOUSE_BTN_ANY) const;
 
 552     // Was the given button changing state?
 
 553     bool Button(int but) const;
 
 555     // Was the given button in Down state?
 
 556     bool ButtonIsDown(int but) const;
 
 558     // Get the button which is changing state (wxMOUSE_BTN_NONE if none)
 
 559     int GetButton() const;
 
 561     // Find state of shift/control keys
 
 562     bool ControlDown() const;
 
 563     bool MetaDown() const;
 
 564     bool AltDown() const;
 
 565     bool ShiftDown() const;
 
 568         bool , CmdDown() const,
 
 569         "\"Cmd\" is a pseudo key which is the same as Control for PC and Unix
 
 570 platforms but the special \"Apple\" (a.k.a as \"Command\") key on
 
 571 Macs: it makes often sense to use it instead of, say, `ControlDown`
 
 572 because Cmd key is used for the same thing under Mac as Ctrl
 
 573 elsewhere. The Ctrl still exists, it's just not used for this
 
 574 purpose. So for non-Mac platforms this is the same as `ControlDown`
 
 575 and Macs this is the same as `MetaDown`.", "");
 
 577     // Find which event was just generated
 
 578     bool LeftDown() const;
 
 579     bool MiddleDown() const;
 
 580     bool RightDown() const;
 
 583     bool MiddleUp() const;
 
 584     bool RightUp() const;
 
 586     bool LeftDClick() const;
 
 587     bool MiddleDClick() const;
 
 588     bool RightDClick() const;
 
 590     // Find the current state of the mouse buttons (regardless
 
 591     // of current event type)
 
 596     // True if a button is down and the mouse is moving
 
 597     bool Dragging() const;
 
 599     // True if the mouse is moving, and no button is down
 
 602     // True if the mouse is just entering the window
 
 603     bool Entering() const;
 
 605     // True if the mouse is just leaving the window
 
 606     bool Leaving() const;
 
 609     DocStr(GetPosition,   // sets the docstring for both
 
 610            "Returns the position of the mouse in window coordinates when the event
 
 612     wxPoint GetPosition();
 
 615         void, GetPosition(long *OUTPUT, long *OUTPUT),
 
 616         "GetPositionTuple() -> (x,y)",
 
 619     // Find the logical position of the event given the DC
 
 620     wxPoint GetLogicalPosition(const wxDC& dc) const;
 
 623     wxCoord GetX() const;
 
 626     wxCoord GetY() const;
 
 628     // Get wheel rotation, positive or negative indicates direction of
 
 629     // rotation.  Current devices all send an event when rotation is equal to
 
 630     // +/-WheelDelta, but this allows for finer resolution devices to be
 
 631     // created in the future.  Because of this you shouldn't assume that one
 
 632     // event is equal to 1 line or whatever, but you should be able to either
 
 633     // do partial line scrolling or wait until +/-WheelDelta rotation values
 
 634     // have been accumulated before scrolling.
 
 635     int GetWheelRotation() const;
 
 637     // Get wheel delta, normally 120.  This is the threshold for action to be
 
 638     // taken, and one such action (for example, scrolling one increment)
 
 639     // should occur for each delta.
 
 640     int GetWheelDelta() const;
 
 642     // Returns the configured number of lines (or whatever) to be scrolled per
 
 643     // wheel action.  Defaults to one.
 
 644     int GetLinesPerAction() const;
 
 646     // Is the system set to do page scrolling?
 
 647     bool IsPageScroll() const;
 
 663     int           m_linesPerAction;
 
 666 //---------------------------------------------------------------------------
 
 670 class wxSetCursorEvent : public wxEvent
 
 673     wxSetCursorEvent(wxCoord x = 0, wxCoord y = 0);
 
 675     wxCoord GetX() const;
 
 676     wxCoord GetY() const;
 
 678     void SetCursor(const wxCursor& cursor);
 
 679     const wxCursor& GetCursor() const;
 
 680     bool HasCursor() const;
 
 683 //---------------------------------------------------------------------------
 
 686 // Keyboard input event class
 
 688 class wxKeyEvent : public wxEvent
 
 691     wxKeyEvent(wxEventType keyType = wxEVT_NULL);
 
 693     // Find state of shift/control keys
 
 694     bool ControlDown() const;
 
 695     bool MetaDown() const;
 
 696     bool AltDown() const;
 
 697     bool ShiftDown() const;
 
 700         bool , CmdDown() const,
 
 701         "\"Cmd\" is a pseudo key which is the same as Control for PC and Unix
 
 702 platforms but the special \"Apple\" (a.k.a as \"Command\") key on
 
 703 Macs: it makes often sense to use it instead of, say, `ControlDown`
 
 704 because Cmd key is used for the same thing under Mac as Ctrl
 
 705 elsewhere. The Ctrl still exists, it's just not used for this
 
 706 purpose. So for non-Mac platforms this is the same as `ControlDown`
 
 707 and Macs this is the same as `MetaDown`.", "");
 
 711     // exclude MetaDown() from HasModifiers() because NumLock under X is often
 
 712     // configured as mod2 modifier, yet the key events even when it is pressed
 
 713     // should be processed normally, not like Ctrl- or Alt-key
 
 714     bool HasModifiers() const;
 
 716     // get the key code: an ASCII7 char or an element of wxKeyCode enum
 
 717     int GetKeyCode() const;
 
 718     %pythoncode { KeyCode = GetKeyCode }
 
 721         int GetUnicodeKey() {
 
 723             return self->GetUnicodeKey();
 
 729     %pythoncode { GetUniChar = GetUnicodeKey }
 
 732     // get the raw key code (platform-dependent)
 
 733     wxUint32 GetRawKeyCode() const;
 
 735     // get the raw key flags (platform-dependent)
 
 736     wxUint32 GetRawKeyFlags() const;
 
 739     DocStr(GetPosition,   // sets the docstring for both
 
 740            "Find the position of the event.", "");
 
 741     wxPoint GetPosition();
 
 744         void, GetPosition(long *OUTPUT, long *OUTPUT),
 
 745         "GetPositionTuple() -> (x,y)",
 
 749     wxCoord GetX() const;
 
 752     wxCoord GetY() const;
 
 765     // these fields contain the platform-specific information about
 
 766     // key that was pressed
 
 771 //---------------------------------------------------------------------------
 
 775 class wxSizeEvent : public wxEvent
 
 778     wxSizeEvent(const wxSize& sz=wxDefaultSize, int winid = 0);
 
 780     wxSize GetSize() const;
 
 781     wxRect GetRect() const;
 
 782     void SetRect(wxRect rect);
 
 784         void SetSize(wxSize size) {
 
 791     wxRect m_rect; // Used for wxEVT_SIZING
 
 795 //---------------------------------------------------------------------------
 
 799 class wxMoveEvent : public wxEvent
 
 802     wxMoveEvent(const wxPoint& pos=wxDefaultPosition, int winid = 0);
 
 804     wxPoint GetPosition() const;
 
 805     wxRect GetRect() const;
 
 806     void SetRect(wxRect rect);
 
 808         void SetPosition(wxPoint pos) {
 
 817 //---------------------------------------------------------------------------
 
 821 class wxPaintEvent : public wxEvent
 
 824     wxPaintEvent(int Id = 0);
 
 828 class wxNcPaintEvent : public wxEvent
 
 831     wxNcPaintEvent(int winid = 0);
 
 834 //---------------------------------------------------------------------------
 
 837 class wxEraseEvent : public wxEvent
 
 840     wxEraseEvent(int Id = 0, wxDC *dc = (wxDC *) NULL);
 
 846 //---------------------------------------------------------------------------
 
 849 class wxFocusEvent : public wxEvent
 
 852     wxFocusEvent(wxEventType type = wxEVT_NULL, int winid = 0);
 
 854     // The window associated with this event is the window which had focus
 
 855     // before for SET event and the window which will have focus for the KILL
 
 856     // one. NB: it may be NULL in both cases!
 
 857     wxWindow *GetWindow() const;
 
 858     void SetWindow(wxWindow *win);
 
 861 //---------------------------------------------------------------------------
 
 864 // wxChildFocusEvent notifies the parent that a child has got the focus: unlike
 
 865 // wxFocusEvent it is propagated upwards the window chain
 
 866 class wxChildFocusEvent : public wxCommandEvent
 
 869     wxChildFocusEvent(wxWindow *win = NULL);
 
 871     wxWindow *GetWindow() const;
 
 874 //---------------------------------------------------------------------------
 
 877 class wxActivateEvent : public wxEvent
 
 880     wxActivateEvent(wxEventType type = wxEVT_NULL, bool active = true, int Id = 0);
 
 881     bool GetActive() const;
 
 885 //---------------------------------------------------------------------------
 
 888 class wxInitDialogEvent : public wxEvent
 
 891     wxInitDialogEvent(int Id = 0);
 
 895 //---------------------------------------------------------------------------
 
 898 class wxMenuEvent : public wxEvent
 
 901     wxMenuEvent(wxEventType type = wxEVT_NULL, int winid = 0, wxMenu* menu = NULL);
 
 903     // only for wxEVT_MENU_HIGHLIGHT
 
 904     int GetMenuId() const;
 
 906     // only for wxEVT_MENU_OPEN/CLOSE
 
 907     bool IsPopup() const;
 
 909     // only for wxEVT_MENU_OPEN/CLOSE
 
 910     wxMenu* GetMenu() const;
 
 913 //---------------------------------------------------------------------------
 
 916 // Window close or session close event class
 
 917 class wxCloseEvent : public wxEvent
 
 920     wxCloseEvent(wxEventType type = wxEVT_NULL, int winid = 0);
 
 922     void SetLoggingOff(bool logOff);
 
 923     bool GetLoggingOff() const;
 
 925     void Veto(bool veto = true);
 
 926     void SetCanVeto(bool canVeto);
 
 928     bool CanVeto() const;
 
 929     bool GetVeto() const;
 
 933 //---------------------------------------------------------------------------
 
 936 class wxShowEvent : public wxEvent
 
 939     wxShowEvent(int winid = 0, bool show = false);
 
 941     void SetShow(bool show);
 
 942     bool GetShow() const;
 
 947 //---------------------------------------------------------------------------
 
 950 class wxIconizeEvent: public wxEvent
 
 953     wxIconizeEvent(int id = 0, bool iconized = true);
 
 958 //---------------------------------------------------------------------------
 
 961 class wxMaximizeEvent: public wxEvent
 
 964     wxMaximizeEvent(int id = 0);
 
 967 //---------------------------------------------------------------------------
 
 970 class wxDropFilesEvent: public wxEvent
 
 973     wxPoint GetPosition();
 
 974     int GetNumberOfFiles();
 
 977         PyObject* GetFiles() {
 
 978             int         count = self->GetNumberOfFiles();
 
 979             wxString*   files = self->GetFiles();
 
 980             PyObject*   list  = PyList_New(count);
 
 983                 PyErr_SetString(PyExc_MemoryError, "Can't allocate list of files!");
 
 987             for (int i=0; i<count; i++) {
 
 988                 PyList_SetItem(list, i, wx2PyString(files[i]));
 
 997 //---------------------------------------------------------------------------
 
1001 // Whether to always send update events to windows, or
 
1002 // to only send update events to those with the
 
1003 // wxWS_EX_PROCESS_UI_UPDATES style.
 
1007         // Send UI update events to all windows
 
1008     wxUPDATE_UI_PROCESS_ALL,
 
1010         // Send UI update events to windows that have
 
1011         // the wxWS_EX_PROCESS_UI_UPDATES flag specified
 
1012     wxUPDATE_UI_PROCESS_SPECIFIED
 
1017 class wxUpdateUIEvent : public wxCommandEvent
 
1020     wxUpdateUIEvent(wxWindowID commandId = 0);
 
1022     bool GetChecked() const;
 
1023     bool GetEnabled() const;
 
1024     wxString GetText() const;
 
1025     bool GetSetText() const;
 
1026     bool GetSetChecked() const;
 
1027     bool GetSetEnabled() const;
 
1029     void Check(bool check);
 
1030     void Enable(bool enable);
 
1031     void SetText(const wxString& text);
 
1033     // Sets the interval between updates in milliseconds.
 
1034     // Set to -1 to disable updates, or to 0 to update as frequently as possible.
 
1035     static void SetUpdateInterval(long updateInterval);
 
1037     // Returns the current interval between updates in milliseconds
 
1038     static long GetUpdateInterval();
 
1040     // Can we update this window?
 
1041     static bool CanUpdate(wxWindow *win);
 
1043     // Reset the update time to provide a delay until the next
 
1044     // time we should update
 
1045     static void ResetUpdateTime();
 
1047     // Specify how wxWindows will send update events: to
 
1048     // all windows, or only to those which specify that they
 
1049     // will process the events.
 
1050     static void SetMode(wxUpdateUIMode mode);
 
1052     // Returns the UI update mode
 
1053     static wxUpdateUIMode GetMode();
 
1056 //---------------------------------------------------------------------------
 
1059 class wxSysColourChangedEvent: public wxEvent {
 
1061     wxSysColourChangedEvent();
 
1064 //---------------------------------------------------------------------------
 
1068 //  wxEVT_MOUSE_CAPTURE_CHANGED
 
1069 //  The window losing the capture receives this message
 
1070 //  (even if it released the capture itself).
 
1071 class wxMouseCaptureChangedEvent : public wxEvent
 
1074     wxMouseCaptureChangedEvent(wxWindowID winid = 0, wxWindow* gainedCapture = NULL);
 
1076     wxWindow* GetCapturedWindow() const;
 
1079 //---------------------------------------------------------------------------
 
1082 class wxDisplayChangedEvent : public wxEvent
 
1085     wxDisplayChangedEvent();
 
1088 //---------------------------------------------------------------------------
 
1091 class  wxPaletteChangedEvent : public wxEvent
 
1094     wxPaletteChangedEvent(wxWindowID id = 0);
 
1096     void SetChangedWindow(wxWindow* win);
 
1097     wxWindow* GetChangedWindow();
 
1101 //---------------------------------------------------------------------------
 
1105 //  wxEVT_QUERY_NEW_PALETTE
 
1106 //  Indicates the window is getting keyboard focus and should re-do its palette.
 
1107 class wxQueryNewPaletteEvent : public wxEvent
 
1110     wxQueryNewPaletteEvent(wxWindowID winid = 0);
 
1112     // App sets this if it changes the palette.
 
1113     void SetPaletteRealized(bool realized);
 
1114     bool GetPaletteRealized() const;
 
1117 //---------------------------------------------------------------------------
 
1121 //  Event generated by dialog navigation keys
 
1122 //  wxEVT_NAVIGATION_KEY
 
1124 class wxNavigationKeyEvent : public wxEvent
 
1127     wxNavigationKeyEvent();
 
1129     // direction: forward (True) or backward (False)
 
1130     bool GetDirection() const;
 
1131     void SetDirection(bool forward);
 
1133     // it may be a window change event (MDI, notebook pages...) or a control
 
1135     bool IsWindowChange() const;
 
1136     void SetWindowChange(bool ischange);
 
1138     void SetFlags(long flags);
 
1140     // the child which has the focus currently (may be NULL - use
 
1141     // wxWindow::FindFocus then)
 
1142     wxWindow* GetCurrentFocus() const;
 
1143     void SetCurrentFocus(wxWindow *win);
 
1153 //---------------------------------------------------------------------------
 
1156 // Window creation/destruction events: the first is sent as soon as window is
 
1157 // created (i.e. the underlying GUI object exists), but when the C++ object is
 
1158 // fully initialized (so virtual functions may be called). The second,
 
1159 // wxEVT_DESTROY, is sent right before the window is destroyed - again, it's
 
1160 // still safe to call virtual functions at this moment
 
1162 class wxWindowCreateEvent : public wxCommandEvent
 
1165     wxWindowCreateEvent(wxWindow *win = NULL);
 
1166     wxWindow *GetWindow() const;
 
1169 class wxWindowDestroyEvent : public wxCommandEvent
 
1172     wxWindowDestroyEvent(wxWindow *win = NULL);
 
1173     wxWindow *GetWindow() const;
 
1177 //---------------------------------------------------------------------------
 
1180 // A Context event is sent when the user right clicks on a window or
 
1181 // presses Shift-F10
 
1182 // NOTE : Under windows this is a repackaged WM_CONTETXMENU message
 
1183 //        Under other systems it may have to be generated from a right click event
 
1188 class wxContextMenuEvent : public wxCommandEvent
 
1191     wxContextMenuEvent(wxEventType type = wxEVT_NULL,
 
1192                        wxWindowID winid = 0,
 
1193                        const wxPoint& pt = wxDefaultPosition);
 
1195     // Position of event (in screen coordinates)
 
1196     const wxPoint& GetPosition() const;
 
1197     void SetPosition(const wxPoint& pos);
 
1200 //---------------------------------------------------------------------------
 
1203 // Whether to always send idle events to windows, or
 
1204 // to only send update events to those with the
 
1205 // wxWS_EX_PROCESS_IDLE style.
 
1209         // Send idle events to all windows
 
1212         // Send idle events to windows that have
 
1213         // the wxWS_EX_PROCESS_IDLE flag specified
 
1214     wxIDLE_PROCESS_SPECIFIED
 
1218 class wxIdleEvent : public wxEvent
 
1223     void RequestMore(bool needMore = true);
 
1224     bool MoreRequested() const;
 
1226     // Specify how wxWindows will send idle events: to
 
1227     // all windows, or only to those which specify that they
 
1228     // will process the events.
 
1229     static void SetMode(wxIdleMode mode);
 
1231     // Returns the idle event mode
 
1232     static wxIdleMode GetMode();
 
1234     // Can we send an idle event?
 
1235     static bool CanSend(wxWindow* win);
 
1238 //---------------------------------------------------------------------------
 
1241 // These classes can be derived from in Python and passed through the event
 
1242 // system without loosing anything.  They do this by keeping a reference to
 
1243 // themselves and some special case handling in wxPyCallback::EventThunker.
 
1245 class wxPyEvent : public wxEvent {
 
1247     %pythonAppend wxPyEvent     "self.SetSelf(self)"
 
1248     wxPyEvent(int winid=0, wxEventType commandType = wxEVT_NULL );
 
1252     void SetSelf(PyObject* self);
 
1253     PyObject* GetSelf();
 
1257 class wxPyCommandEvent : public wxCommandEvent {
 
1259     %pythonAppend wxPyCommandEvent     "self.SetSelf(self)"
 
1260     wxPyCommandEvent(wxEventType commandType = wxEVT_NULL, int id=0);
 
1261     ~wxPyCommandEvent();
 
1263     void SetSelf(PyObject* self);
 
1264     PyObject* GetSelf();
 
1269 //---------------------------------------------------------------------------