]> git.saurik.com Git - wxWidgets.git/blame - wxPython/src/_defs.i
reSWIGged
[wxWidgets.git] / wxPython / src / _defs.i
CommitLineData
7bf85405
RD
1/////////////////////////////////////////////////////////////////////////////
2// Name: _defs.i
3// Purpose: Definitions and stuff
4//
5// Author: Robin Dunn
6//
7// Created: 6/24/97
8// RCS-ID: $Id$
9// Copyright: (c) 1998 by Total Control Software
10// Licence: wxWindows license
11/////////////////////////////////////////////////////////////////////////////
12
13
ab1f7d2a 14//---------------------------------------------------------------------------
dd9f7fea 15// Globally turn on the autodoc feature
ab1f7d2a 16
dd9f7fea
RD
17%feature("autodoc", "1"); // 0 == no param types, 1 == show param types
18
ab1f7d2a
RD
19//---------------------------------------------------------------------------
20// Tell SWIG to wrap all the wrappers with our thread protection by default
21
22%exception {
23 PyThreadState* __tstate = wxPyBeginAllowThreads();
24 $action
25 wxPyEndAllowThreads(__tstate);
26 if (PyErr_Occurred()) SWIG_fail;
27}
28
29
30// This one can be used to add a check for an existing wxApp before the real
31// work is done. An exception is raised if there isn't one.
32%define MustHaveApp(name)
db9ba246
RD
33%exception name {
34 if (!wxPyCheckForApp()) SWIG_fail;
35 PyThreadState* __tstate = wxPyBeginAllowThreads();
36 $action
37 wxPyEndAllowThreads(__tstate);
38 if (PyErr_Occurred()) SWIG_fail;
39}
ab1f7d2a
RD
40%enddef
41
42
43
7bf85405 44//---------------------------------------------------------------------------
d14a1e28 45// some type definitions to simplify things for SWIG
af309447 46
d14a1e28
RD
47typedef int wxEventType;
48typedef unsigned int size_t;
49typedef unsigned int time_t;
50typedef unsigned char byte;
82bd6167 51typedef unsigned long wxUIntPtr;
d14a1e28 52
dd9f7fea
RD
53#define wxWindowID int
54#define wxCoord int
55#define wxInt32 int
56#define wxUint32 unsigned int
dd9f7fea 57
d14a1e28
RD
58
59//----------------------------------------------------------------------
60// Various SWIG macros and such
61
2b9048c5
RD
62#define %pythonAppend %feature("pythonappend")
63#define %pythonPrepend %feature("pythonprepend")
d14a1e28
RD
64#define %kwargs %feature("kwargs")
65#define %nokwargs %feature("nokwargs")
3ea6e0ec
RD
66#define %noautodoc %feature("noautodoc")
67
d14a1e28 68
2b9048c5
RD
69//#ifndef %shadow
70//#define %shadow %insert("shadow")
71//#endif
d14a1e28
RD
72
73#ifndef %pythoncode
74#define %pythoncode %insert("python")
dd9f7fea 75#endif
d14a1e28
RD
76
77#define WXUNUSED(x) x
78
79
80// Given the name of a wxChar (or wxString) constant in C++, make
81// a static wxString for wxPython, and also let SWIG wrap it.
82%define MAKE_CONST_WXSTRING(strname)
83 %{ static const wxString wxPy##strname(wx##strname); %}
84 %immutable;
1b8c7ba6
RD
85 %rename(strname) wxPy##strname;
86 const wxString wxPy##strname;
d14a1e28
RD
87 %mutable;
88%enddef
89
b2dc1044 90%define MAKE_CONST_WXSTRING2(strname, val)
089142a5 91 %{ static const wxString wxPy##strname(val); %}
b2dc1044 92 %immutable;
1b8c7ba6
RD
93 %rename(strname) wxPy##strname;
94 const wxString wxPy##strname;
b2dc1044
RD
95 %mutable;
96%enddef
97
98%define MAKE_CONST_WXSTRING_NOSWIG(strname)
99 %{ static const wxString wxPy##strname(wx##strname); %}
100%enddef
b1462dfa 101
d14a1e28
RD
102// Generate code in the module init for the event types, since they may not be
103// initialized yet when they are used in the static swig_const_table.
104%typemap(consttab) wxEventType; // TODO: how to prevent code inserted into the consttab?
105%typemap(constcode) wxEventType "PyDict_SetItemString(d, \"$symname\", PyInt_FromLong($value));";
106
107
dd9f7fea 108
d07d2bc9
RD
109//----------------------------------------------------------------------
110// Macros for the docstring and autodoc features of SWIG. These will
111// help make the code look more readable, and pretty, as well as help
112// reduce typing in some cases.
dd9f7fea
RD
113
114// Set the docsring for the given full or partial declaration
d07d2bc9
RD
115#ifdef _DO_FULL_DOCS
116 %define DocStr(decl, docstr, details)
117 %feature("docstring") decl docstr details;
118 %enddef
119#else
120 %define DocStr(decl, docstr, details)
121 %feature("docstring") decl docstr;
122 %enddef
123#endif
124
dd9f7fea
RD
125
126// Set the autodoc string for a full or partial declaration
b2dc1044
RD
127%define DocA(decl, astr)
128 %feature("autodoc") decl astr;
129%enddef
dd9f7fea 130
dd9f7fea 131
d07d2bc9
RD
132// Set both the autodoc and docstring for a full or partial declaration
133#ifdef _DO_FULL_DOCS
134 %define DocAStr(decl, astr, docstr, details)
135 %feature("autodoc") decl astr;
136 %feature("docstring") decl docstr details
137 %enddef
138#else
139 %define DocAStr(decl, astr, docstr, details)
140 %feature("autodoc") decl astr;
141 %feature("docstring") decl docstr
142 %enddef
143#endif
dd9f7fea 144
d07d2bc9 145
dd9f7fea
RD
146
147
148// Set the docstring for a decl and then define the decl too. Must use the
149// full declaration of the item.
d07d2bc9
RD
150#ifdef _DO_FULL_DOCS
151 %define DocDeclStr(type, decl, docstr, details)
152 %feature("docstring") decl docstr details;
153 type decl
154 %enddef
155#else
156 %define DocDeclStr(type, decl, docstr, details)
157 %feature("docstring") decl docstr;
158 type decl
159 %enddef
160#endif
dd9f7fea 161
d07d2bc9
RD
162
163
dd9f7fea 164// As above, but also give the decl a new %name
d07d2bc9
RD
165#ifdef _DO_FULL_DOCS
166 %define DocDeclStrName(type, decl, docstr, details, newname)
167 %feature("docstring") decl docstr details;
1b8c7ba6
RD
168 %rename(newname) decl;
169 type decl
d07d2bc9
RD
170 %enddef
171#else
172 %define DocDeclStrName(type, decl, docstr, details, newname)
173 %feature("docstring") decl docstr;
1b8c7ba6
RD
174 %rename(newname) decl;
175 type decl
d07d2bc9
RD
176 %enddef
177#endif
178
dd9f7fea
RD
179
180// Set the autodoc string for a decl and then define the decl too. Must use the
181// full declaration of the item.
182%define DocDeclA(type, decl, astr)
183 %feature("autodoc") decl astr;
184 type decl
185%enddef
186
187// As above, but also give the decl a new %name
188%define DocDeclAName(type, decl, astr, newname)
189 %feature("autodoc") decl astr;
1b8c7ba6
RD
190 %rename(newname) decl;
191 type decl
dd9f7fea
RD
192%enddef
193
194
195
196// Set the autodoc and the docstring for a decl and then define the decl too.
197// Must use the full declaration of the item.
d07d2bc9 198#ifdef _DO_FULL_DOCS
a6ef7362 199 %define DocDeclAStr(type, decl, astr, docstr, details)
d07d2bc9
RD
200 %feature("autodoc") decl astr;
201 %feature("docstring") decl docstr details;
202 type decl
203 %enddef
204#else
a6ef7362 205 %define DocDeclAStr(type, decl, astr, docstr, details)
d07d2bc9
RD
206 %feature("autodoc") decl astr;
207 %feature("docstring") decl docstr;
208 type decl
209 %enddef
210#endif
dd9f7fea 211
d07d2bc9 212
dd9f7fea 213// As above, but also give the decl a new %name
d07d2bc9
RD
214#ifdef _DO_FULL_DOCS
215 %define DocDeclAStrName(type, decl, astr, docstr, details, newname)
216 %feature("autodoc") decl astr;
217 %feature("docstring") decl docstr details;
1b8c7ba6
RD
218 %rename(newname) decl;
219 type decl
d07d2bc9
RD
220 %enddef
221#else
222 %define DocDeclAStrName(type, decl, astr, docstr, details, newname)
223 %feature("autodoc") decl astr;
224 %feature("docstring") decl docstr;
1b8c7ba6
RD
225 %rename(newname) decl;
226 type decl
d07d2bc9
RD
227 %enddef
228#endif
dd9f7fea
RD
229
230
231
232// Set the docstring for a constructor decl and then define the decl too.
233// Must use the full declaration of the item.
d07d2bc9
RD
234#ifdef _DO_FULL_DOCS
235 %define DocCtorStr(decl, docstr, details)
236 %feature("docstring") decl docstr details;
237 decl
238 %enddef
239#else
240 %define DocCtorStr(decl, docstr, details)
241 %feature("docstring") decl docstr;
242 decl
243 %enddef
244#endif
dd9f7fea 245
d07d2bc9 246
dd9f7fea 247// As above, but also give the decl a new %name
d07d2bc9
RD
248#ifdef _DO_FULL_DOCS
249 %define DocCtorStrName(decl, docstr, details, newname)
250 %feature("docstring") decl docstr details;
1b8c7ba6
RD
251 %rename(newname) decl;
252 decl
d07d2bc9
RD
253 %enddef
254#else
255 %define DocCtorStrName(decl, docstr, details, newname)
256 %feature("docstring") decl docstr;
1b8c7ba6
RD
257 %rename(newname) decl;
258 decl
d07d2bc9
RD
259 %enddef
260#endif
dd9f7fea 261
d07d2bc9
RD
262
263// Set the autodoc string for a constructor decl and then define the decl too.
264// Must use the full declaration of the item.
dd9f7fea
RD
265%define DocCtorA(decl, astr)
266 %feature("autodoc") decl astr;
267 decl
268%enddef
269
270// As above, but also give the decl a new %name
d07d2bc9 271%define DocCtorAName(decl, astr, newname)
dd9f7fea 272 %feature("autodoc") decl astr;
1b8c7ba6
RD
273 %rename(newname) decl;
274 decl
dd9f7fea
RD
275%enddef
276
277
278
d07d2bc9
RD
279// Set the autodoc and the docstring for a constructor decl and then define
280// the decl too. Must use the full declaration of the item.
281#ifdef _DO_FULL_DOCS
282 %define DocCtorAStr(decl, astr, docstr, details)
283 %feature("autodoc") decl astr;
284 %feature("docstring") decl docstr details;
285 decl
286 %enddef
287#else
288 %define DocCtorAStr(decl, astr, docstr, details)
289 %feature("autodoc") decl astr;
290 %feature("docstring") decl docstr;
291 decl
292 %enddef
293#endif
dd9f7fea 294
dd9f7fea 295
d07d2bc9
RD
296
297// As above, but also give the decl a new %name
298#ifdef _DO_FULL_DOCS
299 %define DocCtorAStrName(decl, astr, docstr, details, newname)
300 %feature("autodoc") decl astr;
301 %feature("docstring") decl docstr details;
1b8c7ba6
RD
302 %rename(newname) decl;
303 decl
d07d2bc9
RD
304 %enddef
305#else
306 %define DocCtorAStrName(decl, astr, docstr, details, newname)
307 %feature("autodoc") decl astr;
308 %feature("docstring") decl docstr;
1b8c7ba6
RD
309 %rename(newname) decl;
310 decl
d07d2bc9
RD
311 %enddef
312#endif
1e0c8722 313
d07d2bc9 314
dd9f7fea 315
d14a1e28
RD
316%define %newgroup
317%pythoncode {
318%#---------------------------------------------------------------------------
dd9f7fea 319}
d14a1e28 320%enddef
7bf85405 321
1b8c7ba6
RD
322
323// A set of macros to make using %rename easier, since %name has been
324// deprecated...
325%define %Rename(newname, type, decl)
326 %rename(newname) decl;
327 type decl
328%enddef
329
330%define %RenameCtor(newname, decl)
331 %rename(newname) decl;
332 decl
333%enddef
334
d8194e5d
RD
335#ifdef _DO_FULL_DOCS
336 %define %RenameDocCtor(newname, docstr, details, decl)
337 %feature("docstring") decl docstr details;
338 %rename(newname) decl;
339 decl
340 %enddef
341#else
342 %define %RenameDocCtor(newname, docstr, details, decl)
343 %feature("docstring") decl docstr;
344 %rename(newname) decl;
345 decl
346 %enddef
347#endif
1b8c7ba6 348
64e8a1f0
RD
349//---------------------------------------------------------------------------
350// Forward declarations and %renames for some classes, so the autodoc strings
351// will be able to use the right types even when the real class declaration is
3ea6e0ec 352// not in the module being processed or seen by %import's.
64e8a1f0
RD
353
354#ifdef BUILDING_RENAMERS
355 #define FORWARD_DECLARE(wxName, Name)
356#else
357 %define FORWARD_DECLARE(wxName, Name)
358 %rename(Name) wxName;
359 class wxName;
360 %enddef
361#endif
362
b2dc1044
RD
363FORWARD_DECLARE(wxString, String);
364FORWARD_DECLARE(wxBitmap, Bitmap);
365FORWARD_DECLARE(wxDateTime, DateTime);
366FORWARD_DECLARE(wxInputStream, InputStream);
367FORWARD_DECLARE(wxDC, DC);
368FORWARD_DECLARE(wxCursor, Cursor);
369FORWARD_DECLARE(wxRegion, Region);
370FORWARD_DECLARE(wxColour, Colour);
371FORWARD_DECLARE(wxFont, Font);
372FORWARD_DECLARE(wxCaret, Caret);
373FORWARD_DECLARE(wxToolTip, ToolTip);
d7466b1d 374FORWARD_DECLARE(wxPyDropTarget, DropTarget);
b2dc1044
RD
375FORWARD_DECLARE(wxImageList, ImageList);
376FORWARD_DECLARE(wxMemoryDC, MemoryDC);
377FORWARD_DECLARE(wxHtmlTagHandler, HtmlTagHandler);
378FORWARD_DECLARE(wxConfigBase, ConfigBase);
379FORWARD_DECLARE(wxIcon, Icon);
3ea6e0ec 380FORWARD_DECLARE(wxStaticBox, StaticBox);
b2dc1044 381
64e8a1f0 382
7bf85405
RD
383//---------------------------------------------------------------------------
384
aeee37c3
RD
385%{
386#if !WXWIN_COMPATIBILITY_2_4
387 #define wxHIDE_READONLY 0
388#endif
389%}
390
391
7bf85405
RD
392// General numeric #define's and etc. Making them all enums makes SWIG use the
393// real macro when making the Python Int
394
395enum {
d14a1e28
RD
396// wxMAJOR_VERSION,
397// wxMINOR_VERSION,
398// wxRELEASE_NUMBER,
7bf85405 399
08127323 400 wxNOT_FOUND,
7bf85405
RD
401
402 wxVSCROLL,
403 wxHSCROLL,
404 wxCAPTION,
405 wxDOUBLE_BORDER,
406 wxSUNKEN_BORDER,
407 wxRAISED_BORDER,
408 wxBORDER,
409 wxSIMPLE_BORDER,
410 wxSTATIC_BORDER,
411 wxTRANSPARENT_WINDOW,
412 wxNO_BORDER,
c96bf2a7 413 wxDEFAULT_CONTROL_BORDER,
5f57b149
RD
414 wxDEFAULT_STATUSBAR_STYLE,
415
7bf85405 416 wxTAB_TRAVERSAL,
1afc06c2 417 wxWANTS_CHARS,
0122b7e3 418 wxPOPUP_WINDOW,
7bf85405 419 wxCENTER_FRAME,
1afc06c2
RD
420 wxCENTRE_ON_SCREEN,
421 wxCENTER_ON_SCREEN,
422
08127323 423 wxCLIP_CHILDREN,
edf2f43e 424 wxCLIP_SIBLINGS,
b8b8dda7 425
6cffbf02
RD
426 wxALWAYS_SHOW_SB,
427
7bf85405
RD
428 wxRETAINED,
429 wxBACKINGSTORE,
b96c7a38 430
7bf85405
RD
431 wxCOLOURED,
432 wxFIXED_LENGTH,
1b62f00d 433
7bf85405
RD
434 wxLB_NEEDED_SB,
435 wxLB_ALWAYS_SB,
436 wxLB_SORT,
437 wxLB_SINGLE,
438 wxLB_MULTIPLE,
439 wxLB_EXTENDED,
440 wxLB_OWNERDRAW,
441 wxLB_HSCROLL,
442 wxPROCESS_ENTER,
443 wxPASSWORD,
b1e930a5 444
7bf85405
RD
445 wxCB_SIMPLE,
446 wxCB_DROPDOWN,
447 wxCB_SORT,
448 wxCB_READONLY,
449 wxRA_HORIZONTAL,
450 wxRA_VERTICAL,
ed175610
RD
451 wxRA_SPECIFY_ROWS,
452 wxRA_SPECIFY_COLS,
8815349a 453 wxRA_USE_CHECKBOX,
7bf85405 454 wxRB_GROUP,
1e4a197e 455 wxRB_SINGLE,
7bf85405
RD
456 wxSB_HORIZONTAL,
457 wxSB_VERTICAL,
8815349a 458 wxRB_USE_CHECKBOX,
cf694132 459 wxST_SIZEGRIP,
2abc0a0f 460 wxST_NO_AUTORESIZE,
203c2f9a 461
7bf85405
RD
462 wxFLOOD_SURFACE,
463 wxFLOOD_BORDER,
464 wxODDEVEN_RULE,
465 wxWINDING_RULE,
466 wxTOOL_TOP,
467 wxTOOL_BOTTOM,
468 wxTOOL_LEFT,
469 wxTOOL_RIGHT,
470 wxOK,
471 wxYES_NO,
472 wxCANCEL,
473 wxYES,
474 wxNO,
1afc06c2
RD
475 wxNO_DEFAULT,
476 wxYES_DEFAULT,
7bf85405
RD
477 wxICON_EXCLAMATION,
478 wxICON_HAND,
479 wxICON_QUESTION,
480 wxICON_INFORMATION,
481 wxICON_STOP,
482 wxICON_ASTERISK,
483 wxICON_MASK,
1afc06c2
RD
484 wxICON_WARNING,
485 wxICON_ERROR,
486
487 wxFORWARD,
488 wxBACKWARD,
489 wxRESET,
490 wxHELP,
491 wxMORE,
492 wxSETUP,
493
f3d9dc1d 494
7bf85405
RD
495 wxSIZE_AUTO_WIDTH,
496 wxSIZE_AUTO_HEIGHT,
497 wxSIZE_AUTO,
498 wxSIZE_USE_EXISTING,
499 wxSIZE_ALLOW_MINUS_ONE,
7bf85405
RD
500 wxPORTRAIT,
501 wxLANDSCAPE,
bb0054cd
RD
502 wxPRINT_QUALITY_HIGH,
503 wxPRINT_QUALITY_MEDIUM,
504 wxPRINT_QUALITY_LOW,
505 wxPRINT_QUALITY_DRAFT,
26e335b8 506
3eb221f6
RD
507 wxID_ANY,
508 wxID_SEPARATOR,
509
d14a1e28 510 wxID_LOWEST,
7bf85405
RD
511 wxID_OPEN,
512 wxID_CLOSE,
513 wxID_NEW,
514 wxID_SAVE,
515 wxID_SAVEAS,
516 wxID_REVERT,
517 wxID_EXIT,
518 wxID_UNDO,
519 wxID_REDO,
520 wxID_HELP,
521 wxID_PRINT,
522 wxID_PRINT_SETUP,
523 wxID_PREVIEW,
524 wxID_ABOUT,
525 wxID_HELP_CONTENTS,
526 wxID_HELP_COMMANDS,
527 wxID_HELP_PROCEDURES,
528 wxID_HELP_CONTEXT,
b5a5d647 529 wxID_CLOSE_ALL,
1a10a058 530 wxID_PREFERENCES,
26e335b8 531
7bf85405
RD
532 wxID_CUT,
533 wxID_COPY,
534 wxID_PASTE,
535 wxID_CLEAR,
536 wxID_FIND,
d56cebe7
RD
537 wxID_DUPLICATE,
538 wxID_SELECTALL,
26e335b8 539
3ef86e32
RD
540 wxID_DELETE,
541 wxID_REPLACE,
542 wxID_REPLACE_ALL,
543 wxID_PROPERTIES,
544
545 wxID_VIEW_DETAILS,
546 wxID_VIEW_LARGEICONS,
547 wxID_VIEW_SMALLICONS,
548 wxID_VIEW_LIST,
549 wxID_VIEW_SORTDATE,
550 wxID_VIEW_SORTNAME,
551 wxID_VIEW_SORTSIZE,
552 wxID_VIEW_SORTTYPE,
553
7bf85405
RD
554 wxID_FILE1,
555 wxID_FILE2,
556 wxID_FILE3,
557 wxID_FILE4,
558 wxID_FILE5,
559 wxID_FILE6,
560 wxID_FILE7,
561 wxID_FILE8,
562 wxID_FILE9,
26e335b8 563
7bf85405
RD
564 wxID_OK,
565 wxID_CANCEL,
566 wxID_APPLY,
567 wxID_YES,
568 wxID_NO,
cf694132 569 wxID_STATIC,
f3d9dc1d
RD
570 wxID_FORWARD,
571 wxID_BACKWARD,
26e335b8 572 wxID_DEFAULT,
f3d9dc1d 573 wxID_MORE,
26e335b8
RD
574 wxID_SETUP,
575 wxID_RESET,
576 wxID_CONTEXT_HELP,
577 wxID_YESTOALL,
578 wxID_NOTOALL,
579 wxID_ABORT,
580 wxID_RETRY,
581 wxID_IGNORE,
f3d9dc1d 582
1a1ed526
RD
583 wxID_ADD,
584 wxID_REMOVE,
585
586 wxID_UP,
587 wxID_DOWN,
588 wxID_HOME,
589 wxID_REFRESH,
590 wxID_STOP,
591 wxID_INDEX,
592
593 wxID_BOLD,
594 wxID_ITALIC,
595 wxID_JUSTIFY_CENTER,
596 wxID_JUSTIFY_FILL,
597 wxID_JUSTIFY_RIGHT,
598 wxID_JUSTIFY_LEFT,
599 wxID_UNDERLINE,
600 wxID_INDENT,
601 wxID_UNINDENT,
602 wxID_ZOOM_100,
603 wxID_ZOOM_FIT,
604 wxID_ZOOM_IN,
605 wxID_ZOOM_OUT,
606 wxID_UNDELETE,
607 wxID_REVERT_TO_SAVED,
608
d14a1e28 609 wxID_HIGHEST,
dd9f7fea 610
7bf85405
RD
611 wxOPEN,
612 wxSAVE,
613 wxHIDE_READONLY,
614 wxOVERWRITE_PROMPT,
2abc0a0f 615 wxFILE_MUST_EXIST,
f6bcfd97 616 wxMULTIPLE,
1b62f00d 617 wxCHANGE_DIR,
7bf85405
RD
618
619 wxACCEL_ALT,
620 wxACCEL_CTRL,
621 wxACCEL_SHIFT,
f6bcfd97 622 wxACCEL_NORMAL,
bb0054cd
RD
623
624 wxPD_AUTO_HIDE,
625 wxPD_APP_MODAL,
626 wxPD_CAN_ABORT,
a08cbc01
RD
627 wxPD_ELAPSED_TIME,
628 wxPD_ESTIMATED_TIME,
629 wxPD_REMAINING_TIME,
191dea6d
RD
630 wxPD_SMOOTH,
631 wxPD_CAN_SKIP,
bb0054cd 632
7cdaed0b 633 wxDD_NEW_DIR_BUTTON,
daa3eac9 634 wxDD_DEFAULT_STYLE,
7cdaed0b 635
8bf5d46e 636 wxMENU_TEAROFF,
1afc06c2 637 wxMB_DOCKABLE,
8bf5d46e 638 wxNO_FULL_REPAINT_ON_RESIZE,
6a8b9da4
RD
639 wxFULL_REPAINT_ON_RESIZE,
640
1afc06c2
RD
641 wxLI_HORIZONTAL,
642 wxLI_VERTICAL,
643
d1679124 644 wxWS_EX_VALIDATE_RECURSIVELY,
0122b7e3 645 wxWS_EX_BLOCK_EVENTS,
78e8819c 646 wxWS_EX_TRANSIENT,
ecc08ead 647
3ef86e32
RD
648 wxWS_EX_THEMED_BACKGROUND,
649 wxWS_EX_PROCESS_IDLE,
650 wxWS_EX_PROCESS_UI_UPDATES,
651
652
ecc08ead
RD
653 // Mapping modes (as per Windows)
654 wxMM_TEXT,
655 wxMM_LOMETRIC,
656 wxMM_HIMETRIC,
657 wxMM_LOENGLISH,
658 wxMM_HIENGLISH,
659 wxMM_TWIPS,
660 wxMM_ISOTROPIC,
661 wxMM_ANISOTROPIC,
662 wxMM_POINTS,
663 wxMM_METRIC,
664
3eb221f6 665
1e4a197e
RD
666 // It looks like wxTabCtrl may rise from the dead. Uncomment these if
667 // it gets an implementation for all platforms...
668// wxTC_RIGHTJUSTIFY,
669// wxTC_FIXEDWIDTH,
670// wxTC_TOP,
671// wxTC_LEFT,
672// wxTC_RIGHT,
673// wxTC_BOTTOM,
674// wxTC_MULTILINE,
675// wxTC_OWNERDRAW,
676
7bf85405
RD
677};
678
679
d14a1e28
RD
680
681enum wxGeometryCentre
682{
683 wxCENTRE = 0x0001,
684 wxCENTER = wxCENTRE
685};
686
687
688enum wxOrientation
689{
690 wxHORIZONTAL,
691 wxVERTICAL,
692 wxBOTH
693};
694
695enum wxDirection
696{
697 wxLEFT,
698 wxRIGHT,
699 wxUP,
700 wxDOWN,
701
702 wxTOP,
703 wxBOTTOM,
704
705 wxNORTH,
706 wxSOUTH,
707 wxWEST,
708 wxEAST,
709
710 wxALL
711};
712
713enum wxAlignment
714{
715 wxALIGN_NOT,
716 wxALIGN_CENTER_HORIZONTAL,
717 wxALIGN_CENTRE_HORIZONTAL,
718 wxALIGN_LEFT,
719 wxALIGN_TOP,
720 wxALIGN_RIGHT,
721 wxALIGN_BOTTOM,
722 wxALIGN_CENTER_VERTICAL,
723 wxALIGN_CENTRE_VERTICAL,
724
725 wxALIGN_CENTER,
726 wxALIGN_CENTRE,
727
728 wxALIGN_MASK,
729};
730
731enum wxStretch
732{
733 wxSTRETCH_NOT,
734 wxSHRINK,
735 wxGROW,
736 wxEXPAND,
737 wxSHAPED,
f52e0cf4 738 wxFIXED_MINSIZE,
d14a1e28 739 wxTILE,
33e10b88 740 wxADJUST_MINSIZE,
d14a1e28
RD
741};
742
743
ebf4302c
RD
744enum wxBorder
745{
746 wxBORDER_DEFAULT,
747 wxBORDER_NONE,
748 wxBORDER_STATIC,
749 wxBORDER_SIMPLE,
750 wxBORDER_RAISED,
751 wxBORDER_SUNKEN,
752 wxBORDER_DOUBLE,
753 wxBORDER_MASK,
754};
755
756
1a1ed526
RD
757enum wxBackgroundStyle
758{
759 wxBG_STYLE_SYSTEM,
760 wxBG_STYLE_COLOUR,
761 wxBG_STYLE_CUSTOM
762};
763
764
7bf85405
RD
765enum {
766 wxDEFAULT ,
767 wxDECORATIVE,
768 wxROMAN,
769 wxSCRIPT,
770 wxSWISS,
771 wxMODERN,
772 wxTELETYPE,
773 wxVARIABLE,
774 wxFIXED,
775 wxNORMAL,
776 wxLIGHT,
777 wxBOLD,
778 wxITALIC,
779 wxSLANT,
780 wxSOLID,
781 wxDOT,
782 wxLONG_DASH,
783 wxSHORT_DASH,
784 wxDOT_DASH,
785 wxUSER_DASH,
786 wxTRANSPARENT,
787 wxSTIPPLE,
8224a808
RD
788 wxSTIPPLE_MASK,
789 wxSTIPPLE_MASK_OPAQUE,
7bf85405
RD
790 wxBDIAGONAL_HATCH,
791 wxCROSSDIAG_HATCH,
792 wxFDIAGONAL_HATCH,
793 wxCROSS_HATCH,
794 wxHORIZONTAL_HATCH,
795 wxVERTICAL_HATCH,
796 wxJOIN_BEVEL,
797 wxJOIN_MITER,
798 wxJOIN_ROUND,
799 wxCAP_ROUND,
800 wxCAP_PROJECTING,
801 wxCAP_BUTT
802};
803
804typedef enum {
805 wxCLEAR, // 0
806 wxXOR, // src XOR dst
807 wxINVERT, // NOT dst
808 wxOR_REVERSE, // src OR (NOT dst)
809 wxAND_REVERSE,// src AND (NOT dst)
810 wxCOPY, // src
811 wxAND, // src AND dst
812 wxAND_INVERT, // (NOT src) AND dst
813 wxNO_OP, // dst
814 wxNOR, // (NOT src) AND (NOT dst)
815 wxEQUIV, // (NOT src) XOR dst
816 wxSRC_INVERT, // (NOT src)
817 wxOR_INVERT, // (NOT src) OR dst
818 wxNAND, // (NOT src) OR (NOT dst)
819 wxOR, // src OR dst
820 wxSET, // 1
26b9cf27
RD
821// wxSRC_OR, // source _bitmap_ OR destination
822// wxSRC_AND // source _bitmap_ AND destination
7bf85405
RD
823} form_ops_t;
824
65fe3842 825enum wxKeyCode {
08dcfb92
RD
826 WXK_BACK = 8,
827 WXK_TAB = 9,
828 WXK_RETURN = 13,
829 WXK_ESCAPE = 27,
830 WXK_SPACE = 32,
831 WXK_DELETE = 127,
832
833 WXK_START = 300,
834 WXK_LBUTTON,
835 WXK_RBUTTON,
836 WXK_CANCEL,
837 WXK_MBUTTON,
838 WXK_CLEAR,
839 WXK_SHIFT,
840 WXK_ALT,
841 WXK_CONTROL,
842 WXK_MENU,
843 WXK_PAUSE,
844 WXK_CAPITAL,
845 WXK_PRIOR, /* Page up */
846 WXK_NEXT, /* Page down */
847 WXK_END,
848 WXK_HOME,
849 WXK_LEFT,
850 WXK_UP,
851 WXK_RIGHT,
852 WXK_DOWN,
853 WXK_SELECT,
854 WXK_PRINT,
855 WXK_EXECUTE,
856 WXK_SNAPSHOT,
857 WXK_INSERT,
858 WXK_HELP,
859 WXK_NUMPAD0,
860 WXK_NUMPAD1,
861 WXK_NUMPAD2,
862 WXK_NUMPAD3,
863 WXK_NUMPAD4,
864 WXK_NUMPAD5,
865 WXK_NUMPAD6,
866 WXK_NUMPAD7,
867 WXK_NUMPAD8,
868 WXK_NUMPAD9,
869 WXK_MULTIPLY,
870 WXK_ADD,
871 WXK_SEPARATOR,
872 WXK_SUBTRACT,
873 WXK_DECIMAL,
874 WXK_DIVIDE,
875 WXK_F1,
876 WXK_F2,
877 WXK_F3,
878 WXK_F4,
879 WXK_F5,
880 WXK_F6,
881 WXK_F7,
882 WXK_F8,
883 WXK_F9,
884 WXK_F10,
885 WXK_F11,
886 WXK_F12,
887 WXK_F13,
888 WXK_F14,
889 WXK_F15,
890 WXK_F16,
891 WXK_F17,
892 WXK_F18,
893 WXK_F19,
894 WXK_F20,
895 WXK_F21,
896 WXK_F22,
897 WXK_F23,
898 WXK_F24,
899 WXK_NUMLOCK,
900 WXK_SCROLL,
901 WXK_PAGEUP,
902 WXK_PAGEDOWN,
903
904 WXK_NUMPAD_SPACE,
905 WXK_NUMPAD_TAB,
906 WXK_NUMPAD_ENTER,
907 WXK_NUMPAD_F1,
908 WXK_NUMPAD_F2,
909 WXK_NUMPAD_F3,
910 WXK_NUMPAD_F4,
911 WXK_NUMPAD_HOME,
912 WXK_NUMPAD_LEFT,
913 WXK_NUMPAD_UP,
914 WXK_NUMPAD_RIGHT,
915 WXK_NUMPAD_DOWN,
916 WXK_NUMPAD_PRIOR,
917 WXK_NUMPAD_PAGEUP,
918 WXK_NUMPAD_NEXT,
919 WXK_NUMPAD_PAGEDOWN,
920 WXK_NUMPAD_END,
921 WXK_NUMPAD_BEGIN,
922 WXK_NUMPAD_INSERT,
923 WXK_NUMPAD_DELETE,
924 WXK_NUMPAD_EQUAL,
925 WXK_NUMPAD_MULTIPLY,
926 WXK_NUMPAD_ADD,
927 WXK_NUMPAD_SEPARATOR,
928 WXK_NUMPAD_SUBTRACT,
929 WXK_NUMPAD_DECIMAL,
930 WXK_NUMPAD_DIVIDE,
931
932 WXK_WINDOWS_LEFT,
933 WXK_WINDOWS_RIGHT,
934 WXK_WINDOWS_MENU,
935
936 WXK_COMMAND,
937
938 // Hardware-specific buttons
939 WXK_SPECIAL1 = 193,
940 WXK_SPECIAL2,
941 WXK_SPECIAL3,
942 WXK_SPECIAL4,
943 WXK_SPECIAL5,
944 WXK_SPECIAL6,
945 WXK_SPECIAL7,
946 WXK_SPECIAL8,
947 WXK_SPECIAL9,
948 WXK_SPECIAL10,
949 WXK_SPECIAL11,
950 WXK_SPECIAL12,
951 WXK_SPECIAL13,
952 WXK_SPECIAL14,
953 WXK_SPECIAL15,
954 WXK_SPECIAL16,
955 WXK_SPECIAL17,
956 WXK_SPECIAL18,
957 WXK_SPECIAL19,
958 WXK_SPECIAL20
7bf85405
RD
959};
960
0a651eb8 961
cf694132
RD
962
963typedef enum {
964 wxPAPER_NONE, // Use specific dimensions
965 wxPAPER_LETTER, // Letter, 8 1/2 by 11 inches
966 wxPAPER_LEGAL, // Legal, 8 1/2 by 14 inches
967 wxPAPER_A4, // A4 Sheet, 210 by 297 millimeters
968 wxPAPER_CSHEET, // C Sheet, 17 by 22 inches
969 wxPAPER_DSHEET, // D Sheet, 22 by 34 inches
970 wxPAPER_ESHEET, // E Sheet, 34 by 44 inches
971 wxPAPER_LETTERSMALL, // Letter Small, 8 1/2 by 11 inches
972 wxPAPER_TABLOID, // Tabloid, 11 by 17 inches
973 wxPAPER_LEDGER, // Ledger, 17 by 11 inches
974 wxPAPER_STATEMENT, // Statement, 5 1/2 by 8 1/2 inches
975 wxPAPER_EXECUTIVE, // Executive, 7 1/4 by 10 1/2 inches
976 wxPAPER_A3, // A3 sheet, 297 by 420 millimeters
977 wxPAPER_A4SMALL, // A4 small sheet, 210 by 297 millimeters
978 wxPAPER_A5, // A5 sheet, 148 by 210 millimeters
979 wxPAPER_B4, // B4 sheet, 250 by 354 millimeters
980 wxPAPER_B5, // B5 sheet, 182-by-257-millimeter paper
981 wxPAPER_FOLIO, // Folio, 8-1/2-by-13-inch paper
982 wxPAPER_QUARTO, // Quarto, 215-by-275-millimeter paper
983 wxPAPER_10X14, // 10-by-14-inch sheet
984 wxPAPER_11X17, // 11-by-17-inch sheet
985 wxPAPER_NOTE, // Note, 8 1/2 by 11 inches
986 wxPAPER_ENV_9, // #9 Envelope, 3 7/8 by 8 7/8 inches
987 wxPAPER_ENV_10, // #10 Envelope, 4 1/8 by 9 1/2 inches
988 wxPAPER_ENV_11, // #11 Envelope, 4 1/2 by 10 3/8 inches
989 wxPAPER_ENV_12, // #12 Envelope, 4 3/4 by 11 inches
990 wxPAPER_ENV_14, // #14 Envelope, 5 by 11 1/2 inches
991 wxPAPER_ENV_DL, // DL Envelope, 110 by 220 millimeters
992 wxPAPER_ENV_C5, // C5 Envelope, 162 by 229 millimeters
993 wxPAPER_ENV_C3, // C3 Envelope, 324 by 458 millimeters
994 wxPAPER_ENV_C4, // C4 Envelope, 229 by 324 millimeters
995 wxPAPER_ENV_C6, // C6 Envelope, 114 by 162 millimeters
996 wxPAPER_ENV_C65, // C65 Envelope, 114 by 229 millimeters
997 wxPAPER_ENV_B4, // B4 Envelope, 250 by 353 millimeters
998 wxPAPER_ENV_B5, // B5 Envelope, 176 by 250 millimeters
999 wxPAPER_ENV_B6, // B6 Envelope, 176 by 125 millimeters
1000 wxPAPER_ENV_ITALY, // Italy Envelope, 110 by 230 millimeters
1001 wxPAPER_ENV_MONARCH, // Monarch Envelope, 3 7/8 by 7 1/2 inches
1002 wxPAPER_ENV_PERSONAL, // 6 3/4 Envelope, 3 5/8 by 6 1/2 inches
1003 wxPAPER_FANFOLD_US, // US Std Fanfold, 14 7/8 by 11 inches
1004 wxPAPER_FANFOLD_STD_GERMAN, // German Std Fanfold, 8 1/2 by 12 inches
1005 wxPAPER_FANFOLD_LGL_GERMAN, // German Legal Fanfold, 8 1/2 by 13 inches
1006
1007 wxPAPER_ISO_B4, // B4 (ISO) 250 x 353 mm
1008 wxPAPER_JAPANESE_POSTCARD, // Japanese Postcard 100 x 148 mm
1009 wxPAPER_9X11, // 9 x 11 in
1010 wxPAPER_10X11, // 10 x 11 in
1011 wxPAPER_15X11, // 15 x 11 in
1012 wxPAPER_ENV_INVITE, // Envelope Invite 220 x 220 mm
1013 wxPAPER_LETTER_EXTRA, // Letter Extra 9 \275 x 12 in
1014 wxPAPER_LEGAL_EXTRA, // Legal Extra 9 \275 x 15 in
1015 wxPAPER_TABLOID_EXTRA, // Tabloid Extra 11.69 x 18 in
1016 wxPAPER_A4_EXTRA, // A4 Extra 9.27 x 12.69 in
1017 wxPAPER_LETTER_TRANSVERSE, // Letter Transverse 8 \275 x 11 in
1018 wxPAPER_A4_TRANSVERSE, // A4 Transverse 210 x 297 mm
1019 wxPAPER_LETTER_EXTRA_TRANSVERSE, // Letter Extra Transverse 9\275 x 12 in
1020 wxPAPER_A_PLUS, // SuperA/SuperA/A4 227 x 356 mm
1021 wxPAPER_B_PLUS, // SuperB/SuperB/A3 305 x 487 mm
1022 wxPAPER_LETTER_PLUS, // Letter Plus 8.5 x 12.69 in
1023 wxPAPER_A4_PLUS, // A4 Plus 210 x 330 mm
1024 wxPAPER_A5_TRANSVERSE, // A5 Transverse 148 x 210 mm
1025 wxPAPER_B5_TRANSVERSE, // B5 (JIS) Transverse 182 x 257 mm
1026 wxPAPER_A3_EXTRA, // A3 Extra 322 x 445 mm
1027 wxPAPER_A5_EXTRA, // A5 Extra 174 x 235 mm
1028 wxPAPER_B5_EXTRA, // B5 (ISO) Extra 201 x 276 mm
1029 wxPAPER_A2, // A2 420 x 594 mm
1030 wxPAPER_A3_TRANSVERSE, // A3 Transverse 297 x 420 mm
6c75a4cf
RD
1031 wxPAPER_A3_EXTRA_TRANSVERSE, // A3 Extra Transverse 322 x 445 mm
1032
1033 wxPAPER_DBL_JAPANESE_POSTCARD,/* Japanese Double Postcard 200 x 148 mm */
1034 wxPAPER_A6, /* A6 105 x 148 mm */
1035 wxPAPER_JENV_KAKU2, /* Japanese Envelope Kaku #2 */
1036 wxPAPER_JENV_KAKU3, /* Japanese Envelope Kaku #3 */
1037 wxPAPER_JENV_CHOU3, /* Japanese Envelope Chou #3 */
1038 wxPAPER_JENV_CHOU4, /* Japanese Envelope Chou #4 */
1039 wxPAPER_LETTER_ROTATED, /* Letter Rotated 11 x 8 1/2 in */
1040 wxPAPER_A3_ROTATED, /* A3 Rotated 420 x 297 mm */
1041 wxPAPER_A4_ROTATED, /* A4 Rotated 297 x 210 mm */
1042 wxPAPER_A5_ROTATED, /* A5 Rotated 210 x 148 mm */
1043 wxPAPER_B4_JIS_ROTATED, /* B4 (JIS) Rotated 364 x 257 mm */
1044 wxPAPER_B5_JIS_ROTATED, /* B5 (JIS) Rotated 257 x 182 mm */
1045 wxPAPER_JAPANESE_POSTCARD_ROTATED,/* Japanese Postcard Rotated 148 x 100 mm */
1046 wxPAPER_DBL_JAPANESE_POSTCARD_ROTATED,/* Double Japanese Postcard Rotated 148 x 200 mm */
1047 wxPAPER_A6_ROTATED, /* A6 Rotated 148 x 105 mm */
1048 wxPAPER_JENV_KAKU2_ROTATED, /* Japanese Envelope Kaku #2 Rotated */
1049 wxPAPER_JENV_KAKU3_ROTATED, /* Japanese Envelope Kaku #3 Rotated */
1050 wxPAPER_JENV_CHOU3_ROTATED, /* Japanese Envelope Chou #3 Rotated */
1051 wxPAPER_JENV_CHOU4_ROTATED, /* Japanese Envelope Chou #4 Rotated */
1052 wxPAPER_B6_JIS, /* B6 (JIS) 128 x 182 mm */
1053 wxPAPER_B6_JIS_ROTATED, /* B6 (JIS) Rotated 182 x 128 mm */
1054 wxPAPER_12X11, /* 12 x 11 in */
1055 wxPAPER_JENV_YOU4, /* Japanese Envelope You #4 */
1056 wxPAPER_JENV_YOU4_ROTATED, /* Japanese Envelope You #4 Rotated */
1057 wxPAPER_P16K, /* PRC 16K 146 x 215 mm */
1058 wxPAPER_P32K, /* PRC 32K 97 x 151 mm */
1059 wxPAPER_P32KBIG, /* PRC 32K(Big) 97 x 151 mm */
1060 wxPAPER_PENV_1, /* PRC Envelope #1 102 x 165 mm */
1061 wxPAPER_PENV_2, /* PRC Envelope #2 102 x 176 mm */
1062 wxPAPER_PENV_3, /* PRC Envelope #3 125 x 176 mm */
1063 wxPAPER_PENV_4, /* PRC Envelope #4 110 x 208 mm */
1064 wxPAPER_PENV_5, /* PRC Envelope #5 110 x 220 mm */
1065 wxPAPER_PENV_6, /* PRC Envelope #6 120 x 230 mm */
1066 wxPAPER_PENV_7, /* PRC Envelope #7 160 x 230 mm */
1067 wxPAPER_PENV_8, /* PRC Envelope #8 120 x 309 mm */
1068 wxPAPER_PENV_9, /* PRC Envelope #9 229 x 324 mm */
1069 wxPAPER_PENV_10, /* PRC Envelope #10 324 x 458 mm */
1070 wxPAPER_P16K_ROTATED, /* PRC 16K Rotated */
1071 wxPAPER_P32K_ROTATED, /* PRC 32K Rotated */
1072 wxPAPER_P32KBIG_ROTATED, /* PRC 32K(Big) Rotated */
1073 wxPAPER_PENV_1_ROTATED, /* PRC Envelope #1 Rotated 165 x 102 mm */
1074 wxPAPER_PENV_2_ROTATED, /* PRC Envelope #2 Rotated 176 x 102 mm */
1075 wxPAPER_PENV_3_ROTATED, /* PRC Envelope #3 Rotated 176 x 125 mm */
1076 wxPAPER_PENV_4_ROTATED, /* PRC Envelope #4 Rotated 208 x 110 mm */
1077 wxPAPER_PENV_5_ROTATED, /* PRC Envelope #5 Rotated 220 x 110 mm */
1078 wxPAPER_PENV_6_ROTATED, /* PRC Envelope #6 Rotated 230 x 120 mm */
1079 wxPAPER_PENV_7_ROTATED, /* PRC Envelope #7 Rotated 230 x 160 mm */
1080 wxPAPER_PENV_8_ROTATED, /* PRC Envelope #8 Rotated 309 x 120 mm */
1081 wxPAPER_PENV_9_ROTATED, /* PRC Envelope #9 Rotated 324 x 229 mm */
1082 wxPAPER_PENV_10_ROTATED /* PRC Envelope #10 Rotated 458 x 324 m */
1083
cf694132
RD
1084} wxPaperSize ;
1085
bb0054cd
RD
1086typedef enum {
1087 wxDUPLEX_SIMPLEX, // Non-duplex
1088 wxDUPLEX_HORIZONTAL,
1089 wxDUPLEX_VERTICAL
1090} wxDuplexMode;
1091
cf694132
RD
1092
1093
e9159fe8
RD
1094// menu and toolbar item kinds
1095enum wxItemKind
1096{
addd64ee 1097 wxITEM_SEPARATOR,
546bfbea
VS
1098 wxITEM_NORMAL,
1099 wxITEM_CHECK,
1100 wxITEM_RADIO,
1101 wxITEM_MAX
e9159fe8
RD
1102};
1103
64e8a1f0 1104
23bed520
RD
1105enum wxHitTest
1106{
1107 wxHT_NOWHERE,
1108
1109 // scrollbar
1110 wxHT_SCROLLBAR_FIRST = wxHT_NOWHERE,
1111 wxHT_SCROLLBAR_ARROW_LINE_1, // left or upper arrow to scroll by line
1112 wxHT_SCROLLBAR_ARROW_LINE_2, // right or down
1113 wxHT_SCROLLBAR_ARROW_PAGE_1, // left or upper arrow to scroll by page
1114 wxHT_SCROLLBAR_ARROW_PAGE_2, // right or down
1115 wxHT_SCROLLBAR_THUMB, // on the thumb
1116 wxHT_SCROLLBAR_BAR_1, // bar to the left/above the thumb
1117 wxHT_SCROLLBAR_BAR_2, // bar to the right/below the thumb
1118 wxHT_SCROLLBAR_LAST,
1119
1120 // window
1121 wxHT_WINDOW_OUTSIDE, // not in this window at all
1122 wxHT_WINDOW_INSIDE, // in the client area
1123 wxHT_WINDOW_VERT_SCROLLBAR, // on the vertical scrollbar
1124 wxHT_WINDOW_HORZ_SCROLLBAR, // on the horizontal scrollbar
1125 wxHT_WINDOW_CORNER, // on the corner between 2 scrollbars
1126
1127 wxHT_MAX
1128};
1129
1130
3ef86e32
RD
1131%{
1132#if ! wxUSE_HOTKEY
1133enum wxHotkeyModifier
1134{
1135 wxMOD_NONE = 0,
1136 wxMOD_ALT = 1,
1137 wxMOD_CONTROL = 2,
1138 wxMOD_SHIFT = 4,
1139 wxMOD_WIN = 8
1140};
1141#define wxEVT_HOTKEY 9999
1142#endif
1143%}
1144
1145enum wxHotkeyModifier
1146{
1147 wxMOD_NONE = 0,
1148 wxMOD_ALT = 1,
1149 wxMOD_CONTROL = 2,
1150 wxMOD_SHIFT = 4,
1151 wxMOD_WIN = 8
1152};
1153
1154
1155enum wxUpdateUI
1156{
1157 wxUPDATE_UI_NONE = 0x0000,
1158 wxUPDATE_UI_RECURSE = 0x0001,
1159 wxUPDATE_UI_FROMIDLE = 0x0002 // Invoked from On(Internal)Idle
1160};
1161
1162
23bed520 1163
7bf85405
RD
1164//---------------------------------------------------------------------------
1165