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