]> git.saurik.com Git - wxWidgets.git/blame - utils/wxPython/src/events.i
Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a
[wxWidgets.git] / utils / 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
29
30//---------------------------------------------------------------------------
31
32class wxEvent {
33public:
34 wxObject* GetEventObject();
35 wxEventType GetEventType();
36 int GetId();
37 bool GetSkipped();
38 long GetTimestamp();
39 void SetEventObject(wxObject* object);
40 void SetEventType(wxEventType typ);
41 void SetId(int id);
42 void SetTimestamp(long timeStamp);
43 void Skip(bool skip = TRUE);
44};
45
46//---------------------------------------------------------------------------
47
48class wxSizeEvent : public wxEvent {
49public:
50 wxSize GetSize();
51};
52
53//---------------------------------------------------------------------------
54
55class wxCloseEvent : public wxEvent {
56public:
e980740a 57 void SetLoggingOff(bool loggingOff);
7bf85405
RD
58 bool GetLoggingOff();
59 void Veto(bool veto = TRUE);
e980740a 60 bool CanVeto();
7bf85405 61 bool GetVeto();
b8b8dda7 62 void SetCanVeto(bool canVeto);
7bf85405
RD
63};
64
65//---------------------------------------------------------------------------
66
67class wxCommandEvent : public wxEvent {
68public:
69 bool Checked();
70 long GetExtraLong();
71 int GetInt();
72 int GetSelection();
73 char* GetString();
74 bool IsSelection();
75
76};
77
78
79//---------------------------------------------------------------------------
80
81class wxScrollEvent: public wxCommandEvent {
82public:
83 int GetOrientation();
84 int GetPosition();
85};
86
87//---------------------------------------------------------------------------
88
62bd0874
RD
89class wxSpinEvent : public wxScrollEvent {
90public:
91
92};
93
94//---------------------------------------------------------------------------
95
7bf85405
RD
96class wxMouseEvent: public wxEvent {
97public:
98 bool IsButton();
99 bool ButtonDown(int but = -1);
100 bool ButtonDClick(int but = -1);
101 bool ButtonUp(int but = -1);
102 bool Button(int but);
103 bool ButtonIsDown(int but);
104 bool ControlDown();
105 bool MetaDown();
106 bool AltDown();
107 bool ShiftDown();
108 bool LeftDown();
109 bool MiddleDown();
110 bool RightDown();
111 bool LeftUp();
112 bool MiddleUp();
113 bool RightUp();
114 bool LeftDClick();
115 bool MiddleDClick();
116 bool RightDClick();
117 bool LeftIsDown();
118 bool MiddleIsDown();
119 bool RightIsDown();
120 bool Dragging();
121 bool Moving();
122 bool Entering();
123 bool Leaving();
124 void Position(long *OUTPUT, long *OUTPUT);
125 wxPoint GetPosition();
126 wxPoint GetLogicalPosition(const wxDC& dc);
127 long GetX();
128 long GetY();
129};
130
131//---------------------------------------------------------------------------
132
133class wxKeyEvent: public wxEvent {
134public:
135 bool ControlDown();
136 bool MetaDown();
137 bool AltDown();
138 bool ShiftDown();
139 long KeyCode();
e980740a 140
7bf85405
RD
141};
142
143//---------------------------------------------------------------------------
144
145class wxMoveEvent: public wxEvent {
146public:
147 wxPoint GetPosition();
148};
149
150//---------------------------------------------------------------------------
151
152class wxPaintEvent: public wxEvent {
153public:
154
155};
156
157//---------------------------------------------------------------------------
158
159class wxEraseEvent: public wxEvent {
160public:
161 wxDC *GetDC();
162};
163
164//---------------------------------------------------------------------------
165
166class wxFocusEvent: public wxEvent {
167public:
168
169};
170
171//---------------------------------------------------------------------------
172
173class wxActivateEvent: public wxEvent{
174public:
175 bool GetActive();
176};
177
178//---------------------------------------------------------------------------
179
180class wxInitDialogEvent: public wxEvent {
181public:
182
183};
184
185//---------------------------------------------------------------------------
186
187class wxMenuEvent: public wxEvent {
188public:
189 int GetMenuId();
190};
191
192//---------------------------------------------------------------------------
193
194class wxShowEvent: public wxEvent {
195public:
196 void SetShow(bool show);
197 bool GetShow();
198};
199
200//---------------------------------------------------------------------------
201
202class wxIconizeEvent: public wxEvent {
203public:
204};
205
206//---------------------------------------------------------------------------
207
208class wxMaximizeEvent: public wxEvent {
209public:
210
211};
212
213//---------------------------------------------------------------------------
214
215class wxJoystickEvent: public wxEvent {
216public:
217 wxPoint GetPosition();
218 int GetZPosition();
219 int GetButtonState();
220 int GetButtonChange();
221 int GetJoystick();
222 void SetJoystick(int stick);
223 void SetButtonState(int state);
224 void SetButtonChange(int change);
225 void SetPosition(const wxPoint& pos);
226 void SetZPosition(int zPos);
227 bool IsButton();
228 bool IsMove();
229 bool IsZMove();
230 bool ButtonDown(int but = wxJOY_BUTTON_ANY);
231 bool ButtonUp(int but = wxJOY_BUTTON_ANY);
232 bool ButtonIsDown(int but = wxJOY_BUTTON_ANY);
233};
234
235//---------------------------------------------------------------------------
236
237class wxDropFilesEvent: public wxEvent {
238public:
239 wxPoint GetPosition();
240 int GetNumberOfFiles();
241
242 %addmethods {
243 PyObject* GetFiles() {
244 int count = self->GetNumberOfFiles();
245 wxString* files = self->GetFiles();
246 PyObject* list = PyList_New(count);
247
248 if (!list) {
249 PyErr_SetString(PyExc_MemoryError, "Can't allocate list of files!");
250 return NULL;
251 }
252
253 for (int i=0; i<count; i++) {
254 PyList_SetItem(list, i, PyString_FromString((const char*)files[i]));
255 }
256 return list;
257 }
258 }
259};
260
261//---------------------------------------------------------------------------
262
263class wxIdleEvent: public wxEvent {
264public:
265 void RequestMore(bool needMore = TRUE);
266 bool MoreRequested();
267};
268
269//---------------------------------------------------------------------------
270
271class wxUpdateUIEvent: public wxEvent {
272public:
273 bool GetChecked();
274 bool GetEnabled();
275 wxString GetText();
276 bool GetSetText();
277 bool GetSetChecked();
278 bool GetSetEnabled();
279
280 void Check(bool check);
281 void Enable(bool enable);
282 void SetText(const wxString& text);
283};
284
285//---------------------------------------------------------------------------
286
287class wxSysColourChangedEvent: public wxEvent {
288public:
289
290};
291
292//---------------------------------------------------------------------------
293
294
295/////////////////////////////////////////////////////////////////////////////
296//
297// $Log$
af309447
RD
298// Revision 1.7 1999/02/20 09:02:57 RD
299// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a
300// window handle. If you can get the window handle into the python code,
301// it should just work... More news on this later.
302//
303// Added wxImageList, wxToolTip.
304//
305// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the
306// wxRegConfig class.
307//
308// As usual, some bug fixes, tweaks, etc.
309//
e980740a 310// Revision 1.6 1999/02/06 22:55:00 RD
af309447 311//
e980740a
RD
312// Follow up for changes in wxWindows to various event classes
313//
b8b8dda7
RD
314// Revision 1.5 1998/12/15 20:41:17 RD
315// Changed the import semantics from "from wxPython import *" to "from
316// wxPython.wx import *" This is for people who are worried about
317// namespace pollution, they can use "from wxPython import wx" and then
318// prefix all the wxPython identifiers with "wx."
319//
320// Added wxTaskbarIcon for wxMSW.
321//
322// Made the events work for wxGrid.
323//
324// Added wxConfig.
325//
326// Added wxMiniFrame for wxGTK, (untested.)
327//
328// Changed many of the args and return values that were pointers to gdi
329// objects to references to reflect changes in the wxWindows API.
330//
331// Other assorted fixes and additions.
332//
62bd0874
RD
333// Revision 1.4 1998/11/16 00:00:55 RD
334// Generic treectrl for wxPython/GTK compiles...
335//
d5c9047a
RD
336// Revision 1.3 1998/10/20 06:43:56 RD
337// New wxTreeCtrl wrappers (untested)
338// some changes in helpers
339// etc.
340//
03e9bead
RD
341// Revision 1.2 1998/08/15 07:36:33 RD
342// - Moved the header in the .i files out of the code that gets put into
343// the .cpp files. It caused CVS conflicts because of the RCS ID being
344// different each time.
345//
346// - A few minor fixes.
347//
7bf85405
RD
348// Revision 1.1 1998/08/09 08:25:50 RD
349// Initial version
350//
351//
352