]> git.saurik.com Git - wxWidgets.git/blame - wxPython/src/_defs.i
Since the wxPyMake_wxObject typemap is also used for constructors we
[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
d14a1e28 549 wxID_HIGHEST,
dd9f7fea 550
7bf85405
RD
551 wxOPEN,
552 wxSAVE,
553 wxHIDE_READONLY,
554 wxOVERWRITE_PROMPT,
2abc0a0f 555 wxFILE_MUST_EXIST,
f6bcfd97 556 wxMULTIPLE,
1b62f00d 557 wxCHANGE_DIR,
7bf85405
RD
558
559 wxACCEL_ALT,
560 wxACCEL_CTRL,
561 wxACCEL_SHIFT,
f6bcfd97 562 wxACCEL_NORMAL,
bb0054cd
RD
563
564 wxPD_AUTO_HIDE,
565 wxPD_APP_MODAL,
566 wxPD_CAN_ABORT,
a08cbc01
RD
567 wxPD_ELAPSED_TIME,
568 wxPD_ESTIMATED_TIME,
569 wxPD_REMAINING_TIME,
bb0054cd 570
7cdaed0b 571 wxDD_NEW_DIR_BUTTON,
daa3eac9 572 wxDD_DEFAULT_STYLE,
7cdaed0b 573
8bf5d46e 574 wxMENU_TEAROFF,
1afc06c2 575 wxMB_DOCKABLE,
8bf5d46e 576 wxNO_FULL_REPAINT_ON_RESIZE,
6a8b9da4
RD
577 wxFULL_REPAINT_ON_RESIZE,
578
1afc06c2
RD
579 wxLI_HORIZONTAL,
580 wxLI_VERTICAL,
581
d1679124 582 wxWS_EX_VALIDATE_RECURSIVELY,
0122b7e3 583 wxWS_EX_BLOCK_EVENTS,
78e8819c 584 wxWS_EX_TRANSIENT,
ecc08ead 585
3ef86e32
RD
586 wxWS_EX_THEMED_BACKGROUND,
587 wxWS_EX_PROCESS_IDLE,
588 wxWS_EX_PROCESS_UI_UPDATES,
589
590
ecc08ead
RD
591 // Mapping modes (as per Windows)
592 wxMM_TEXT,
593 wxMM_LOMETRIC,
594 wxMM_HIMETRIC,
595 wxMM_LOENGLISH,
596 wxMM_HIENGLISH,
597 wxMM_TWIPS,
598 wxMM_ISOTROPIC,
599 wxMM_ANISOTROPIC,
600 wxMM_POINTS,
601 wxMM_METRIC,
602
3eb221f6 603
1e4a197e
RD
604 // It looks like wxTabCtrl may rise from the dead. Uncomment these if
605 // it gets an implementation for all platforms...
606// wxTC_RIGHTJUSTIFY,
607// wxTC_FIXEDWIDTH,
608// wxTC_TOP,
609// wxTC_LEFT,
610// wxTC_RIGHT,
611// wxTC_BOTTOM,
612// wxTC_MULTILINE,
613// wxTC_OWNERDRAW,
614
7bf85405
RD
615};
616
617
69d81895
RD
618#ifdef __WXGTK__
619#define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP|wxFULL_REPAINT_ON_RESIZE
620#else
621#define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP
622#endif
623
624
d14a1e28
RD
625
626enum wxGeometryCentre
627{
628 wxCENTRE = 0x0001,
629 wxCENTER = wxCENTRE
630};
631
632
633enum wxOrientation
634{
635 wxHORIZONTAL,
636 wxVERTICAL,
637 wxBOTH
638};
639
640enum wxDirection
641{
642 wxLEFT,
643 wxRIGHT,
644 wxUP,
645 wxDOWN,
646
647 wxTOP,
648 wxBOTTOM,
649
650 wxNORTH,
651 wxSOUTH,
652 wxWEST,
653 wxEAST,
654
655 wxALL
656};
657
658enum wxAlignment
659{
660 wxALIGN_NOT,
661 wxALIGN_CENTER_HORIZONTAL,
662 wxALIGN_CENTRE_HORIZONTAL,
663 wxALIGN_LEFT,
664 wxALIGN_TOP,
665 wxALIGN_RIGHT,
666 wxALIGN_BOTTOM,
667 wxALIGN_CENTER_VERTICAL,
668 wxALIGN_CENTRE_VERTICAL,
669
670 wxALIGN_CENTER,
671 wxALIGN_CENTRE,
672
673 wxALIGN_MASK,
674};
675
676enum wxStretch
677{
678 wxSTRETCH_NOT,
679 wxSHRINK,
680 wxGROW,
681 wxEXPAND,
682 wxSHAPED,
f52e0cf4 683 wxFIXED_MINSIZE,
d14a1e28 684 wxTILE,
33e10b88 685 wxADJUST_MINSIZE,
d14a1e28
RD
686};
687
688
ebf4302c
RD
689enum wxBorder
690{
691 wxBORDER_DEFAULT,
692 wxBORDER_NONE,
693 wxBORDER_STATIC,
694 wxBORDER_SIMPLE,
695 wxBORDER_RAISED,
696 wxBORDER_SUNKEN,
697 wxBORDER_DOUBLE,
698 wxBORDER_MASK,
699};
700
701
7bf85405
RD
702enum {
703 wxDEFAULT ,
704 wxDECORATIVE,
705 wxROMAN,
706 wxSCRIPT,
707 wxSWISS,
708 wxMODERN,
709 wxTELETYPE,
710 wxVARIABLE,
711 wxFIXED,
712 wxNORMAL,
713 wxLIGHT,
714 wxBOLD,
715 wxITALIC,
716 wxSLANT,
717 wxSOLID,
718 wxDOT,
719 wxLONG_DASH,
720 wxSHORT_DASH,
721 wxDOT_DASH,
722 wxUSER_DASH,
723 wxTRANSPARENT,
724 wxSTIPPLE,
725 wxBDIAGONAL_HATCH,
726 wxCROSSDIAG_HATCH,
727 wxFDIAGONAL_HATCH,
728 wxCROSS_HATCH,
729 wxHORIZONTAL_HATCH,
730 wxVERTICAL_HATCH,
731 wxJOIN_BEVEL,
732 wxJOIN_MITER,
733 wxJOIN_ROUND,
734 wxCAP_ROUND,
735 wxCAP_PROJECTING,
736 wxCAP_BUTT
737};
738
739typedef enum {
740 wxCLEAR, // 0
741 wxXOR, // src XOR dst
742 wxINVERT, // NOT dst
743 wxOR_REVERSE, // src OR (NOT dst)
744 wxAND_REVERSE,// src AND (NOT dst)
745 wxCOPY, // src
746 wxAND, // src AND dst
747 wxAND_INVERT, // (NOT src) AND dst
748 wxNO_OP, // dst
749 wxNOR, // (NOT src) AND (NOT dst)
750 wxEQUIV, // (NOT src) XOR dst
751 wxSRC_INVERT, // (NOT src)
752 wxOR_INVERT, // (NOT src) OR dst
753 wxNAND, // (NOT src) OR (NOT dst)
754 wxOR, // src OR dst
755 wxSET, // 1
26b9cf27
RD
756// wxSRC_OR, // source _bitmap_ OR destination
757// wxSRC_AND // source _bitmap_ AND destination
7bf85405
RD
758} form_ops_t;
759
65fe3842
RD
760enum wxKeyCode {
761 WXK_BACK = 8,
762 WXK_TAB = 9,
763 WXK_RETURN = 13,
764 WXK_ESCAPE = 27,
765 WXK_SPACE = 32,
766 WXK_DELETE = 127,
767
768 WXK_START = 300,
769 WXK_LBUTTON,
770 WXK_RBUTTON,
771 WXK_CANCEL,
772 WXK_MBUTTON,
773 WXK_CLEAR,
774 WXK_SHIFT,
775 WXK_ALT,
776 WXK_CONTROL,
777 WXK_MENU,
778 WXK_PAUSE,
779 WXK_CAPITAL,
780 WXK_PRIOR, /* Page up */
781 WXK_NEXT, /* Page down */
782 WXK_END,
783 WXK_HOME,
784 WXK_LEFT,
785 WXK_UP,
786 WXK_RIGHT,
787 WXK_DOWN,
788 WXK_SELECT,
789 WXK_PRINT,
790 WXK_EXECUTE,
791 WXK_SNAPSHOT,
792 WXK_INSERT,
793 WXK_HELP,
794 WXK_NUMPAD0,
795 WXK_NUMPAD1,
796 WXK_NUMPAD2,
797 WXK_NUMPAD3,
798 WXK_NUMPAD4,
799 WXK_NUMPAD5,
800 WXK_NUMPAD6,
801 WXK_NUMPAD7,
802 WXK_NUMPAD8,
803 WXK_NUMPAD9,
804 WXK_MULTIPLY,
805 WXK_ADD,
806 WXK_SEPARATOR,
807 WXK_SUBTRACT,
808 WXK_DECIMAL,
809 WXK_DIVIDE,
810 WXK_F1,
811 WXK_F2,
812 WXK_F3,
813 WXK_F4,
814 WXK_F5,
815 WXK_F6,
816 WXK_F7,
817 WXK_F8,
818 WXK_F9,
819 WXK_F10,
820 WXK_F11,
821 WXK_F12,
822 WXK_F13,
823 WXK_F14,
824 WXK_F15,
825 WXK_F16,
826 WXK_F17,
827 WXK_F18,
828 WXK_F19,
829 WXK_F20,
830 WXK_F21,
831 WXK_F22,
832 WXK_F23,
833 WXK_F24,
834 WXK_NUMLOCK,
835 WXK_SCROLL,
836 WXK_PAGEUP,
837 WXK_PAGEDOWN,
838
839 WXK_NUMPAD_SPACE,
840 WXK_NUMPAD_TAB,
841 WXK_NUMPAD_ENTER,
842 WXK_NUMPAD_F1,
843 WXK_NUMPAD_F2,
844 WXK_NUMPAD_F3,
845 WXK_NUMPAD_F4,
846 WXK_NUMPAD_HOME,
847 WXK_NUMPAD_LEFT,
848 WXK_NUMPAD_UP,
849 WXK_NUMPAD_RIGHT,
850 WXK_NUMPAD_DOWN,
851 WXK_NUMPAD_PRIOR,
852 WXK_NUMPAD_PAGEUP,
853 WXK_NUMPAD_NEXT,
854 WXK_NUMPAD_PAGEDOWN,
855 WXK_NUMPAD_END,
856 WXK_NUMPAD_BEGIN,
857 WXK_NUMPAD_INSERT,
858 WXK_NUMPAD_DELETE,
859 WXK_NUMPAD_EQUAL,
860 WXK_NUMPAD_MULTIPLY,
861 WXK_NUMPAD_ADD,
862 WXK_NUMPAD_SEPARATOR,
863 WXK_NUMPAD_SUBTRACT,
864 WXK_NUMPAD_DECIMAL,
9cbf6f6e
RD
865 WXK_NUMPAD_DIVIDE,
866
867 WXK_WINDOWS_LEFT,
868 WXK_WINDOWS_RIGHT,
869 WXK_WINDOWS_MENU
65fe3842 870
7bf85405
RD
871};
872
0a651eb8 873
cf694132
RD
874
875typedef enum {
876 wxPAPER_NONE, // Use specific dimensions
877 wxPAPER_LETTER, // Letter, 8 1/2 by 11 inches
878 wxPAPER_LEGAL, // Legal, 8 1/2 by 14 inches
879 wxPAPER_A4, // A4 Sheet, 210 by 297 millimeters
880 wxPAPER_CSHEET, // C Sheet, 17 by 22 inches
881 wxPAPER_DSHEET, // D Sheet, 22 by 34 inches
882 wxPAPER_ESHEET, // E Sheet, 34 by 44 inches
883 wxPAPER_LETTERSMALL, // Letter Small, 8 1/2 by 11 inches
884 wxPAPER_TABLOID, // Tabloid, 11 by 17 inches
885 wxPAPER_LEDGER, // Ledger, 17 by 11 inches
886 wxPAPER_STATEMENT, // Statement, 5 1/2 by 8 1/2 inches
887 wxPAPER_EXECUTIVE, // Executive, 7 1/4 by 10 1/2 inches
888 wxPAPER_A3, // A3 sheet, 297 by 420 millimeters
889 wxPAPER_A4SMALL, // A4 small sheet, 210 by 297 millimeters
890 wxPAPER_A5, // A5 sheet, 148 by 210 millimeters
891 wxPAPER_B4, // B4 sheet, 250 by 354 millimeters
892 wxPAPER_B5, // B5 sheet, 182-by-257-millimeter paper
893 wxPAPER_FOLIO, // Folio, 8-1/2-by-13-inch paper
894 wxPAPER_QUARTO, // Quarto, 215-by-275-millimeter paper
895 wxPAPER_10X14, // 10-by-14-inch sheet
896 wxPAPER_11X17, // 11-by-17-inch sheet
897 wxPAPER_NOTE, // Note, 8 1/2 by 11 inches
898 wxPAPER_ENV_9, // #9 Envelope, 3 7/8 by 8 7/8 inches
899 wxPAPER_ENV_10, // #10 Envelope, 4 1/8 by 9 1/2 inches
900 wxPAPER_ENV_11, // #11 Envelope, 4 1/2 by 10 3/8 inches
901 wxPAPER_ENV_12, // #12 Envelope, 4 3/4 by 11 inches
902 wxPAPER_ENV_14, // #14 Envelope, 5 by 11 1/2 inches
903 wxPAPER_ENV_DL, // DL Envelope, 110 by 220 millimeters
904 wxPAPER_ENV_C5, // C5 Envelope, 162 by 229 millimeters
905 wxPAPER_ENV_C3, // C3 Envelope, 324 by 458 millimeters
906 wxPAPER_ENV_C4, // C4 Envelope, 229 by 324 millimeters
907 wxPAPER_ENV_C6, // C6 Envelope, 114 by 162 millimeters
908 wxPAPER_ENV_C65, // C65 Envelope, 114 by 229 millimeters
909 wxPAPER_ENV_B4, // B4 Envelope, 250 by 353 millimeters
910 wxPAPER_ENV_B5, // B5 Envelope, 176 by 250 millimeters
911 wxPAPER_ENV_B6, // B6 Envelope, 176 by 125 millimeters
912 wxPAPER_ENV_ITALY, // Italy Envelope, 110 by 230 millimeters
913 wxPAPER_ENV_MONARCH, // Monarch Envelope, 3 7/8 by 7 1/2 inches
914 wxPAPER_ENV_PERSONAL, // 6 3/4 Envelope, 3 5/8 by 6 1/2 inches
915 wxPAPER_FANFOLD_US, // US Std Fanfold, 14 7/8 by 11 inches
916 wxPAPER_FANFOLD_STD_GERMAN, // German Std Fanfold, 8 1/2 by 12 inches
917 wxPAPER_FANFOLD_LGL_GERMAN, // German Legal Fanfold, 8 1/2 by 13 inches
918
919 wxPAPER_ISO_B4, // B4 (ISO) 250 x 353 mm
920 wxPAPER_JAPANESE_POSTCARD, // Japanese Postcard 100 x 148 mm
921 wxPAPER_9X11, // 9 x 11 in
922 wxPAPER_10X11, // 10 x 11 in
923 wxPAPER_15X11, // 15 x 11 in
924 wxPAPER_ENV_INVITE, // Envelope Invite 220 x 220 mm
925 wxPAPER_LETTER_EXTRA, // Letter Extra 9 \275 x 12 in
926 wxPAPER_LEGAL_EXTRA, // Legal Extra 9 \275 x 15 in
927 wxPAPER_TABLOID_EXTRA, // Tabloid Extra 11.69 x 18 in
928 wxPAPER_A4_EXTRA, // A4 Extra 9.27 x 12.69 in
929 wxPAPER_LETTER_TRANSVERSE, // Letter Transverse 8 \275 x 11 in
930 wxPAPER_A4_TRANSVERSE, // A4 Transverse 210 x 297 mm
931 wxPAPER_LETTER_EXTRA_TRANSVERSE, // Letter Extra Transverse 9\275 x 12 in
932 wxPAPER_A_PLUS, // SuperA/SuperA/A4 227 x 356 mm
933 wxPAPER_B_PLUS, // SuperB/SuperB/A3 305 x 487 mm
934 wxPAPER_LETTER_PLUS, // Letter Plus 8.5 x 12.69 in
935 wxPAPER_A4_PLUS, // A4 Plus 210 x 330 mm
936 wxPAPER_A5_TRANSVERSE, // A5 Transverse 148 x 210 mm
937 wxPAPER_B5_TRANSVERSE, // B5 (JIS) Transverse 182 x 257 mm
938 wxPAPER_A3_EXTRA, // A3 Extra 322 x 445 mm
939 wxPAPER_A5_EXTRA, // A5 Extra 174 x 235 mm
940 wxPAPER_B5_EXTRA, // B5 (ISO) Extra 201 x 276 mm
941 wxPAPER_A2, // A2 420 x 594 mm
942 wxPAPER_A3_TRANSVERSE, // A3 Transverse 297 x 420 mm
943 wxPAPER_A3_EXTRA_TRANSVERSE // A3 Extra Transverse 322 x 445 mm
944
945} wxPaperSize ;
946
bb0054cd
RD
947typedef enum {
948 wxDUPLEX_SIMPLEX, // Non-duplex
949 wxDUPLEX_HORIZONTAL,
950 wxDUPLEX_VERTICAL
951} wxDuplexMode;
952
cf694132
RD
953
954
e9159fe8
RD
955// menu and toolbar item kinds
956enum wxItemKind
957{
addd64ee 958 wxITEM_SEPARATOR,
546bfbea
VS
959 wxITEM_NORMAL,
960 wxITEM_CHECK,
961 wxITEM_RADIO,
962 wxITEM_MAX
e9159fe8
RD
963};
964
64e8a1f0 965
23bed520
RD
966enum wxHitTest
967{
968 wxHT_NOWHERE,
969
970 // scrollbar
971 wxHT_SCROLLBAR_FIRST = wxHT_NOWHERE,
972 wxHT_SCROLLBAR_ARROW_LINE_1, // left or upper arrow to scroll by line
973 wxHT_SCROLLBAR_ARROW_LINE_2, // right or down
974 wxHT_SCROLLBAR_ARROW_PAGE_1, // left or upper arrow to scroll by page
975 wxHT_SCROLLBAR_ARROW_PAGE_2, // right or down
976 wxHT_SCROLLBAR_THUMB, // on the thumb
977 wxHT_SCROLLBAR_BAR_1, // bar to the left/above the thumb
978 wxHT_SCROLLBAR_BAR_2, // bar to the right/below the thumb
979 wxHT_SCROLLBAR_LAST,
980
981 // window
982 wxHT_WINDOW_OUTSIDE, // not in this window at all
983 wxHT_WINDOW_INSIDE, // in the client area
984 wxHT_WINDOW_VERT_SCROLLBAR, // on the vertical scrollbar
985 wxHT_WINDOW_HORZ_SCROLLBAR, // on the horizontal scrollbar
986 wxHT_WINDOW_CORNER, // on the corner between 2 scrollbars
987
988 wxHT_MAX
989};
990
991
3ef86e32
RD
992%{
993#if ! wxUSE_HOTKEY
994enum wxHotkeyModifier
995{
996 wxMOD_NONE = 0,
997 wxMOD_ALT = 1,
998 wxMOD_CONTROL = 2,
999 wxMOD_SHIFT = 4,
1000 wxMOD_WIN = 8
1001};
1002#define wxEVT_HOTKEY 9999
1003#endif
1004%}
1005
1006enum wxHotkeyModifier
1007{
1008 wxMOD_NONE = 0,
1009 wxMOD_ALT = 1,
1010 wxMOD_CONTROL = 2,
1011 wxMOD_SHIFT = 4,
1012 wxMOD_WIN = 8
1013};
1014
1015
1016enum wxUpdateUI
1017{
1018 wxUPDATE_UI_NONE = 0x0000,
1019 wxUPDATE_UI_RECURSE = 0x0001,
1020 wxUPDATE_UI_FROMIDLE = 0x0002 // Invoked from On(Internal)Idle
1021};
1022
1023
23bed520 1024
7bf85405
RD
1025//---------------------------------------------------------------------------
1026