]> git.saurik.com Git - wxWidgets.git/blame - wxPython/src/_defs.i
Allow overriding ApplyParentThemeBackground
[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
dd9f7fea
RD
14// Globally turn on the autodoc feature
15%feature("autodoc", "1"); // 0 == no param types, 1 == show param types
16
7bf85405
RD
17
18//---------------------------------------------------------------------------
d14a1e28 19// some type definitions to simplify things for SWIG
af309447 20
dd9f7fea
RD
21// typedef int wxWindowID;
22// typedef int wxCoord;
23// typedef int wxInt32;
24// typedef unsigned int wxUint32;
d14a1e28
RD
25typedef int wxEventType;
26typedef unsigned int size_t;
27typedef unsigned int time_t;
28typedef unsigned char byte;
29
dd9f7fea
RD
30#define wxWindowID int
31#define wxCoord int
32#define wxInt32 int
33#define wxUint32 unsigned int
34//#define wxEventType int
35//#define size_t unsigned int
36//#define time_t unsigned int
37//#define byte unsigned char
38
d14a1e28
RD
39
40//----------------------------------------------------------------------
41// Various SWIG macros and such
42
2b9048c5
RD
43#define %pythonAppend %feature("pythonappend")
44#define %pythonPrepend %feature("pythonprepend")
d14a1e28
RD
45#define %kwargs %feature("kwargs")
46#define %nokwargs %feature("nokwargs")
d14a1e28 47
2b9048c5
RD
48//#ifndef %shadow
49//#define %shadow %insert("shadow")
50//#endif
d14a1e28
RD
51
52#ifndef %pythoncode
53#define %pythoncode %insert("python")
dd9f7fea 54#endif
d14a1e28
RD
55
56#define WXUNUSED(x) x
57
58
59// Given the name of a wxChar (or wxString) constant in C++, make
60// a static wxString for wxPython, and also let SWIG wrap it.
61%define MAKE_CONST_WXSTRING(strname)
62 %{ static const wxString wxPy##strname(wx##strname); %}
63 %immutable;
64 %name(strname) const wxString wxPy##strname;
65 %mutable;
66%enddef
67
b2dc1044 68%define MAKE_CONST_WXSTRING2(strname, val)
089142a5 69 %{ static const wxString wxPy##strname(val); %}
b2dc1044
RD
70 %immutable;
71 %name(strname) const wxString wxPy##strname;
72 %mutable;
73%enddef
74
75%define MAKE_CONST_WXSTRING_NOSWIG(strname)
76 %{ static const wxString wxPy##strname(wx##strname); %}
77%enddef
b1462dfa 78
d14a1e28
RD
79// Generate code in the module init for the event types, since they may not be
80// initialized yet when they are used in the static swig_const_table.
81%typemap(consttab) wxEventType; // TODO: how to prevent code inserted into the consttab?
82%typemap(constcode) wxEventType "PyDict_SetItemString(d, \"$symname\", PyInt_FromLong($value));";
83
84
dd9f7fea
RD
85
86// Macros for the docstring and autodoc features of SWIG.
87
88// Set the docsring for the given full or partial declaration
b2dc1044
RD
89%define DocStr(decl, docstr)
90 %feature("docstring") decl docstr;
91 //%feature("refdoc") decl "";
92%enddef
dd9f7fea
RD
93
94// Set the autodoc string for a full or partial declaration
b2dc1044
RD
95%define DocA(decl, astr)
96 %feature("autodoc") decl astr;
97%enddef
dd9f7fea
RD
98
99// Set both the autodoc and docstring for a full or partial declaration
100%define DocAStr(decl, astr, docstr)
101 %feature("autodoc") decl astr;
102 %feature("docstring") decl docstr
103%enddef
104
105// Set the detailed reference docs for full or partial declaration
106#define DocRef(decl, str) %feature("docref") decl str
107
108
109
110
111// Set the docstring for a decl and then define the decl too. Must use the
112// full declaration of the item.
113%define DocDeclStr(type, decl, docstr)
114 %feature("docstring") decl docstr;
115 type decl
116%enddef
117
118// As above, but also give the decl a new %name
119%define DocDeclStrName(type, decl, docstr, newname)
120 %feature("docstring") decl docstr;
121 %name(newname) type decl
122%enddef
123
124
125// Set the autodoc string for a decl and then define the decl too. Must use the
126// full declaration of the item.
127%define DocDeclA(type, decl, astr)
128 %feature("autodoc") decl astr;
129 type decl
130%enddef
131
132// As above, but also give the decl a new %name
133%define DocDeclAName(type, decl, astr, newname)
134 %feature("autodoc") decl astr;
135 %name(newname) type decl
136%enddef
137
138
139
140// Set the autodoc and the docstring for a decl and then define the decl too.
141// Must use the full declaration of the item.
142%define DocDeclAStr(type, decl, astr, docstr)
143 %feature("autodoc") decl astr;
144 %feature("docstring") decl docstr;
145 type decl
146%enddef
147
148// As above, but also give the decl a new %name
149%define DocDeclAStrName(type, decl, astr, docstr, newname)
150 %feature("autodoc") decl astr;
151 %feature("docstring") decl docstr;
152 %name(newname) type decl
153%enddef
154
155
156
157
158// Set the docstring for a constructor decl and then define the decl too.
159// Must use the full declaration of the item.
160%define DocCtorStr(decl, docstr)
161 %feature("docstring") decl docstr;
162 decl
163%enddef
164
165// As above, but also give the decl a new %name
166%define DocCtorStrName(decl, docstr, newname)
167 %feature("docstring") decl docstr;
168 %name(newname) decl
169%enddef
170
171
172// Set the autodoc string for a decl and then define the decl too. Must use the
173// full declaration of the item.
174%define DocCtorA(decl, astr)
175 %feature("autodoc") decl astr;
176 decl
177%enddef
178
179// As above, but also give the decl a new %name
180%define DocCtorAname(decl, astr, newname)
181 %feature("autodoc") decl astr;
182 %name(newname) decl
183%enddef
184
185
186
187// Set the autodoc and the docstring for a decl and then define the decl too.
188// Must use the full declaration of the item.
189%define DocCtorAStr(decl, astr, docstr)
190 %feature("autodoc") decl astr;
191 %feature("docstring") decl docstr;
192 decl
193%enddef
194
195// As above, but also give the decl a new %name
196%define DocCtorAStrName(decl, astr, docstr, newname)
197 %feature("autodoc") decl astr;
198 %feature("docstring") decl docstr;
199 %name(newname) decl
200%enddef
201
1e0c8722
RD
202
203// A placeholder for the detailed reference docs.
204%define RefDoc(decl, docstr)
b2dc1044 205 %feature("refdoc") decl docstr;
1e0c8722 206%enddef
dd9f7fea
RD
207
208
d14a1e28
RD
209%define %newgroup
210%pythoncode {
211%#---------------------------------------------------------------------------
dd9f7fea 212}
d14a1e28 213%enddef
7bf85405 214
64e8a1f0
RD
215//---------------------------------------------------------------------------
216// Forward declarations and %renames for some classes, so the autodoc strings
217// will be able to use the right types even when the real class declaration is
218// not in the module being processed.
219
220#ifdef BUILDING_RENAMERS
221 #define FORWARD_DECLARE(wxName, Name)
222#else
223 %define FORWARD_DECLARE(wxName, Name)
224 %rename(Name) wxName;
225 class wxName;
226 %enddef
227#endif
228
b2dc1044
RD
229FORWARD_DECLARE(wxString, String);
230FORWARD_DECLARE(wxBitmap, Bitmap);
231FORWARD_DECLARE(wxDateTime, DateTime);
232FORWARD_DECLARE(wxInputStream, InputStream);
233FORWARD_DECLARE(wxDC, DC);
234FORWARD_DECLARE(wxCursor, Cursor);
235FORWARD_DECLARE(wxRegion, Region);
236FORWARD_DECLARE(wxColour, Colour);
237FORWARD_DECLARE(wxFont, Font);
238FORWARD_DECLARE(wxCaret, Caret);
239FORWARD_DECLARE(wxToolTip, ToolTip);
d7466b1d 240FORWARD_DECLARE(wxPyDropTarget, DropTarget);
b2dc1044
RD
241FORWARD_DECLARE(wxImageList, ImageList);
242FORWARD_DECLARE(wxMemoryDC, MemoryDC);
243FORWARD_DECLARE(wxHtmlTagHandler, HtmlTagHandler);
244FORWARD_DECLARE(wxConfigBase, ConfigBase);
245FORWARD_DECLARE(wxIcon, Icon);
246
64e8a1f0 247
7bf85405
RD
248//---------------------------------------------------------------------------
249
250// General numeric #define's and etc. Making them all enums makes SWIG use the
251// real macro when making the Python Int
252
253enum {
d14a1e28
RD
254// wxMAJOR_VERSION,
255// wxMINOR_VERSION,
256// wxRELEASE_NUMBER,
7bf85405 257
08127323 258 wxNOT_FOUND,
7bf85405
RD
259
260 wxVSCROLL,
261 wxHSCROLL,
262 wxCAPTION,
263 wxDOUBLE_BORDER,
264 wxSUNKEN_BORDER,
265 wxRAISED_BORDER,
266 wxBORDER,
267 wxSIMPLE_BORDER,
268 wxSTATIC_BORDER,
269 wxTRANSPARENT_WINDOW,
270 wxNO_BORDER,
271 wxUSER_COLOURS,
272 wxNO_3D,
9cbf6f6e 273
7bf85405 274 wxTAB_TRAVERSAL,
1afc06c2 275 wxWANTS_CHARS,
0122b7e3 276 wxPOPUP_WINDOW,
7bf85405 277 wxCENTER_FRAME,
1afc06c2
RD
278 wxCENTRE_ON_SCREEN,
279 wxCENTER_ON_SCREEN,
280
7bf85405
RD
281 wxSTAY_ON_TOP,
282 wxICONIZE,
283 wxMINIMIZE,
284 wxMAXIMIZE,
9cbf6f6e 285 wxCLOSE_BOX,
7bf85405
RD
286 wxTHICK_FRAME,
287 wxSYSTEM_MENU,
288 wxMINIMIZE_BOX,
289 wxMAXIMIZE_BOX,
290 wxTINY_CAPTION_HORIZ,
291 wxTINY_CAPTION_VERT,
292 wxRESIZE_BOX,
293 wxRESIZE_BORDER,
294 wxDIALOG_MODAL,
295 wxDIALOG_MODELESS,
25832b3f 296 wxDIALOG_NO_PARENT,
7bf85405
RD
297 wxDEFAULT_FRAME_STYLE,
298 wxDEFAULT_DIALOG_STYLE,
b8b8dda7
RD
299
300 wxFRAME_TOOL_WINDOW,
bb0054cd 301 wxFRAME_FLOAT_ON_PARENT,
4c9993c3 302 wxFRAME_NO_WINDOW_MENU,
1b62f00d 303 wxFRAME_NO_TASKBAR,
1fded56b 304 wxFRAME_SHAPED,
4f3449b4 305
1afc06c2
RD
306 wxED_CLIENT_MARGIN,
307 wxED_BUTTONS_BOTTOM,
308 wxED_BUTTONS_RIGHT,
309 wxED_STATIC_LINE,
310 wxEXT_DIALOG_STYLE,
bb0054cd 311
08127323 312 wxCLIP_CHILDREN,
edf2f43e 313 wxCLIP_SIBLINGS,
b8b8dda7 314
7bf85405
RD
315 wxRETAINED,
316 wxBACKINGSTORE,
b96c7a38 317
7bf85405
RD
318 wxCOLOURED,
319 wxFIXED_LENGTH,
1b62f00d 320
7bf85405
RD
321 wxLB_NEEDED_SB,
322 wxLB_ALWAYS_SB,
323 wxLB_SORT,
324 wxLB_SINGLE,
325 wxLB_MULTIPLE,
326 wxLB_EXTENDED,
327 wxLB_OWNERDRAW,
328 wxLB_HSCROLL,
329 wxPROCESS_ENTER,
330 wxPASSWORD,
b1e930a5 331
7bf85405
RD
332 wxCB_SIMPLE,
333 wxCB_DROPDOWN,
334 wxCB_SORT,
335 wxCB_READONLY,
336 wxRA_HORIZONTAL,
337 wxRA_VERTICAL,
ed175610
RD
338 wxRA_SPECIFY_ROWS,
339 wxRA_SPECIFY_COLS,
7bf85405 340 wxRB_GROUP,
1e4a197e 341 wxRB_SINGLE,
7bf85405
RD
342 wxSL_HORIZONTAL,
343 wxSL_VERTICAL,
344 wxSL_AUTOTICKS,
345 wxSL_LABELS,
346 wxSL_LEFT,
347 wxSL_TOP,
348 wxSL_RIGHT,
349 wxSL_BOTTOM,
350 wxSL_BOTH,
351 wxSL_SELRANGE,
352 wxSB_HORIZONTAL,
353 wxSB_VERTICAL,
cf694132 354 wxST_SIZEGRIP,
2abc0a0f 355 wxST_NO_AUTORESIZE,
203c2f9a 356
7bf85405
RD
357 wxFLOOD_SURFACE,
358 wxFLOOD_BORDER,
359 wxODDEVEN_RULE,
360 wxWINDING_RULE,
361 wxTOOL_TOP,
362 wxTOOL_BOTTOM,
363 wxTOOL_LEFT,
364 wxTOOL_RIGHT,
365 wxOK,
366 wxYES_NO,
367 wxCANCEL,
368 wxYES,
369 wxNO,
1afc06c2
RD
370 wxNO_DEFAULT,
371 wxYES_DEFAULT,
7bf85405
RD
372 wxICON_EXCLAMATION,
373 wxICON_HAND,
374 wxICON_QUESTION,
375 wxICON_INFORMATION,
376 wxICON_STOP,
377 wxICON_ASTERISK,
378 wxICON_MASK,
1afc06c2
RD
379 wxICON_WARNING,
380 wxICON_ERROR,
381
382 wxFORWARD,
383 wxBACKWARD,
384 wxRESET,
385 wxHELP,
386 wxMORE,
387 wxSETUP,
388
f3d9dc1d 389
7bf85405
RD
390 wxSIZE_AUTO_WIDTH,
391 wxSIZE_AUTO_HEIGHT,
392 wxSIZE_AUTO,
393 wxSIZE_USE_EXISTING,
394 wxSIZE_ALLOW_MINUS_ONE,
7bf85405
RD
395 wxPORTRAIT,
396 wxLANDSCAPE,
bb0054cd
RD
397 wxPRINT_QUALITY_HIGH,
398 wxPRINT_QUALITY_MEDIUM,
399 wxPRINT_QUALITY_LOW,
400 wxPRINT_QUALITY_DRAFT,
26e335b8 401
3eb221f6
RD
402 wxID_ANY,
403 wxID_SEPARATOR,
404
d14a1e28 405 wxID_LOWEST,
7bf85405
RD
406 wxID_OPEN,
407 wxID_CLOSE,
408 wxID_NEW,
409 wxID_SAVE,
410 wxID_SAVEAS,
411 wxID_REVERT,
412 wxID_EXIT,
413 wxID_UNDO,
414 wxID_REDO,
415 wxID_HELP,
416 wxID_PRINT,
417 wxID_PRINT_SETUP,
418 wxID_PREVIEW,
419 wxID_ABOUT,
420 wxID_HELP_CONTENTS,
421 wxID_HELP_COMMANDS,
422 wxID_HELP_PROCEDURES,
423 wxID_HELP_CONTEXT,
b5a5d647 424 wxID_CLOSE_ALL,
1a10a058 425 wxID_PREFERENCES,
26e335b8 426
7bf85405
RD
427 wxID_CUT,
428 wxID_COPY,
429 wxID_PASTE,
430 wxID_CLEAR,
431 wxID_FIND,
d56cebe7
RD
432 wxID_DUPLICATE,
433 wxID_SELECTALL,
26e335b8 434
3ef86e32
RD
435 wxID_DELETE,
436 wxID_REPLACE,
437 wxID_REPLACE_ALL,
438 wxID_PROPERTIES,
439
440 wxID_VIEW_DETAILS,
441 wxID_VIEW_LARGEICONS,
442 wxID_VIEW_SMALLICONS,
443 wxID_VIEW_LIST,
444 wxID_VIEW_SORTDATE,
445 wxID_VIEW_SORTNAME,
446 wxID_VIEW_SORTSIZE,
447 wxID_VIEW_SORTTYPE,
448
7bf85405
RD
449 wxID_FILE1,
450 wxID_FILE2,
451 wxID_FILE3,
452 wxID_FILE4,
453 wxID_FILE5,
454 wxID_FILE6,
455 wxID_FILE7,
456 wxID_FILE8,
457 wxID_FILE9,
26e335b8 458
7bf85405
RD
459 wxID_OK,
460 wxID_CANCEL,
461 wxID_APPLY,
462 wxID_YES,
463 wxID_NO,
cf694132 464 wxID_STATIC,
f3d9dc1d
RD
465 wxID_FORWARD,
466 wxID_BACKWARD,
26e335b8 467 wxID_DEFAULT,
f3d9dc1d 468 wxID_MORE,
26e335b8
RD
469 wxID_SETUP,
470 wxID_RESET,
471 wxID_CONTEXT_HELP,
472 wxID_YESTOALL,
473 wxID_NOTOALL,
474 wxID_ABORT,
475 wxID_RETRY,
476 wxID_IGNORE,
f3d9dc1d 477
d14a1e28 478 wxID_HIGHEST,
dd9f7fea 479
7bf85405
RD
480 wxOPEN,
481 wxSAVE,
482 wxHIDE_READONLY,
483 wxOVERWRITE_PROMPT,
2abc0a0f 484 wxFILE_MUST_EXIST,
f6bcfd97 485 wxMULTIPLE,
1b62f00d 486 wxCHANGE_DIR,
7bf85405
RD
487
488 wxACCEL_ALT,
489 wxACCEL_CTRL,
490 wxACCEL_SHIFT,
f6bcfd97 491 wxACCEL_NORMAL,
bb0054cd
RD
492
493 wxPD_AUTO_HIDE,
494 wxPD_APP_MODAL,
495 wxPD_CAN_ABORT,
a08cbc01
RD
496 wxPD_ELAPSED_TIME,
497 wxPD_ESTIMATED_TIME,
498 wxPD_REMAINING_TIME,
bb0054cd 499
7cdaed0b 500 wxDD_NEW_DIR_BUTTON,
daa3eac9 501 wxDD_DEFAULT_STYLE,
7cdaed0b 502
8bf5d46e 503 wxMENU_TEAROFF,
1afc06c2 504 wxMB_DOCKABLE,
8bf5d46e 505 wxNO_FULL_REPAINT_ON_RESIZE,
6a8b9da4
RD
506 wxFULL_REPAINT_ON_RESIZE,
507
1afc06c2
RD
508 wxLI_HORIZONTAL,
509 wxLI_VERTICAL,
510
d1679124 511 wxWS_EX_VALIDATE_RECURSIVELY,
0122b7e3 512 wxWS_EX_BLOCK_EVENTS,
78e8819c 513 wxWS_EX_TRANSIENT,
ecc08ead 514
3ef86e32
RD
515 wxWS_EX_THEMED_BACKGROUND,
516 wxWS_EX_PROCESS_IDLE,
517 wxWS_EX_PROCESS_UI_UPDATES,
518
519
ecc08ead
RD
520 // Mapping modes (as per Windows)
521 wxMM_TEXT,
522 wxMM_LOMETRIC,
523 wxMM_HIMETRIC,
524 wxMM_LOENGLISH,
525 wxMM_HIENGLISH,
526 wxMM_TWIPS,
527 wxMM_ISOTROPIC,
528 wxMM_ANISOTROPIC,
529 wxMM_POINTS,
530 wxMM_METRIC,
531
3eb221f6 532
1e4a197e
RD
533 // It looks like wxTabCtrl may rise from the dead. Uncomment these if
534 // it gets an implementation for all platforms...
535// wxTC_RIGHTJUSTIFY,
536// wxTC_FIXEDWIDTH,
537// wxTC_TOP,
538// wxTC_LEFT,
539// wxTC_RIGHT,
540// wxTC_BOTTOM,
541// wxTC_MULTILINE,
542// wxTC_OWNERDRAW,
543
7bf85405
RD
544};
545
546
69d81895
RD
547#ifdef __WXGTK__
548#define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP|wxFULL_REPAINT_ON_RESIZE
549#else
550#define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP
551#endif
552
553
d14a1e28
RD
554
555enum wxGeometryCentre
556{
557 wxCENTRE = 0x0001,
558 wxCENTER = wxCENTRE
559};
560
561
562enum wxOrientation
563{
564 wxHORIZONTAL,
565 wxVERTICAL,
566 wxBOTH
567};
568
569enum wxDirection
570{
571 wxLEFT,
572 wxRIGHT,
573 wxUP,
574 wxDOWN,
575
576 wxTOP,
577 wxBOTTOM,
578
579 wxNORTH,
580 wxSOUTH,
581 wxWEST,
582 wxEAST,
583
584 wxALL
585};
586
587enum wxAlignment
588{
589 wxALIGN_NOT,
590 wxALIGN_CENTER_HORIZONTAL,
591 wxALIGN_CENTRE_HORIZONTAL,
592 wxALIGN_LEFT,
593 wxALIGN_TOP,
594 wxALIGN_RIGHT,
595 wxALIGN_BOTTOM,
596 wxALIGN_CENTER_VERTICAL,
597 wxALIGN_CENTRE_VERTICAL,
598
599 wxALIGN_CENTER,
600 wxALIGN_CENTRE,
601
602 wxALIGN_MASK,
603};
604
605enum wxStretch
606{
607 wxSTRETCH_NOT,
608 wxSHRINK,
609 wxGROW,
610 wxEXPAND,
611 wxSHAPED,
612 wxADJUST_MINSIZE,
613 wxTILE,
614};
615
616
ebf4302c
RD
617enum wxBorder
618{
619 wxBORDER_DEFAULT,
620 wxBORDER_NONE,
621 wxBORDER_STATIC,
622 wxBORDER_SIMPLE,
623 wxBORDER_RAISED,
624 wxBORDER_SUNKEN,
625 wxBORDER_DOUBLE,
626 wxBORDER_MASK,
627};
628
629
7bf85405
RD
630enum {
631 wxDEFAULT ,
632 wxDECORATIVE,
633 wxROMAN,
634 wxSCRIPT,
635 wxSWISS,
636 wxMODERN,
637 wxTELETYPE,
638 wxVARIABLE,
639 wxFIXED,
640 wxNORMAL,
641 wxLIGHT,
642 wxBOLD,
643 wxITALIC,
644 wxSLANT,
645 wxSOLID,
646 wxDOT,
647 wxLONG_DASH,
648 wxSHORT_DASH,
649 wxDOT_DASH,
650 wxUSER_DASH,
651 wxTRANSPARENT,
652 wxSTIPPLE,
653 wxBDIAGONAL_HATCH,
654 wxCROSSDIAG_HATCH,
655 wxFDIAGONAL_HATCH,
656 wxCROSS_HATCH,
657 wxHORIZONTAL_HATCH,
658 wxVERTICAL_HATCH,
659 wxJOIN_BEVEL,
660 wxJOIN_MITER,
661 wxJOIN_ROUND,
662 wxCAP_ROUND,
663 wxCAP_PROJECTING,
664 wxCAP_BUTT
665};
666
667typedef enum {
668 wxCLEAR, // 0
669 wxXOR, // src XOR dst
670 wxINVERT, // NOT dst
671 wxOR_REVERSE, // src OR (NOT dst)
672 wxAND_REVERSE,// src AND (NOT dst)
673 wxCOPY, // src
674 wxAND, // src AND dst
675 wxAND_INVERT, // (NOT src) AND dst
676 wxNO_OP, // dst
677 wxNOR, // (NOT src) AND (NOT dst)
678 wxEQUIV, // (NOT src) XOR dst
679 wxSRC_INVERT, // (NOT src)
680 wxOR_INVERT, // (NOT src) OR dst
681 wxNAND, // (NOT src) OR (NOT dst)
682 wxOR, // src OR dst
683 wxSET, // 1
26b9cf27
RD
684// wxSRC_OR, // source _bitmap_ OR destination
685// wxSRC_AND // source _bitmap_ AND destination
7bf85405
RD
686} form_ops_t;
687
65fe3842
RD
688enum wxKeyCode {
689 WXK_BACK = 8,
690 WXK_TAB = 9,
691 WXK_RETURN = 13,
692 WXK_ESCAPE = 27,
693 WXK_SPACE = 32,
694 WXK_DELETE = 127,
695
696 WXK_START = 300,
697 WXK_LBUTTON,
698 WXK_RBUTTON,
699 WXK_CANCEL,
700 WXK_MBUTTON,
701 WXK_CLEAR,
702 WXK_SHIFT,
703 WXK_ALT,
704 WXK_CONTROL,
705 WXK_MENU,
706 WXK_PAUSE,
707 WXK_CAPITAL,
708 WXK_PRIOR, /* Page up */
709 WXK_NEXT, /* Page down */
710 WXK_END,
711 WXK_HOME,
712 WXK_LEFT,
713 WXK_UP,
714 WXK_RIGHT,
715 WXK_DOWN,
716 WXK_SELECT,
717 WXK_PRINT,
718 WXK_EXECUTE,
719 WXK_SNAPSHOT,
720 WXK_INSERT,
721 WXK_HELP,
722 WXK_NUMPAD0,
723 WXK_NUMPAD1,
724 WXK_NUMPAD2,
725 WXK_NUMPAD3,
726 WXK_NUMPAD4,
727 WXK_NUMPAD5,
728 WXK_NUMPAD6,
729 WXK_NUMPAD7,
730 WXK_NUMPAD8,
731 WXK_NUMPAD9,
732 WXK_MULTIPLY,
733 WXK_ADD,
734 WXK_SEPARATOR,
735 WXK_SUBTRACT,
736 WXK_DECIMAL,
737 WXK_DIVIDE,
738 WXK_F1,
739 WXK_F2,
740 WXK_F3,
741 WXK_F4,
742 WXK_F5,
743 WXK_F6,
744 WXK_F7,
745 WXK_F8,
746 WXK_F9,
747 WXK_F10,
748 WXK_F11,
749 WXK_F12,
750 WXK_F13,
751 WXK_F14,
752 WXK_F15,
753 WXK_F16,
754 WXK_F17,
755 WXK_F18,
756 WXK_F19,
757 WXK_F20,
758 WXK_F21,
759 WXK_F22,
760 WXK_F23,
761 WXK_F24,
762 WXK_NUMLOCK,
763 WXK_SCROLL,
764 WXK_PAGEUP,
765 WXK_PAGEDOWN,
766
767 WXK_NUMPAD_SPACE,
768 WXK_NUMPAD_TAB,
769 WXK_NUMPAD_ENTER,
770 WXK_NUMPAD_F1,
771 WXK_NUMPAD_F2,
772 WXK_NUMPAD_F3,
773 WXK_NUMPAD_F4,
774 WXK_NUMPAD_HOME,
775 WXK_NUMPAD_LEFT,
776 WXK_NUMPAD_UP,
777 WXK_NUMPAD_RIGHT,
778 WXK_NUMPAD_DOWN,
779 WXK_NUMPAD_PRIOR,
780 WXK_NUMPAD_PAGEUP,
781 WXK_NUMPAD_NEXT,
782 WXK_NUMPAD_PAGEDOWN,
783 WXK_NUMPAD_END,
784 WXK_NUMPAD_BEGIN,
785 WXK_NUMPAD_INSERT,
786 WXK_NUMPAD_DELETE,
787 WXK_NUMPAD_EQUAL,
788 WXK_NUMPAD_MULTIPLY,
789 WXK_NUMPAD_ADD,
790 WXK_NUMPAD_SEPARATOR,
791 WXK_NUMPAD_SUBTRACT,
792 WXK_NUMPAD_DECIMAL,
9cbf6f6e
RD
793 WXK_NUMPAD_DIVIDE,
794
795 WXK_WINDOWS_LEFT,
796 WXK_WINDOWS_RIGHT,
797 WXK_WINDOWS_MENU
65fe3842 798
7bf85405
RD
799};
800
0a651eb8 801
cf694132
RD
802
803typedef enum {
804 wxPAPER_NONE, // Use specific dimensions
805 wxPAPER_LETTER, // Letter, 8 1/2 by 11 inches
806 wxPAPER_LEGAL, // Legal, 8 1/2 by 14 inches
807 wxPAPER_A4, // A4 Sheet, 210 by 297 millimeters
808 wxPAPER_CSHEET, // C Sheet, 17 by 22 inches
809 wxPAPER_DSHEET, // D Sheet, 22 by 34 inches
810 wxPAPER_ESHEET, // E Sheet, 34 by 44 inches
811 wxPAPER_LETTERSMALL, // Letter Small, 8 1/2 by 11 inches
812 wxPAPER_TABLOID, // Tabloid, 11 by 17 inches
813 wxPAPER_LEDGER, // Ledger, 17 by 11 inches
814 wxPAPER_STATEMENT, // Statement, 5 1/2 by 8 1/2 inches
815 wxPAPER_EXECUTIVE, // Executive, 7 1/4 by 10 1/2 inches
816 wxPAPER_A3, // A3 sheet, 297 by 420 millimeters
817 wxPAPER_A4SMALL, // A4 small sheet, 210 by 297 millimeters
818 wxPAPER_A5, // A5 sheet, 148 by 210 millimeters
819 wxPAPER_B4, // B4 sheet, 250 by 354 millimeters
820 wxPAPER_B5, // B5 sheet, 182-by-257-millimeter paper
821 wxPAPER_FOLIO, // Folio, 8-1/2-by-13-inch paper
822 wxPAPER_QUARTO, // Quarto, 215-by-275-millimeter paper
823 wxPAPER_10X14, // 10-by-14-inch sheet
824 wxPAPER_11X17, // 11-by-17-inch sheet
825 wxPAPER_NOTE, // Note, 8 1/2 by 11 inches
826 wxPAPER_ENV_9, // #9 Envelope, 3 7/8 by 8 7/8 inches
827 wxPAPER_ENV_10, // #10 Envelope, 4 1/8 by 9 1/2 inches
828 wxPAPER_ENV_11, // #11 Envelope, 4 1/2 by 10 3/8 inches
829 wxPAPER_ENV_12, // #12 Envelope, 4 3/4 by 11 inches
830 wxPAPER_ENV_14, // #14 Envelope, 5 by 11 1/2 inches
831 wxPAPER_ENV_DL, // DL Envelope, 110 by 220 millimeters
832 wxPAPER_ENV_C5, // C5 Envelope, 162 by 229 millimeters
833 wxPAPER_ENV_C3, // C3 Envelope, 324 by 458 millimeters
834 wxPAPER_ENV_C4, // C4 Envelope, 229 by 324 millimeters
835 wxPAPER_ENV_C6, // C6 Envelope, 114 by 162 millimeters
836 wxPAPER_ENV_C65, // C65 Envelope, 114 by 229 millimeters
837 wxPAPER_ENV_B4, // B4 Envelope, 250 by 353 millimeters
838 wxPAPER_ENV_B5, // B5 Envelope, 176 by 250 millimeters
839 wxPAPER_ENV_B6, // B6 Envelope, 176 by 125 millimeters
840 wxPAPER_ENV_ITALY, // Italy Envelope, 110 by 230 millimeters
841 wxPAPER_ENV_MONARCH, // Monarch Envelope, 3 7/8 by 7 1/2 inches
842 wxPAPER_ENV_PERSONAL, // 6 3/4 Envelope, 3 5/8 by 6 1/2 inches
843 wxPAPER_FANFOLD_US, // US Std Fanfold, 14 7/8 by 11 inches
844 wxPAPER_FANFOLD_STD_GERMAN, // German Std Fanfold, 8 1/2 by 12 inches
845 wxPAPER_FANFOLD_LGL_GERMAN, // German Legal Fanfold, 8 1/2 by 13 inches
846
847 wxPAPER_ISO_B4, // B4 (ISO) 250 x 353 mm
848 wxPAPER_JAPANESE_POSTCARD, // Japanese Postcard 100 x 148 mm
849 wxPAPER_9X11, // 9 x 11 in
850 wxPAPER_10X11, // 10 x 11 in
851 wxPAPER_15X11, // 15 x 11 in
852 wxPAPER_ENV_INVITE, // Envelope Invite 220 x 220 mm
853 wxPAPER_LETTER_EXTRA, // Letter Extra 9 \275 x 12 in
854 wxPAPER_LEGAL_EXTRA, // Legal Extra 9 \275 x 15 in
855 wxPAPER_TABLOID_EXTRA, // Tabloid Extra 11.69 x 18 in
856 wxPAPER_A4_EXTRA, // A4 Extra 9.27 x 12.69 in
857 wxPAPER_LETTER_TRANSVERSE, // Letter Transverse 8 \275 x 11 in
858 wxPAPER_A4_TRANSVERSE, // A4 Transverse 210 x 297 mm
859 wxPAPER_LETTER_EXTRA_TRANSVERSE, // Letter Extra Transverse 9\275 x 12 in
860 wxPAPER_A_PLUS, // SuperA/SuperA/A4 227 x 356 mm
861 wxPAPER_B_PLUS, // SuperB/SuperB/A3 305 x 487 mm
862 wxPAPER_LETTER_PLUS, // Letter Plus 8.5 x 12.69 in
863 wxPAPER_A4_PLUS, // A4 Plus 210 x 330 mm
864 wxPAPER_A5_TRANSVERSE, // A5 Transverse 148 x 210 mm
865 wxPAPER_B5_TRANSVERSE, // B5 (JIS) Transverse 182 x 257 mm
866 wxPAPER_A3_EXTRA, // A3 Extra 322 x 445 mm
867 wxPAPER_A5_EXTRA, // A5 Extra 174 x 235 mm
868 wxPAPER_B5_EXTRA, // B5 (ISO) Extra 201 x 276 mm
869 wxPAPER_A2, // A2 420 x 594 mm
870 wxPAPER_A3_TRANSVERSE, // A3 Transverse 297 x 420 mm
871 wxPAPER_A3_EXTRA_TRANSVERSE // A3 Extra Transverse 322 x 445 mm
872
873} wxPaperSize ;
874
bb0054cd
RD
875typedef enum {
876 wxDUPLEX_SIMPLEX, // Non-duplex
877 wxDUPLEX_HORIZONTAL,
878 wxDUPLEX_VERTICAL
879} wxDuplexMode;
880
cf694132
RD
881
882
e9159fe8
RD
883// menu and toolbar item kinds
884enum wxItemKind
885{
addd64ee 886 wxITEM_SEPARATOR,
546bfbea
VS
887 wxITEM_NORMAL,
888 wxITEM_CHECK,
889 wxITEM_RADIO,
890 wxITEM_MAX
e9159fe8
RD
891};
892
64e8a1f0 893
23bed520
RD
894enum wxHitTest
895{
896 wxHT_NOWHERE,
897
898 // scrollbar
899 wxHT_SCROLLBAR_FIRST = wxHT_NOWHERE,
900 wxHT_SCROLLBAR_ARROW_LINE_1, // left or upper arrow to scroll by line
901 wxHT_SCROLLBAR_ARROW_LINE_2, // right or down
902 wxHT_SCROLLBAR_ARROW_PAGE_1, // left or upper arrow to scroll by page
903 wxHT_SCROLLBAR_ARROW_PAGE_2, // right or down
904 wxHT_SCROLLBAR_THUMB, // on the thumb
905 wxHT_SCROLLBAR_BAR_1, // bar to the left/above the thumb
906 wxHT_SCROLLBAR_BAR_2, // bar to the right/below the thumb
907 wxHT_SCROLLBAR_LAST,
908
909 // window
910 wxHT_WINDOW_OUTSIDE, // not in this window at all
911 wxHT_WINDOW_INSIDE, // in the client area
912 wxHT_WINDOW_VERT_SCROLLBAR, // on the vertical scrollbar
913 wxHT_WINDOW_HORZ_SCROLLBAR, // on the horizontal scrollbar
914 wxHT_WINDOW_CORNER, // on the corner between 2 scrollbars
915
916 wxHT_MAX
917};
918
919
3ef86e32
RD
920%{
921#if ! wxUSE_HOTKEY
922enum wxHotkeyModifier
923{
924 wxMOD_NONE = 0,
925 wxMOD_ALT = 1,
926 wxMOD_CONTROL = 2,
927 wxMOD_SHIFT = 4,
928 wxMOD_WIN = 8
929};
930#define wxEVT_HOTKEY 9999
931#endif
932%}
933
934enum wxHotkeyModifier
935{
936 wxMOD_NONE = 0,
937 wxMOD_ALT = 1,
938 wxMOD_CONTROL = 2,
939 wxMOD_SHIFT = 4,
940 wxMOD_WIN = 8
941};
942
943
944enum wxUpdateUI
945{
946 wxUPDATE_UI_NONE = 0x0000,
947 wxUPDATE_UI_RECURSE = 0x0001,
948 wxUPDATE_UI_FROMIDLE = 0x0002 // Invoked from On(Internal)Idle
949};
950
951
23bed520 952
7bf85405
RD
953//---------------------------------------------------------------------------
954