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