]> git.saurik.com Git - wxWidgets.git/blame - wxPython/src/events.i
reduce flicker in header window when deleting items and let space select items even...
[wxWidgets.git] / wxPython / src / events.i
CommitLineData
7bf85405
RD
1/////////////////////////////////////////////////////////////////////////////
2// Name: events.i
3// Purpose: SWIGgable Event classes for wxPython
4//
5// Author: Robin Dunn
6//
7// Created: 5/24/98
8// RCS-ID: $Id$
9// Copyright: (c) 1998 by Total Control Software
10// Licence: wxWindows license
11/////////////////////////////////////////////////////////////////////////////
12
13
03e9bead
RD
14%module events
15
16%{
7bf85405 17#include "helpers.h"
62bd0874 18#include <wx/spinbutt.h>
7bf85405
RD
19%}
20
21//----------------------------------------------------------------------
22
23%include typemaps.i
24%include my_typemaps.i
25
26// Import some definitions of other classes, etc.
27%import _defs.i
28%import misc.i
f6bcfd97 29%import gdi.i
7bf85405
RD
30
31//---------------------------------------------------------------------------
32
83b18bab
RD
33
34int wxNewEventType();
35
9416aa89 36class wxEvent : public wxObject {
7bf85405 37public:
1475671a
RD
38 wxEvent(int id = 0);
39 ~wxEvent();
40
7bf85405
RD
41 wxObject* GetEventObject();
42 wxEventType GetEventType();
43 int GetId();
44 bool GetSkipped();
45 long GetTimestamp();
46 void SetEventObject(wxObject* object);
47 void SetEventType(wxEventType typ);
48 void SetId(int id);
49 void SetTimestamp(long timeStamp);
50 void Skip(bool skip = TRUE);
51};
52
53//---------------------------------------------------------------------------
54
55class wxSizeEvent : public wxEvent {
56public:
1475671a 57 wxSizeEvent(const wxSize& sz, int id = 0);
7bf85405
RD
58 wxSize GetSize();
59};
60
61//---------------------------------------------------------------------------
62
63class wxCloseEvent : public wxEvent {
64public:
1475671a
RD
65 wxCloseEvent(int commandEventType = 0, int id = 0);
66
e980740a 67 void SetLoggingOff(bool loggingOff);
7bf85405
RD
68 bool GetLoggingOff();
69 void Veto(bool veto = TRUE);
e980740a 70 bool CanVeto();
7bf85405 71 bool GetVeto();
b8b8dda7 72 void SetCanVeto(bool canVeto);
7bf85405
RD
73};
74
75//---------------------------------------------------------------------------
76
77class wxCommandEvent : public wxEvent {
78public:
1475671a
RD
79 wxCommandEvent(int commandEventType = 0, int id = 0);
80
3ca6a5f0
BP
81 bool IsChecked();
82 %name(Checked)bool IsChecked();
7bf85405
RD
83 long GetExtraLong();
84 int GetInt();
85 int GetSelection();
cf694132 86 wxString GetString();
7bf85405 87 bool IsSelection();
6999b0d8
RD
88 void SetString(const wxString& s);
89 void SetExtraLong(long extraLong);
90 void SetInt(int i);
91
7bf85405
RD
92};
93
94
95//---------------------------------------------------------------------------
96
97class wxScrollEvent: public wxCommandEvent {
98public:
1475671a
RD
99 wxScrollEvent(int commandType = 0, int id = 0, int pos = 0,
100 int orientation = 0);
101
7bf85405
RD
102 int GetOrientation();
103 int GetPosition();
104};
105
106//---------------------------------------------------------------------------
107
d426c97e
RD
108class wxScrollWinEvent: public wxEvent {
109public:
1475671a
RD
110 wxScrollWinEvent(int commandType = 0, int pos = 0,
111 int orientation = 0);
112
d426c97e
RD
113 int GetOrientation();
114 int GetPosition();
115};
116
117//---------------------------------------------------------------------------
118
62bd0874
RD
119class wxSpinEvent : public wxScrollEvent {
120public:
1475671a 121 wxSpinEvent(int commandType = 0, int id = 0);
62bd0874
RD
122
123};
124
125//---------------------------------------------------------------------------
126
7bf85405
RD
127class wxMouseEvent: public wxEvent {
128public:
1475671a
RD
129 wxMouseEvent(int mouseEventType = 0);
130
7bf85405
RD
131 bool IsButton();
132 bool ButtonDown(int but = -1);
133 bool ButtonDClick(int but = -1);
134 bool ButtonUp(int but = -1);
135 bool Button(int but);
136 bool ButtonIsDown(int but);
137 bool ControlDown();
138 bool MetaDown();
139 bool AltDown();
140 bool ShiftDown();
141 bool LeftDown();
142 bool MiddleDown();
143 bool RightDown();
144 bool LeftUp();
145 bool MiddleUp();
146 bool RightUp();
147 bool LeftDClick();
148 bool MiddleDClick();
149 bool RightDClick();
150 bool LeftIsDown();
151 bool MiddleIsDown();
152 bool RightIsDown();
153 bool Dragging();
154 bool Moving();
155 bool Entering();
156 bool Leaving();
7bf85405 157 wxPoint GetPosition();
b1462dfa 158 %name(GetPositionTuple)void GetPosition(long *OUTPUT, long *OUTPUT);
7bf85405
RD
159 wxPoint GetLogicalPosition(const wxDC& dc);
160 long GetX();
161 long GetY();
c368d904 162
d1679124
RD
163 int GetWheelRotation() const { return m_wheelRotation; }
164 int GetWheelDelta() const { return m_wheelDelta; }
165 int GetLinesPerAction() const { return m_linesPerAction; }
166
c368d904
RD
167 long m_x, m_y;
168 bool m_leftDown;
169 bool m_middleDown;
170 bool m_rightDown;
171 bool m_controlDown;
172 bool m_shiftDown;
173 bool m_altDown;
174 bool m_metaDown;
d1679124
RD
175 int m_wheelRotation;
176 int m_wheelDelta;
177 int m_linesPerAction;
7bf85405
RD
178};
179
180//---------------------------------------------------------------------------
181
182class wxKeyEvent: public wxEvent {
183public:
1475671a
RD
184 wxKeyEvent(int keyEventType);
185
7bf85405
RD
186 bool ControlDown();
187 bool MetaDown();
188 bool AltDown();
189 bool ShiftDown();
190 long KeyCode();
e980740a 191
f6bcfd97
BP
192 long GetKeyCode();
193 bool HasModifiers();
194
1475671a
RD
195 long GetX();
196 long GetY();
197 wxPoint GetPosition();
198 %name(GetPositionTuple) void GetPosition(long* OUTPUT, long* OUTPUT);
c368d904
RD
199
200 long m_x, m_y;
201 long m_keyCode;
202 bool m_controlDown;
203 bool m_shiftDown;
204 bool m_altDown;
205 bool m_metaDown;
206 bool m_scanCode;
207
7bf85405
RD
208};
209
2f90df85
RD
210//---------------------------------------------------------------------------
211
eec92d76 212class wxNavigationKeyEvent : public wxEvent {
1475671a
RD
213public:
214 wxNavigationKeyEvent();
215
216 bool GetDirection();
217 void SetDirection(bool bForward);
218 bool IsWindowChange();
219 void SetWindowChange(bool bIs);
220 wxWindow* GetCurrentFocus();
221 void SetCurrentFocus(wxWindow *win);
222};
2f90df85
RD
223
224
7bf85405
RD
225//---------------------------------------------------------------------------
226
227class wxMoveEvent: public wxEvent {
228public:
1475671a
RD
229 wxMoveEvent(const wxPoint& pt, int id = 0);
230
7bf85405
RD
231 wxPoint GetPosition();
232};
233
234//---------------------------------------------------------------------------
235
236class wxPaintEvent: public wxEvent {
237public:
1475671a 238 wxPaintEvent(int id = 0);
7bf85405
RD
239
240};
241
242//---------------------------------------------------------------------------
243
244class wxEraseEvent: public wxEvent {
245public:
1475671a
RD
246 wxEraseEvent(int id = 0, wxDC* dc = NULL);
247
7bf85405
RD
248 wxDC *GetDC();
249};
250
251//---------------------------------------------------------------------------
252
253class wxFocusEvent: public wxEvent {
254public:
1475671a 255 wxFocusEvent(WXTYPE eventType = 0, int id = 0);
7bf85405
RD
256};
257
258//---------------------------------------------------------------------------
259
260class wxActivateEvent: public wxEvent{
261public:
1475671a 262 wxActivateEvent(WXTYPE eventType = 0, int active = TRUE, int id = 0);
7bf85405
RD
263 bool GetActive();
264};
265
266//---------------------------------------------------------------------------
267
268class wxInitDialogEvent: public wxEvent {
269public:
1475671a 270 wxInitDialogEvent(int id = 0);
7bf85405
RD
271};
272
273//---------------------------------------------------------------------------
274
275class wxMenuEvent: public wxEvent {
276public:
1475671a 277 wxMenuEvent(WXTYPE id = 0, int id = 0);
7bf85405
RD
278 int GetMenuId();
279};
280
281//---------------------------------------------------------------------------
282
283class wxShowEvent: public wxEvent {
284public:
1475671a 285 wxShowEvent(int id = 0, int show = FALSE);
7bf85405
RD
286 void SetShow(bool show);
287 bool GetShow();
288};
289
290//---------------------------------------------------------------------------
291
292class wxIconizeEvent: public wxEvent {
293public:
d56cebe7
RD
294 wxIconizeEvent(int id = 0, bool iconized = TRUE);
295 bool Iconized();
7bf85405
RD
296};
297
298//---------------------------------------------------------------------------
299
300class wxMaximizeEvent: public wxEvent {
301public:
1475671a 302 wxMaximizeEvent(int id = 0);
7bf85405
RD
303};
304
305//---------------------------------------------------------------------------
306
307class wxJoystickEvent: public wxEvent {
308public:
1475671a
RD
309 wxJoystickEvent(int type = wxEVT_NULL,
310 int state = 0,
311 int joystick = wxJOYSTICK1,
312 int change = 0);
7bf85405
RD
313 wxPoint GetPosition();
314 int GetZPosition();
315 int GetButtonState();
316 int GetButtonChange();
317 int GetJoystick();
318 void SetJoystick(int stick);
319 void SetButtonState(int state);
320 void SetButtonChange(int change);
321 void SetPosition(const wxPoint& pos);
322 void SetZPosition(int zPos);
323 bool IsButton();
324 bool IsMove();
325 bool IsZMove();
326 bool ButtonDown(int but = wxJOY_BUTTON_ANY);
327 bool ButtonUp(int but = wxJOY_BUTTON_ANY);
328 bool ButtonIsDown(int but = wxJOY_BUTTON_ANY);
329};
330
331//---------------------------------------------------------------------------
332
333class wxDropFilesEvent: public wxEvent {
334public:
335 wxPoint GetPosition();
336 int GetNumberOfFiles();
337
338 %addmethods {
339 PyObject* GetFiles() {
340 int count = self->GetNumberOfFiles();
341 wxString* files = self->GetFiles();
342 PyObject* list = PyList_New(count);
343
344 if (!list) {
345 PyErr_SetString(PyExc_MemoryError, "Can't allocate list of files!");
346 return NULL;
347 }
348
349 for (int i=0; i<count; i++) {
350 PyList_SetItem(list, i, PyString_FromString((const char*)files[i]));
351 }
352 return list;
353 }
354 }
355};
356
357//---------------------------------------------------------------------------
358
359class wxIdleEvent: public wxEvent {
360public:
1475671a 361 wxIdleEvent();
7bf85405
RD
362 void RequestMore(bool needMore = TRUE);
363 bool MoreRequested();
364};
365
366//---------------------------------------------------------------------------
367
368class wxUpdateUIEvent: public wxEvent {
369public:
1475671a 370 wxUpdateUIEvent(wxWindowID commandId = 0);
7bf85405
RD
371 bool GetChecked();
372 bool GetEnabled();
373 wxString GetText();
374 bool GetSetText();
375 bool GetSetChecked();
376 bool GetSetEnabled();
377
378 void Check(bool check);
379 void Enable(bool enable);
380 void SetText(const wxString& text);
381};
382
383//---------------------------------------------------------------------------
384
385class wxSysColourChangedEvent: public wxEvent {
386public:
1475671a 387 wxSysColourChangedEvent();
7bf85405
RD
388};
389
390//---------------------------------------------------------------------------
391
2f90df85
RD
392
393class wxNotifyEvent : public wxCommandEvent {
cf694132 394public:
1475671a 395 wxNotifyEvent(int commandType = wxEVT_NULL, int id = 0);
2f90df85 396 bool IsAllowed();
185d7c3e 397 void Allow();
2f90df85
RD
398 void Veto();
399};
400
401
402//---------------------------------------------------------------------------
1475671a
RD
403
404class wxPaletteChangedEvent : public wxEvent {
405public:
406 wxPaletteChangedEvent(wxWindowID id = 0);
407
408 void SetChangedWindow(wxWindow* win);
409 wxWindow* GetChangedWindow();
410
411};
412
413//---------------------------------------------------------------------------
414
415class wxQueryNewPaletteEvent : public wxEvent {
416public:
417 wxQueryNewPaletteEvent(wxWindowID id = 0);
418
419 void SetPaletteRealized(bool realized);
420 bool GetPaletteRealized();
421};
422
423
424//---------------------------------------------------------------------------
425
f6bcfd97 426class wxWindowCreateEvent : public wxCommandEvent {
1475671a
RD
427public:
428 wxWindowCreateEvent(wxWindow *win = NULL);
429
430 wxWindow *GetWindow();
431};
432
f6bcfd97 433class wxWindowDestroyEvent : public wxCommandEvent {
1475671a
RD
434public:
435 wxWindowDestroyEvent(wxWindow *win = NULL);
436
437 wxWindow *GetWindow();
438};
439
f6bcfd97
BP
440//---------------------------------------------------------------------------
441
442class wxTimerEvent : public wxEvent
443{
444public:
445 wxTimerEvent(int id = 0, int interval = 0);
446 int GetInterval();
447};
448
1475671a
RD
449
450//---------------------------------------------------------------------------
451//---------------------------------------------------------------------------
65dd82cb
RD
452// These classes can be derived from in Python and passed through the event
453// system without loosing anything. They do this by keeping a reference to
454// themselves and some special case handling in wxPyCallback::EventThunker.
cf694132 455
2f90df85
RD
456class wxPyEvent : public wxEvent {
457public:
65dd82cb 458 wxPyEvent(int id=0);
2f90df85
RD
459 ~wxPyEvent();
460
65dd82cb
RD
461 %pragma(python) addtomethod = "__init__:self.SetSelf(self)"
462
463 void SetSelf(PyObject* self);
464 PyObject* GetSelf();
2f90df85
RD
465};
466
bb0054cd 467
2f90df85 468class wxPyCommandEvent : public wxCommandEvent {
bb0054cd 469public:
65dd82cb
RD
470 wxPyCommandEvent(wxEventType commandType = wxEVT_NULL, int id=0);
471 ~wxPyCommandEvent();
2f90df85 472
65dd82cb 473 %pragma(python) addtomethod = "__init__:self.SetSelf(self)"
2f90df85 474
65dd82cb
RD
475 void SetSelf(PyObject* self);
476 PyObject* GetSelf();
2f90df85
RD
477};
478
2f90df85 479
bb0054cd 480
2f90df85 481
bb0054cd
RD
482//---------------------------------------------------------------------------
483//---------------------------------------------------------------------------
7bf85405 484