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