Add libwx-perl
[pkg-perl] / deb-src / libwx-perl / libwx-perl-0.96 / Constant.c
1 /*
2  * This file was generated automatically by ExtUtils::ParseXS version 2.2202 from the
3  * contents of Constant.xs. Do not edit this file, edit Constant.xs instead.
4  *
5  *      ANY CHANGES MADE HERE WILL BE LOST! 
6  *
7  */
8
9 /////////////////////////////////////////////////////////////////////////////
10 // Name:        Constant.xs
11 // Purpose:     defines the constant() and SetConstants() functions
12 // Author:      Mattia Barbon
13 // Modified by:
14 // Created:     29/10/2000
15 // RCS-ID:      $Id: Constant.xs 2715 2009-12-25 17:23:03Z mbarbon $
16 // Copyright:   (c) 2000-2009 Mattia Barbon
17 // Licence:     This program is free software; you can redistribute it and/or
18 //              modify it under the same terms as Perl itself
19 /////////////////////////////////////////////////////////////////////////////
20
21 #undef bool
22 #define PERL_NO_GET_CONTEXT
23 #define WXINTL_NO_GETTEXT_MACRO 1
24
25 #ifdef __WXWINCE__
26 #include <time.h> // must see struct tm early
27 #endif
28
29 #include <wx/defs.h>
30
31 #include <wx/filedlg.h>
32 #include <wx/colordlg.h>
33 #include <wx/textdlg.h>
34 #include <wx/checkbox.h>
35 #include <wx/choicdlg.h>
36 #include <wx/msgdlg.h>
37 #include <wx/gdicmn.h>
38 #include <wx/bitmap.h>
39 #include <wx/intl.h>
40 #include <wx/icon.h>
41 #include <wx/imaglist.h>
42 #include <wx/notebook.h>
43 #include <wx/dialup.h>
44 #include <wx/process.h>
45 #include <wx/pen.h>
46 #include <wx/brush.h>
47 #include <wx/layout.h>
48 #include <wx/splitter.h>
49 #include <wx/sashwin.h>
50 #include <wx/textctrl.h>
51 #include <wx/settings.h>
52 #include <wx/button.h>
53 #include <wx/dataobj.h>
54 #include <wx/clipbrd.h>
55 #include <wx/confbase.h>
56 #include <wx/image.h>
57 #include <wx/sizer.h>
58 #include <wx/toolbar.h>
59 #include <wx/gauge.h>
60 #include <wx/slider.h>
61 #if defined(__WXMSW__) || defined(wxHAS_TASK_BAR_ICON)
62 #include <wx/taskbar.h>
63 #endif
64 #include <wx/process.h>
65 #include <wx/wizard.h>
66 #include <wx/filefn.h>
67 #include <wx/dirdlg.h>
68 #include <wx/statusbr.h>
69 #include <wx/dcbuffer.h>
70 #include <wx/progdlg.h>
71 #include <wx/tglbtn.h>
72 #include <wx/timer.h>
73 #include <wx/splash.h>
74 #include <wx/fdrepdlg.h>
75 #include <wx/list.h>
76 #include <wx/stattext.h>
77 #include <wx/dirctrl.h>
78 #include <wx/spinctrl.h>
79
80 #include "cpp/wxapi.h"
81 #include "cpp/setup.h"
82
83 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
84 #include <wx/listbook.h>
85 #include <wx/sound.h>
86 #endif
87 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
88 #include <wx/choicebk.h>
89 #include <wx/htmllbox.h>
90 #endif
91 #if WXPERL_W_VERSION_GE( 2, 5, 4 )
92 #include <wx/mediactrl.h>
93 #endif
94 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
95 #include <wx/propdlg.h>
96 #endif
97 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
98 #include <wx/power.h>
99 #include <wx/toolbook.h>
100 #include <wx/treebook.h>
101 #include <wx/hyperlink.h>
102 #ifdef __WXGTK20__
103   #define __WXGTK20__DEFINED
104   #undef __WXGTK20__
105 #endif
106 #include <wx/stockitem.h>
107 #ifdef __WXGTK20__DEFINED
108   #define __WXGTK20__
109 #endif
110 #include <wx/pickerbase.h>
111 #include <wx/clrpicker.h>
112 #include <wx/filepicker.h>
113 #include <wx/fontpicker.h>
114 #endif
115 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
116 #include <wx/combo.h>
117 #include <wx/odcombo.h>
118 #include <wx/collpane.h>
119 #include <wx/animate.h>
120 #endif
121 #if WXPERL_W_VERSION_GE( 2, 8, 3 )
122 #include <wx/srchctrl.h>
123 #endif
124 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
125 #include <wx/editlbox.h>
126 #include <wx/filectrl.h>
127 #include <wx/wrapsizer.h>
128 #endif
129
130 #if WXPERL_W_VERSION_GE( 2, 7, 0 ) && !WXWIN_COMPATIBILITY_2_6
131 #define wxCHB_DEFAULT         wxBK_DEFAULT
132 #define wxCHB_TOP             wxBK_TOP
133 #define wxCHB_BOTTOM          wxBK_BOTTOM
134 #define wxCHB_LEFT            wxBK_LEFT
135 #define wxCHB_RIGHT           wxBK_RIGHT
136 #define wxCHB_ALIGN_MASK      wxBK_ALIGN_MASK
137 #define wxLB_DEFAULT          wxBK_DEFAULT
138 #define wxLB_TOP              wxBK_TOP
139 #define wxLB_BOTTOM           wxBK_BOTTOM
140 #define wxLB_LEFT             wxBK_LEFT
141 #define wxLB_RIGHT            wxBK_RIGHT
142 #define wxLB_ALIGN_MASK       wxBK_ALIGN_MASK
143 #define wxNB_DEFAULT          wxBK_DEFAULT
144 #define wxNB_TOP              wxBK_TOP
145 #define wxNB_BOTTOM           wxBK_BOTTOM
146 #define wxNB_LEFT             wxBK_LEFT
147 #define wxNB_RIGHT            wxBK_RIGHT
148 #define wxNB_HITTEST_NOWHERE  wxBK_HITTEST_NOWHERE
149 #define wxNB_HITTEST_ONICON   wxBK_HITTEST_ONICON
150 #define wxNB_HITTEST_ONLABEL  wxBK_HITTEST_ONLABEL
151 #define wxNB_HITTEST_ONITEM   wxBK_HITTEST_ONITEM
152 #endif
153
154 #if WXPERL_W_VERSION_LT( 2, 7, 0 )
155 #define wxFD_OPEN wxOPEN
156 #define wxFD_SAVE wxSAVE
157 #define wxFD_OVERWRITE_PROMPT wxOVERWRITE_PROMPT
158 #define wxFD_FILE_MUST_EXIST wxFILE_MUST_EXIST
159 #define wxFD_MULTIPLE wxMULTIPLE
160 #define wxFD_CHANGE_DIR wxCHANGE_DIR
161 #endif
162
163 #if WXPERL_W_VERSION_LT( 2, 6, 0 )
164 #define wxDEFAULT_CONTROL_BORDER wxBORDER_SUNKEN
165 #endif
166
167 #if WXPERL_W_VERSION_LT( 2, 9, 0 )
168 #define wxBORDER_THEME wxBORDER_DEFAULT
169 #define wxBRUSHSTYLE_INVALID -1
170 #define wxBRUSHSTYLE_SOLID wxSOLID
171 #define wxBRUSHSTYLE_TRANSPARENT wxTRANSPARENT
172 #define wxBRUSHSTYLE_STIPPLE_MASK_OPAQUE wxSTIPPLE_MASK_OPAQUE
173 #define wxBRUSHSTYLE_STIPPLE_MASK wxSTIPPLE_MASK
174 #define wxBRUSHSTYLE_STIPPLE wxSTIPPLE
175 #define wxBRUSHSTYLE_BDIAGONAL_HATCH wxBDIAGONAL_HATCH
176 #define wxBRUSHSTYLE_CROSSDIAG_HATCH wxCROSSDIAG_HATCH
177 #define wxBRUSHSTYLE_FDIAGONAL_HATCH wxFDIAGONAL_HATCH
178 #define wxBRUSHSTYLE_CROSS_HATCH wxCROSS_HATCH
179 #define wxBRUSHSTYLE_HORIZONTAL_HATCH wxHORIZONTAL_HATCH
180 #define wxBRUSHSTYLE_VERTICAL_HATCH wxVERTICAL_HATCH
181 #define wxBRUSHSTYLE_FIRST_HATCH wxFIRST_HATCH
182 #define wxBRUSHSTYLE_LAST_HATCH wxLAST_HATCH
183 #define wxPENSTYLE_INVALID -1
184 #define wxPENSTYLE_SOLID wxSOLID
185 #define wxPENSTYLE_DOT wxDOT
186 #define wxPENSTYLE_LONG_DASH wxLONG_DASH
187 #define wxPENSTYLE_SHORT_DASH wxSHORT_DASH
188 #define wxPENSTYLE_DOT_DASH wxDOT_DASH
189 #define wxPENSTYLE_USER_DASH wxUSER_DASH
190 #define wxPENSTYLE_TRANSPARENT wxTRANSPARENT
191 #define wxPENSTYLE_STIPPLE_MASK_OPAQUE wxSTIPPLE_MASK_OPAQUE
192 #define wxPENSTYLE_STIPPLE_MASK wxSTIPPLE_MASK
193 #define wxPENSTYLE_STIPPLE wxSTIPPLE
194 #define wxPENSTYLE_BDIAGONAL_HATCH wxBDIAGONAL_HATCH
195 #define wxPENSTYLE_CROSSDIAG_HATCH wxCROSSDIAG_HATCH
196 #define wxPENSTYLE_FDIAGONAL_HATCH wxFDIAGONAL_HATCH
197 #define wxPENSTYLE_CROSS_HATCH wxCROSS_HATCH
198 #define wxPENSTYLE_HORIZONTAL_HATCH wxHORIZONTAL_HATCH
199 #define wxPENSTYLE_VERTICAL_HATCH wxVERTICAL_HATCH
200 #define wxPENSTYLE_FIRST_HATCH wxFIRST_HATCH
201 #define wxPENSTYLE_LAST_HATCH wxLAST_HATCH
202 #endif
203
204 #define wxNavigateBackward  wxNavigationKeyEvent::IsBackward
205 #define wxNavigateForward   wxNavigationKeyEvent::IsForward
206 #define wxNavigateWinChange wxNavigationKeyEvent::WinChange
207 #define wxNavigateFromTab   wxNavigationKeyEvent::FromTab
208
209 //////////////////////////////////////////////////////////////////////////////
210 // implementation for wxPlConstantsModule OnInit/OnExit
211 //////////////////////////////////////////////////////////////////////////////
212
213 #include "cpp/constants.h"
214 #include <wx/listimpl.cpp>
215
216 WX_DECLARE_LIST( PL_CONST_FUNC, wxPlConstantFunctions );
217 WX_DEFINE_LIST( wxPlConstantFunctions );
218
219 static wxPlConstantFunctions& s_functions()
220 {
221     static wxPlConstantFunctions* var = new wxPlConstantFunctions;
222
223     return *var;
224 }
225
226 void wxPli_add_constant_function( double (**f)( const char*, int ) )
227 {
228     s_functions().Append( f );
229 }
230
231 void wxPli_remove_constant_function( double (**f)( const char*, int ) )
232 {
233     s_functions().DeleteObject( f );
234 }
235
236 //////////////////////////////////////////////////////////////////////////////
237 // descriptor for all event macros
238 //////////////////////////////////////////////////////////////////////////////
239
240 // event macros
241 #define SEVT( NAME, ARGS )    wxPli_StdEvent( NAME, ARGS )
242 #define EVT( NAME, ARGS, ID ) wxPli_Event( NAME, ARGS, ID )
243 #define DEVT( NAME )          wxPli_Event( NAME, 0, 0 )
244
245 // !package: Wx::Event
246 // !tag:
247 // !parser: sub { $_[0] =~ m<^\s*S?EVT\(\s*(\w+)\s*\,> }
248
249 static wxPliEventDescription evts[] =
250 {
251     EVT( EVT_COMMAND, 4, -1 )
252     SEVT( EVT_TIMER, 3 )
253     SEVT( EVT_WIZARD_PAGE_CHANGED, 3 )
254     SEVT( EVT_WIZARD_PAGE_CHANGING, 3 )
255     SEVT( EVT_WIZARD_CANCEL, 3 )
256     SEVT( EVT_WIZARD_HELP, 3 )
257     SEVT( EVT_CHILD_FOCUS, 2 )
258     SEVT( EVT_WIZARD_FINISHED, 3 )
259     SEVT( EVT_ICONIZE, 2 )
260     SEVT( EVT_MAXIMIZE, 2 )
261 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
262     SEVT( EVT_MOUSE_CAPTURE_CHANGED, 2 )
263 #endif
264     SEVT( EVT_CREATE, 3 )
265     SEVT( EVT_DESTROY, 3 )
266     EVT( EVT_WINDOW_CREATE, 3, wxEVT_CREATE )
267     EVT( EVT_WINDOW_DESTROY, 3, wxEVT_DESTROY )
268 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
269     SEVT( EVT_MOUSE_CAPTURE_LOST, 2 )
270     SEVT( EVT_SET_CURSOR, 2 )
271     EVT( EVT_COLOURPICKER_CHANGED, 3, wxEVT_COMMAND_COLOURPICKER_CHANGED )
272     EVT( EVT_FILEPICKER_CHANGED, 3, wxEVT_COMMAND_FILEPICKER_CHANGED )
273     EVT( EVT_DIRPICKER_CHANGED, 3, wxEVT_COMMAND_DIRPICKER_CHANGED )
274     EVT( EVT_FONTPICKER_CHANGED, 3, wxEVT_COMMAND_FONTPICKER_CHANGED )
275 #endif
276     EVT( EVT_MENU_HIGHLIGHT_ALL, 2, wxEVT_MENU_HIGHLIGHT )
277 #if defined(__WXMSW__) && WXPERL_W_VERSION_GE( 2, 8, 0 )
278     EVT( EVT_TREE_STATE_IMAGE_CLICK, 3, wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK )
279     EVT( EVT_TREE_ITEM_GETTOOLTIP, 3, wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP )
280 #endif
281     SEVT( EVT_TASKBAR_MOVE, 2 )
282     SEVT( EVT_TASKBAR_LEFT_DOWN, 2 )
283     SEVT( EVT_TASKBAR_LEFT_UP, 2 )
284     SEVT( EVT_TASKBAR_RIGHT_DOWN, 2 )
285     SEVT( EVT_TASKBAR_RIGHT_UP, 2 )
286     SEVT( EVT_TASKBAR_LEFT_DCLICK, 2 )
287     SEVT( EVT_TASKBAR_RIGHT_DCLICK, 2 )
288 #if WXPERL_W_VERSION_GE( 2, 8, 3 )
289     SEVT( EVT_TASKBAR_CLICK, 2 )
290 #endif
291     SEVT( EVT_LEFT_DOWN, 2 )
292     SEVT( EVT_LEFT_UP, 2 )
293     SEVT( EVT_LEFT_DCLICK, 2 )
294     SEVT( EVT_MIDDLE_DOWN, 2 )
295     SEVT( EVT_MIDDLE_UP, 2 )
296     SEVT( EVT_MIDDLE_DCLICK, 2 )
297     SEVT( EVT_RIGHT_DOWN, 2 )
298     SEVT( EVT_RIGHT_UP, 2 )
299     SEVT( EVT_RIGHT_DCLICK, 2 )
300 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
301     SEVT( EVT_MOVE_START, 2 )
302     SEVT( EVT_MOVE_END, 2 )
303     SEVT( EVT_AUX1_DOWN, 2 )
304     SEVT( EVT_AUX1_UP, 2 )
305     SEVT( EVT_AUX1_DCLICK, 2 )
306     SEVT( EVT_AUX2_DOWN, 2 )
307     SEVT( EVT_AUX2_UP, 2 )
308     SEVT( EVT_AUX2_DCLICK, 2 )
309 #else
310     DEVT( EVT_AUX1_DOWN )
311     DEVT( EVT_AUX1_UP )
312     DEVT( EVT_AUX1_DCLICK )
313     DEVT( EVT_AUX2_DOWN )
314     DEVT( EVT_AUX2_UP )
315     DEVT( EVT_AUX2_DCLICK )
316 #endif
317 #if WXPERL_W_VERSION_GE( 2, 8, 3 )
318     EVT( EVT_SEARCHCTRL_CANCEL_BTN, 3, wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN )
319     EVT( EVT_SEARCHCTRL_SEARCH_BTN, 3, wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN )
320 #endif
321 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
322     EVT( EVT_COLLAPSIBLEPANE_CHANGED, 3, wxEVT_COMMAND_COLLPANE_CHANGED )
323     EVT( EVT_HYPERLINK, 3, wxEVT_COMMAND_HYPERLINK )
324 #endif
325 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
326     SEVT( EVT_FILECTRL_FILEACTIVATED, 3 )
327     SEVT( EVT_FILECTRL_SELECTIONCHANGED, 3 )
328     SEVT( EVT_FILECTRL_FOLDERCHANGED, 3 )
329 #endif
330     { 0, 0, 0 }
331 };
332
333 //////////////////////////////////////////////////////////////////////////////
334 // the inheritance tree
335 //////////////////////////////////////////////////////////////////////////////
336
337 struct wxPlINH
338 {
339     const char* klass;
340     const char* base;
341 };
342
343 #define I( class, base ) \
344     { "Wx::" #class, "Wx::" #base },
345
346 static wxPlINH inherit[] =
347 {
348     I( EvtHandler,      Object )
349     I( Window,          EvtHandler )
350     I( PopupWindow,     Window )
351     I( PopupTransientWindow, PopupWindow )
352     I( PlPopupTransientWindow, PopupTransientWindow )
353     I( Menu,            EvtHandler )
354     I( PlWindow,        Window )
355     I( PlControl,       Control )
356     I( MenuBar,         Window )
357     I( TopLevelWindow,  Window )
358     I( _App,            EvtHandler )
359     I( Panel,           Window )
360     I( Control,         Window )
361     I( Button,          Control )
362     I( BitmapButton,    Button )
363     I( TextCtrlBase,    Control )
364     I( TextCtrl,        TextCtrlBase )
365     I( StaticText,      Control )
366     I( CheckBox,        Control )
367     I( CheckListBox,    ListBox )
368     I( ControlWithItems,Control )
369     I( Choice,          ControlWithItems )
370     I( EditableListBox, Panel )
371     I( ListBox,         ControlWithItems )
372     I( VListBox,        VScrolledWindow )
373     I( PlVListBox,      VListBox )
374 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
375     I( BookCtrl,        Control )
376     I( Notebook,        BookCtrl )
377     I( Listbook,        BookCtrl )
378     I( Choicebook,      BookCtrl )
379     I( Treebook,        BookCtrl )
380     I( Toolbook,        BookCtrl )
381 #else
382     I( Notebook,        Control )
383 #endif
384     I( NumberEntryDialog, Dialog )
385     I( ToolBarBase,     Control )
386     I( ToolBarSimple,   Control )
387     I( StaticBitmap,    Control )
388     I( Gauge,           Control )
389     I( Gauge95,         Gauge )
390     I( Slider,          Control )
391     I( SpinCtrl,        Control )
392     I( GenericDirCtrl,  Control )
393 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
394     I( FileCtrl,        Control )
395 #endif
396     I( SpinButton,      Control )
397     I( SearchCtrl,      TextCtrl )
398     I( RadioBox,        Control )
399     I( RadioButton,     Control )
400     I( StaticLine,      Control )
401     I( StaticBox,       Control )
402     I( ScrollBar,       Control )
403     I( StatusBarGeneric,Window )
404     I( GenericScrolledWindow, Panel )
405 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
406     I( GenericTreeCtrl, Control )
407 #else
408     I( GenericTreeCtrl, ScrolledWindow )
409 #endif
410     I( MiniFrame,       Frame )
411     I( SplitterWindow,  Window )
412     I( SplashScreen,    Frame )
413     I( ListCtrl,        Control )
414     I( ListView,        ListCtrl )
415     I( SashWindow,      Window )
416     I( ToggleButton,    Control )
417     I( BitmapToggleButton, Control )
418     I( Wizard,          Dialog )
419     I( WizardPage,      Panel )
420     I( WizardPageSimple, WizardPage )
421 #if defined(__WXGTK__) && WXPERL_W_VERSION_GE( 2, 9, 0 )
422     I( GenericHyperlinkCtrl, Control )
423     I( HyperlinkCtrl,   GenericHyperlinkCtrl )
424 #else
425     I( HyperlinkCtrl,   Control )
426 #endif
427     I( NotificationMessage, EvtHandler )
428
429     I( ColourDialog,    Dialog )
430     I( GenericColourDialog, ColourDialog )
431     I( FindReplaceDialog, Dialog )
432     I( FontDialog,      Dialog )
433     I( GenericFontDialog, FontDialog )
434 #if defined(__WXGTK__) && WXPERL_W_VERSION_GE( 2, 7, 0 )
435     I( GenericDirDialog, Dialog )
436     I( DirDialog,       GenericDirDialog )
437 #else
438     I( DirDialog,       Dialog )
439 #endif
440 #if defined(__WXGTK__)
441     I( GenericFileDialog, Dialog )
442     I( FileDialog,      GenericFileDialog )
443 #else
444     I( FileDialog,      Dialog )
445 #endif
446     I( TextEntryDialog, Dialog )
447     I( PasswordEntryDialog, TextEntryDialog )
448     I( MessageDialog,   Dialog )
449     I( GenericMessageDialog, MessageDialog )
450     I( ProgressDialog,  Dialog )
451     I( SingleChoiceDialog, Dialog )
452     I( MultiChoiceDialog, Dialog )
453     I( PropertySheetDialog, Dialog )
454     I( AnimationCtrl,   Control )
455
456     I( Validator,       EvtHandler )
457     I( PlValidator,     Validator )
458
459 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
460     I( Animation,       GDIObject )
461 #endif
462     I( Font,            GDIObject )
463     I( Region,          GDIObject )
464     I( Bitmap,          GDIObject )
465     I( Brush,           GDIObject )
466     I( Pen,             GDIObject )
467     I( Palette,         GDIObject )
468
469     I( WindowDC,        DC )
470     I( ClientDC,        WindowDC )
471     I( BufferedDC,      MemoryDC )
472     I( BufferedPaintDC, BufferedDC )
473     I( SVGFileDC,       DC )
474     I( MirrorDC,        DC )
475
476     I( BMPHandler,      ImageHandler )
477     I( PNGHandler,      ImageHandler )
478     I( JPEGHandler,     ImageHandler )
479     I( GIFHandler,      ImageHandler )
480     I( PCXHandler,      ImageHandler )
481     I( PNMHandler,      ImageHandler )
482     I( TIFFHandler,     ImageHandler )
483     I( XPMHandler,      ImageHandler )
484     I( IFFHandler,      ImageHandler )
485     I( ICOHandler,      BMPHandler )
486     I( CURHandler,      ICOHandler )
487     I( ANIHandler,      CURHandler )
488     I( TGAHandler,      ImageHandler )
489
490     I( GraphicsContext, Object )
491     I( GraphicsRenderer, Object )
492     I( GraphicsObject,  Object )
493     I( GraphicsPath,    GraphicsObject )
494     I( GraphicsMatrix,  GraphicsObject )
495     I( GraphicsPen,     GraphicsObject )
496     I( GraphicsBrush,   GraphicsObject )
497     I( GraphicsFont,    GraphicsObject )
498 #ifdef __WXMSW__
499     I( GDIPlusContext,  GraphicsContext )
500 #endif
501
502     I( LogTextCtrl,     Log )
503     I( LogWindow,       Log )
504     I( LogGui,          Log )
505     I( PlLog,           Log )
506     I( LogChain,        Log )
507     I( LogPassThrough,  LogChain )
508     I( LogStderr,       Log )
509     I( PlLogPassThrough, LogPassThrough )
510
511     I( BoxSizer,        Sizer )
512     I( StaticBoxSizer,  BoxSizer )
513     I( GridSizer,       Sizer )
514     I( FlexGridSizer,   GridSizer )
515     I( GridBagSizer,    FlexGridSizer )
516 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
517     I( NotebookSizer,   BookCtrlSizer )
518 #else
519     I( NotebookSizer,   Sizer )
520 #endif
521     I( BookCtrlSizer,   Sizer )
522     I( PlSizer,         Sizer )
523     I( GBSizerItem,     SizerItem )
524     I( StdDialogButtonSizer, BoxSizer )
525     I( WrapSizer,       BoxSizer )
526
527     I( PickerBase,      Control )
528     I( ColourPickerCtrl,PickerBase )
529     I( FilePickerCtrl,  PickerBase )
530     I( DirPickerCtrl,   PickerBase )
531     I( FontPickerCtrl,  PickerBase )
532
533     I( ComboCtrlBase,   Control )
534 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
535     I( PlComboPopup,    ComboPopup )
536 #endif
537 #if WXPERL_W_VERSION_GE( 2, 7, 1 )
538     I( GenericComboCtrl,ComboCtrlBase )
539     I( ComboCtrl,       GenericComboCtrl )
540 #else
541     I( GenericComboControl,ComboCtrlBase )
542     I( ComboCtrl,       GenericComboControl )
543 #endif
544     I( OwnerDrawnComboBox, ComboCtrl )
545     I( PlOwnerDrawnComboBox, OwnerDrawnComboBox )
546 #if WXPERL_W_VERSION_GE( 2, 9, 0 ) \
547     && ( defined( __WXGTK__ ) || defined( __WXMSW__ ) )
548     I( BitmapComboBox,  ComboBox )
549 #else
550     I( BitmapComboBox,  OwnerDrawnComboBox )
551 #endif
552     I( GenericCollapsiblePane, Control )
553     I( CollapsiblePane, GenericCollapsiblePane )
554
555     I( TaskBarIcon,     EvtHandler )
556     I( Process,         EvtHandler )
557
558     { "Wx::Stream", "Tie::Handle" },
559     I( InputStream,     Stream )
560     I( OutputStream,    Stream )
561
562     ///////////////////////////////////////////
563     // Conditional part
564     ///////////////////////////////////////////
565 #define HAS_TLW    !defined(__WXMOTIF__) || WXPERL_W_VERSION_GE( 2, 5, 1 )
566
567 #if HAS_TLW
568     I( Frame,           TopLevelWindow )
569 #else
570     I( Frame,           Window )
571 #endif
572
573 #if HAS_TLW
574     I( Dialog,          TopLevelWindow )
575 #else
576     I( Dialog,          Panel )
577 #endif
578
579 #if defined(__WXMSW__)
580     I( MemoryDC,        DC )
581 #elif defined(__WXMAC__)
582     I( MemoryDC,        PaintDC )
583 #else
584     I( MemoryDC,        WindowDC )
585 #endif
586
587 #if defined(__WXMSW__) || defined(__WXGTK__) \
588     || ( defined(__WXMAC__) && WXPERL_W_VERSION_GE( 2, 9, 0 ) )
589     I( PaintDC,         ClientDC )
590 #else
591     I( PaintDC,         WindowDC )
592 #endif
593
594 #if defined(__WXGTK__)
595     I( ScreenDC,        PaintDC )
596 #else
597     I( ScreenDC,        WindowDC )
598 #endif
599
600 #if defined(__WXMSW__)
601     I( TreeCtrl,        Control )
602 #else
603     I( TreeCtrl,        GenericTreeCtrl )
604 #endif
605
606 #if ( defined( __WXGTK__ ) && WXPERL_W_VERSION_LT( 2, 9, 0 ) ) || \
607     ( defined( __WXMAC__ ) && WXPERL_W_VERSION_GE( 2, 5, 1 ) )
608     I( ComboBox,        Control )
609 #else
610     I( ComboBox,        Choice )
611 #endif
612
613     I( ScrolledWindow,  GenericScrolledWindow )
614     I( VScrolledWindow, Panel )
615 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
616     I( HScrolledWindow, Panel )
617     I( HVScrolledWindow,Panel )
618 #endif
619     I( PlVScrolledWindow,  VScrolledWindow )
620 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
621     I( PlHScrolledWindow,  HScrolledWindow )
622     I( PlHVScrolledWindow, HVScrolledWindow )
623 #endif
624
625 #if defined(__WXGTK__)
626     I( StatusBar,       StatusBarGeneric )
627 #else
628     I( StatusBar,       Window )
629 #endif
630
631 #if defined(__WXMOTIF__) && WXPERL_W_VERSION_GE( 2, 5, 1 )
632     // wxCursor inherits from wxObject
633 #elif defined(__WXMOTIF__) || defined(__WXMAC__)
634     I( Cursor,          Bitmap )
635 #elif !defined(__WXGTK__) || WXPERL_W_VERSION_GE( 2, 9, 0 )
636     I( Cursor,          GDIObject )
637 #endif
638
639 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
640     I( IconBundle,      GDIObject )
641 #endif
642
643 #if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__)
644     I( Icon,            Bitmap )
645 #else
646     I( Icon,            GDIObject )
647 #endif
648
649 #if defined(__WXGTK__)
650     I( Colour,          GDIObject )
651 #endif
652
653 #if defined(__WXUNIVERSAL__)
654     I( ToolBar,         ToolBarSimple )
655 #else
656     I( ToolBar,         ToolBarBase )
657 #endif
658
659     ///////////////////////////////////////////
660     // Events
661     ///////////////////////////////////////////
662     I( PlEvent,         Event )
663     I( PlThreadEvent,   Event )
664     I( PlCommandEvent,  CommandEvent )
665     I( ActivateEvent,   Event )
666     I( CommandEvent,    Event )
667     I( ContextMenuEvent, CommandEvent )
668     I( CloseEvent,      Event )
669     I( ChildFocusEvent, CommandEvent )
670     I( EraseEvent,      Event )
671     I( FindDialogEvent, CommandEvent )
672     I( FocusEvent,      Event )
673     I( KeyEvent,        Event )
674     I( HelpEvent,       CommandEvent )
675     I( MaximizeEvent,   Event )
676     I( IconizeEvent,    Event )
677     I( IdleEvent,       Event )
678     I( InitDialogEvent, Event )
679     I( JoystickEvent,   Event )
680     I( ListEvent,       NotifyEvent )
681     I( MenuEvent,       Event )
682     I( WindowCreateEvent, CommandEvent )
683     I( WindowDestroyEvent, CommandEvent )
684     I( MouseEvent,      Event )
685     I( MoveEvent,       Event )
686 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
687     I( BookCtrlEvent,   NotifyEvent )
688     I( NotebookEvent,   BookCtrlEvent )
689     I( ListbookEvent,   BookCtrlEvent )
690     I( ChoicebookEvent, BookCtrlEvent )
691     I( ToolbookEvent,   BookCtrlEvent )
692     I( TreebookEvent,   BookCtrlEvent )
693 #else
694     I( NotebookEvent,   NotifyEvent )
695 #endif
696     I( NotifyEvent,     CommandEvent )
697     I( FileCtrlEvent,   CommandEvent )
698     I( PaintEvent,      Event )
699     I( ProcessEvent,    Event )
700     I( QueryLayoutInfoEvent, Event )
701     I( SashEvent,       CommandEvent )
702     I( ScrollEvent,     CommandEvent )
703     I( SizeEvent,       Event )
704     I( ScrollWinEvent,  Event )
705 #if defined(__WXMAC__)
706     I( SpinEvent,       ScrollEvent )
707 #else
708     I( SpinEvent,       NotifyEvent )
709 #endif
710     I( SysColourChangedEvent, Event )
711     I( TextUrlEvent,    CommandEvent )
712     I( TimerEvent,      Event )
713     I( Timer,           EvtHandler )
714     I( TaskBarIconEvent, Event )
715     I( TreeEvent,       NotifyEvent )
716     I( UpdateUIEvent,   CommandEvent )
717     I( WizardEvent,     NotifyEvent )
718     I( SplitterEvent,   NotifyEvent )
719     I( NavigationKeyEvent, Event )
720     I( ClipboardTextEvent, CommandEvent )
721     I( HyperlinkEvent,  CommandEvent )
722     I( PowerEvent,      Event )
723     I( MouseCaptureChangedEvent, Event )
724     I( MouseCaptureLostEvent, Event )
725     I( ColourPickerEvent, CommandEvent )
726     I( FileDirPickerEvent, CommandEvent )
727     I( FontPickerEvent, CommandEvent )
728     I( SetCursorEvent,  Event )
729     I( CollapsiblePaneEvent, CommandEvent )
730
731     { 0, 0 }
732 };
733
734 void SetInheritance()
735 {
736     dTHX;
737
738     for( size_t i = 0; inherit[i].klass; ++i )
739     {
740         char buffer[1024];
741         strcpy( buffer, inherit[i].klass );
742         strcat( buffer, "::ISA" );
743
744         AV* isa = get_av( buffer, 1 );
745         av_store( isa, 0, newSVpv( CHAR_P inherit[i].base, 0 ) );
746     }
747 }
748
749 //////////////////////////////////////////////////////////////////////////////
750 // the constant() function
751 //////////////////////////////////////////////////////////////////////////////
752
753 // !package: Wx
754 // !tag:
755
756 static double constant( const char* name, int arg ) 
757 {
758   WX_PL_CONSTANT_INIT();
759
760   // !parser: sub { $_[0] =~ m<^\s*r\w*\(\s*(\w+)\s*\);\s*(?://(.*))?$> }
761 #define r( n ) \
762     if( strEQ( name, #n ) ) \
763         return n;
764
765   switch( fl ) {
766   case 'A':
767 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
768     r( wxAPPLY );                       // dialog
769 #endif
770 #if WXPERL_W_VERSION_GE( 2, 7, 1 )
771     r( wxALPHA_OPAQUE );                // color colour
772     r( wxALPHA_TRANSPARENT );           // color colour
773 #endif
774
775     r( wxALIGN_LEFT );                  // sizer grid statictext
776     r( wxALIGN_CENTRE );                // sizer grid statictext
777     r( wxALIGN_CENTER );                // sizer grid statictext
778     r( wxALIGN_RIGHT );                 // sizer grid statictext
779     r( wxALIGN_TOP );                   // sizer grid
780     r( wxALIGN_BOTTOM );                // sizer grid
781     r( wxALIGN_CENTER_VERTICAL );       // sizer
782     r( wxALIGN_CENTER_HORIZONTAL );     // sizer
783     r( wxALIGN_CENTRE_VERTICAL );       // sizer
784     r( wxALIGN_CENTRE_HORIZONTAL );     // sizer
785     r( wxALL );                         // sizer
786
787     r( wxACCEL_ALT );
788     r( wxACCEL_CTRL );
789     r( wxACCEL_NORMAL );
790     r( wxACCEL_SHIFT );
791
792     r( wxAND );                         // dc
793     r( wxAND_INVERT );                  // dc
794     r( wxAND_REVERSE );                 // dc
795
796 #if WXPERL_W_VERSION_LT( 2, 9, 0 ) || WXWIN_COMPATIBILITY_2_6
797     r( wxADJUST_MINSIZE );              // layout sizer
798 #endif
799     r( wxAbove );                       // layout constraints
800     r( wxAbsolute );                    // layout constraints
801     r( wxAsIs );                        // layout constraints
802
803     r( wxALWAYS_SHOW_SB );              // window
804
805 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
806     r( wxANIMATION_TYPE_ANI );          // animation
807     r( wxANIMATION_TYPE_ANY );          // animation
808     r( wxANIMATION_TYPE_GIF );          // animation
809     r( wxANIMATION_TYPE_INVALID );      // animation
810     r( wxAC_DEFAULT_STYLE );            // animationctrl
811     r( wxAC_NO_AUTORESIZE );            // animationctrl
812 #endif
813     break;
814   case 'B':
815 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
816     r( wxBATTERY_NORMAL_STATE );        // power
817     r( wxBATTERY_LOW_STATE );           // power
818     r( wxBATTERY_CRITICAL_STATE );      // power
819     r( wxBATTERY_SHUTDOWN_STATE );      // power
820     r( wxBATTERY_UNKNOWN_STATE );       // power
821 #endif
822
823     r( wxBITMAP_TYPE_BMP );             // bitmap icon image
824     r( wxBITMAP_TYPE_BMP_RESOURCE );    // bitmap icon image
825     r( wxBITMAP_TYPE_CUR );             // bitmap icon image
826     r( wxBITMAP_TYPE_CUR_RESOURCE );    // bitmap icon image
827     r( wxBITMAP_TYPE_ICO );             // bitmap icon image
828     r( wxBITMAP_TYPE_ICO_RESOURCE );    // bitmap icon image
829     r( wxBITMAP_TYPE_GIF );             // bitmap icon image
830     r( wxBITMAP_TYPE_XBM );             // bitmap icon image
831     r( wxBITMAP_TYPE_XPM );             // bitmap icon image
832     r( wxBITMAP_TYPE_JPEG );            // bitmap icon image
833     r( wxBITMAP_TYPE_PNG );             // bitmap icon image
834     r( wxBITMAP_TYPE_PNM );             // bitmap icon image
835     r( wxBITMAP_TYPE_PCX );             // bitmap icon image
836     r( wxBITMAP_TYPE_ANY );             // bitmap icon image
837     r( wxBITMAP_TYPE_TIF );             // bitmap icon image
838     r( wxBITMAP_TYPE_ANI );             // bitmap icon image
839     r( wxBITMAP_TYPE_GIF_RESOURCE );    // bitmap icon image
840     r( wxBITMAP_TYPE_ICON );            // bitmap icon image
841     r( wxBITMAP_TYPE_ICON_RESOURCE );   // bitmap icon image
842     r( wxBITMAP_TYPE_IFF );             // bitmap icon image
843     r( wxBITMAP_TYPE_INVALID );         // bitmap icon image
844     r( wxBITMAP_TYPE_JPEG_RESOURCE );   // bitmap icon image
845     r( wxBITMAP_TYPE_MACCURSOR );       // bitmap icon image
846     r( wxBITMAP_TYPE_MACCURSOR_RESOURCE ); // bitmap icon image
847     r( wxBITMAP_TYPE_PCX_RESOURCE );    // bitmap icon image
848     r( wxBITMAP_TYPE_PICT );            // bitmap icon image
849     r( wxBITMAP_TYPE_PICT_RESOURCE );   // bitmap icon image
850     r( wxBITMAP_TYPE_PNG_RESOURCE );    // bitmap icon image
851     r( wxBITMAP_TYPE_PNM_RESOURCE );    // bitmap icon image
852     r( wxBITMAP_TYPE_RESOURCE );        // bitmap icon image
853 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
854     r( wxBITMAP_TYPE_TGA );             // bitmap icon image
855 #endif
856     r( wxBITMAP_TYPE_TIF_RESOURCE );    // bitmap icon image
857     r( wxBITMAP_TYPE_XBM_DATA );        // bitmap icon image
858     r( wxBITMAP_TYPE_XPM_DATA );        // bitmap icon image
859
860     r( wxBI_EXPAND );
861
862     r( wxBOLD );                        // font
863     r( wxBOTH );                        // window dialog frame
864     r( wxBOTTOM );                      // sizer
865     r( wxBU_TOP );                      // button
866     r( wxBU_LEFT );                     // button
867     r( wxBU_BOTTOM );                   // button
868     r( wxBU_AUTODRAW );                 // button
869     r( wxBU_RIGHT );                    // button
870     r( wxBU_NOAUTODRAW );               // button
871
872     r( wxBU_EXACTFIT );                 // button
873
874     r( wxBDIAGONAL_HATCH );             // brush pen
875
876     r( wxBottom );                      // layout constraints 
877     r( wxBelow );                       // layout constraints
878
879 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
880     r( wxBROWSER_NEW_WINDOW );
881 #endif
882 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
883     r( wxBROWSER_NOBUSYCURSOR );
884 #endif
885 #if WXPERL_W_VERSION_GE( 2, 5, 5 )
886     r( wxBUFFER_VIRTUAL_AREA );         // dc
887     r( wxBUFFER_CLIENT_AREA );          // dc
888 #endif
889 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
890     r( wxBG_STYLE_SYSTEM );             // window
891     r( wxBG_STYLE_COLOUR );             // window
892     r( wxBG_STYLE_CUSTOM );             // window
893 #endif
894 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
895     r( wxBK_DEFAULT );                  // bookctrl
896     r( wxBK_TOP );                      // bookctrl
897     r( wxBK_BOTTOM );                   // bookctrl
898     r( wxBK_LEFT );                     // bookctrl
899     r( wxBK_RIGHT );                    // bookctrl
900 #if WXPERL_W_VERSION_LT( 2, 9, 0 )
901     r( wxBK_BUTTONBAR );                // toolbook
902 #endif
903     r( wxBK_HITTEST_NOWHERE );          // bookctrl
904     r( wxBK_HITTEST_ONICON );           // bookctrl
905     r( wxBK_HITTEST_ONLABEL );          // bookctrl
906     r( wxBK_HITTEST_ONITEM );           // bookctrl
907     r( wxBK_HITTEST_ONPAGE );           // bookctrl
908 #endif
909     r( wxBORDER_DEFAULT );              // window
910     r( wxBORDER_DOUBLE );               // window
911     r( wxBORDER_MASK );                 // window
912     r( wxBORDER_RAISED );               // window
913     r( wxBORDER_SIMPLE );               // window
914     r( wxBORDER_STATIC );               // window
915     r( wxBORDER_SUNKEN );               // window
916     r( wxBORDER_THEME );                // window
917     r( wxBORDER_NONE );                 // window
918
919     r( wxBACKWARD );                    // sizer
920 #if WXPERL_W_VERSION_LT( 2, 9, 0 ) || WXWIN_COMPATIBILITY_2_8
921     r( wxBLIT_00220326 );               // dc
922     r( wxBLIT_007700E6 );               // dc
923     r( wxBLIT_00990066 );               // dc
924     r( wxBLIT_00AA0029 );               // dc
925     r( wxBLIT_00DD0228 );               // dc
926     r( wxBLIT_BLACKNESS );              // dc
927     r( wxBLIT_DSTINVERT );              // dc
928     r( wxBLIT_MERGEPAINT );             // dc
929     r( wxBLIT_NOTSCRCOPY );             // dc
930     r( wxBLIT_NOTSRCERASE );            // dc
931     r( wxBLIT_SRCAND );                 // dc
932     r( wxBLIT_SRCCOPY );                // dc
933     r( wxBLIT_SRCERASE );               // dc
934     r( wxBLIT_SRCINVERT );              // dc
935     r( wxBLIT_SRCPAINT );               // dc
936     r( wxBLIT_WHITENESS );              // dc
937 #endif
938     r( wxBRUSHSTYLE_BDIAGONAL_HATCH );  // brush
939     r( wxBRUSHSTYLE_CROSSDIAG_HATCH );  // brush
940     r( wxBRUSHSTYLE_CROSS_HATCH );      // brush
941     r( wxBRUSHSTYLE_FDIAGONAL_HATCH );  // brush
942 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
943     r( wxBRUSHSTYLE_FIRST_HATCH );      // brush
944 #endif
945     r( wxBRUSHSTYLE_HORIZONTAL_HATCH ); // brush
946     r( wxBRUSHSTYLE_INVALID );          // brush
947 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
948     r( wxBRUSHSTYLE_LAST_HATCH );       // brush
949 #endif
950     r( wxBRUSHSTYLE_SOLID );            // brush
951     r( wxBRUSHSTYLE_STIPPLE );          // brush
952     r( wxBRUSHSTYLE_STIPPLE_MASK );     // brush
953     r( wxBRUSHSTYLE_STIPPLE_MASK_OPAQUE ); // brush
954     r( wxBRUSHSTYLE_TRANSPARENT );      // brush
955     r( wxBRUSHSTYLE_VERTICAL_HATCH );   // brush
956     break;
957   case 'C':
958     r( wxCANCEL );                      // dialog
959     r( wxCAPTION );                     // frame dialog
960
961     r( wxCAP_ROUND );                   // pen
962     r( wxCAP_PROJECTING );              // pen
963     r( wxCAP_BUTT );                    // pen
964
965     r( wxCB_SIMPLE );                   // combobox
966     r( wxCB_DROPDOWN );                 // combobox
967     r( wxCB_READONLY );                 // combobox comboctrl
968     r( wxCB_SORT );                     // combobox comboctrl
969 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
970     r( wxCC_SPECIAL_DCLICK );           // comboctrl
971     r( wxCC_STD_BUTTON );               // comboctrl
972     r( wxCP_DEFAULT_STYLE );            // collapsiblepane
973     r( wxCP_NO_TLW_RESIZE );            // collapsiblepane
974 #endif
975     r( wxCENTER );                      // dialog sizer
976     r( wxCENTRE );                      // dialog sizer
977     r( wxCENTER_ON_SCREEN );            // window
978     r( wxCENTRE_ON_SCREEN );            // window
979     r( wxCLIP_CHILDREN );               // window
980     r( wxCHOICEDLG_STYLE );
981 #if WXPERL_W_VERSION_LT( 2, 7, 0 ) || WXWIN_COMPATIBILITY_2_6
982     r( wxCHANGE_DIR );                  // filedialog
983 #endif
984     r( wxCLIP_SIBLINGS );               // window
985
986 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
987     r( wxCHK_2STATE );                  // checkbox
988     r( wxCHK_3STATE );                  // checkbox
989     r( wxCHK_ALLOW_3RD_STATE_FOR_USER );// checkbox
990
991     r( wxCHK_UNCHECKED );               // checkbox
992     r( wxCHK_CHECKED );                 // checkbox
993     r( wxCHK_UNDETERMINED );            // checkbox    
994 #endif
995
996 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
997     r( wxCHB_BOTTOM );                  // choicebook
998     r( wxCHB_TOP );                     // choicebook
999     r( wxCHB_ALIGN_MASK );              // choicebook
1000     r( wxCHB_DEFAULT );                 // choicebook
1001     r( wxCHB_LEFT );                    // choicebook
1002     r( wxCHB_RIGHT );                   // choicebook
1003 #endif
1004
1005 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
1006     r( wxCLRP_SHOW_LABEL );
1007     r( wxCLRP_USE_TEXTCTRL );
1008     r( wxCLRP_DEFAULT_STYLE );
1009 #endif
1010
1011     r( wxCLEAR );                       // dc
1012     r( wxCOPY );                        // dc
1013
1014 #if WXPERL_W_VERSION_GE( 2, 8, 2 )
1015     r( wxCONFIG_USE_SUBDIR );           // config
1016 #endif
1017     r( wxCONFIG_USE_LOCAL_FILE );       // config
1018     r( wxCONFIG_USE_GLOBAL_FILE );      // config
1019     r( wxCONFIG_USE_RELATIVE_PATH );    // config
1020
1021     r( wxCURSOR_ARROW );                // cursor
1022     r( wxCURSOR_ARROWWAIT );            // cursor
1023     r( wxCURSOR_RIGHT_ARROW );          // cursor
1024     r( wxCURSOR_BULLSEYE );             // cursor
1025     r( wxCURSOR_CHAR );                 // cursor
1026     r( wxCURSOR_CROSS );                // cursor
1027     r( wxCURSOR_HAND );                 // cursor
1028     r( wxCURSOR_IBEAM );                // cursor
1029     r( wxCURSOR_LEFT_BUTTON );          // cursor
1030     r( wxCURSOR_MAGNIFIER );            // cursor
1031     r( wxCURSOR_MIDDLE_BUTTON );        // cursor
1032     r( wxCURSOR_NO_ENTRY );             // cursor
1033     r( wxCURSOR_PAINT_BRUSH );          // cursor
1034     r( wxCURSOR_PENCIL );               // cursor
1035     r( wxCURSOR_POINT_LEFT );           // cursor
1036     r( wxCURSOR_POINT_RIGHT );          // cursor
1037     r( wxCURSOR_QUESTION_ARROW );       // cursor
1038     r( wxCURSOR_RIGHT_BUTTON );         // cursor
1039     r( wxCURSOR_SIZENESW );             // cursor
1040     r( wxCURSOR_SIZENS );               // cursor
1041     r( wxCURSOR_SIZENWSE );             // cursor
1042     r( wxCURSOR_SIZEWE );               // cursor
1043     r( wxCURSOR_SIZING );               // cursor
1044     r( wxCURSOR_SPRAYCAN );             // cursor
1045     r( wxCURSOR_WAIT );                 // cursor
1046     r( wxCURSOR_WATCH );                // cursor
1047     r( wxCURSOR_BLANK );                // cursor
1048     r( wxCURSOR_DEFAULT );              // cursor
1049 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
1050 #ifdef __WXMAC__
1051     r( wxCURSOR_COPY_ARROW );           // cursor
1052 #endif
1053 #ifdef __X__
1054     r( wxCURSOR_BASED_ARROW_DOWN );     // cursor
1055     r( wxCURSOR_BASED_ARROW_UP );       // cursor
1056     r( wxCURSOR_CROSS_REVERSE );        // cursor
1057     r( wxCURSOR_DOUBLE_ARROW );         // cursor
1058 #endif
1059 #endif
1060
1061     r( wxCROSSDIAG_HATCH );             // brush pen
1062     r( wxCROSS_HATCH );                 // brush pen
1063
1064 #define wxCenterX wxCentreX
1065 #define wxCenterY wxCentreY
1066
1067 #if WXPERL_W_VERSION_LT( 2, 5, 1 )
1068     #define wxCLOSE_BOX 0
1069 #endif
1070     r( wxCLOSE_BOX );                   // frame
1071 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
1072     r( wxCLOSE );                       // dialog
1073 #endif
1074
1075     r( wxCentreX );                     // layout constraints
1076     r( wxCentreY );                     // layout constraints
1077     r( wxCenterX );                     // layout constraints
1078     r( wxCenterY );                     // layout constraints
1079 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
1080     r( wxC2S_NAME );                    // color colour
1081     r( wxC2S_CSS_SYNTAX );              // color colour
1082     r( wxC2S_HTML_SYNTAX );             // color colour
1083 #endif
1084     break;
1085   case 'D':
1086     r( wxDECORATIVE );                  // font
1087     r( wxDEFAULT );                     // font
1088     r( wxDEFAULT_DIALOG_STYLE );        // dialog
1089     r( wxDEFAULT_FRAME_STYLE );         // frame
1090     r( wxDEFAULT_CONTROL_BORDER );      // control
1091 #if WXPERL_W_VERSION_LT( 2, 7, 0 )
1092     r( wxDIALOG_MODAL );                // dialog
1093 #endif
1094 #if WXPERL_W_VERSION_GE( 2, 6, 2 )
1095     r( wxDIALOG_EX_METAL );             // dialog
1096 #endif
1097     r( wxDOUBLE_BORDER );               // window
1098     r( wxDIALOG_NO_PARENT );            // dialog
1099     r( wxDIALOG_EX_CONTEXTHELP );       // dialog
1100
1101     r( wxDD_NEW_DIR_BUTTON );           // dirdialog
1102 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
1103     r( wxDD_DEFAULT_STYLE );            // dirdialog
1104 #endif
1105 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
1106     r( wxDD_CHANGE_DIR );               // dirdialog
1107     r( wxDD_DIR_MUST_EXIST );           // dirdialog
1108 #endif
1109
1110     r( wxDOT );                         // pen
1111     r( wxDOT_DASH );                    // pen
1112
1113     r( wxDIR );
1114 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
1115     r( wxDIRP_DIR_MUST_EXIST );
1116     r( wxDIRP_CHANGE_DIR );
1117     r( wxDIRP_USE_TEXTCTRL );
1118     r( wxDIRP_DEFAULT_STYLE );
1119 #endif
1120     r( wxDOWN );
1121
1122     r( wxDIRCTRL_DIR_ONLY );            // dirctrl
1123     r( wxDIRCTRL_SELECT_FIRST );        // dirctrl
1124 #if WXPERL_W_VERSION_LT( 2, 9, 0 ) || WXWIN_COMPATIBILITY_2_8
1125     r( wxDIRCTRL_SHOW_FILTERS );        // dirctrl
1126 #endif
1127     r( wxDIRCTRL_3D_INTERNAL );         // dirctrl
1128     r( wxDIRCTRL_EDIT_LABELS );         // dirctrl
1129
1130     break;
1131   case 'E':
1132     r( wxEQUIV );                       // dc
1133
1134 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
1135     r( wxEVENT_PROPAGATE_NONE );
1136     r( wxEVENT_PROPAGATE_MAX );
1137 #endif
1138 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
1139     r( wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED );
1140     r( wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING );
1141 #endif
1142 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
1143     r( wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED );
1144     r( wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING );
1145 #endif
1146 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
1147     r( wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGED );
1148     r( wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGING );
1149     r( wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED );
1150     r( wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING );
1151     r( wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED );
1152     r( wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED );
1153     r( wxEVT_COMMAND_HYPERLINK );
1154 #endif
1155     r( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED );
1156     r( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING );
1157     r( wxEVT_COMMAND_BUTTON_CLICKED );
1158     r( wxEVT_COMMAND_CHECKBOX_CLICKED );
1159     r( wxEVT_COMMAND_CHOICE_SELECTED );
1160     r( wxEVT_COMMAND_LISTBOX_SELECTED );
1161     r( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED );
1162     r( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED );
1163     r( wxEVT_COMMAND_TEXT_UPDATED );
1164     r( wxEVT_COMMAND_TEXT_ENTER );
1165     r( wxEVT_COMMAND_MENU_SELECTED );
1166     r( wxEVT_COMMAND_TOOL_CLICKED );
1167     r( wxEVT_COMMAND_SLIDER_UPDATED );
1168     r( wxEVT_COMMAND_RADIOBOX_SELECTED );
1169     r( wxEVT_COMMAND_RADIOBUTTON_SELECTED );
1170     r( wxEVT_COMMAND_SCROLLBAR_UPDATED );
1171     r( wxEVT_COMMAND_VLBOX_SELECTED );
1172     r( wxEVT_COMMAND_COMBOBOX_SELECTED );
1173 #if wxPERL_USE_TOGGLEBTN
1174     r( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED );
1175 #endif
1176     r( wxEVT_COMMAND_TEXT_MAXLEN );
1177     r( wxEVT_COMMAND_TEXT_URL );
1178 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
1179     r( wxEVT_COMMAND_TEXT_COPY );
1180     r( wxEVT_COMMAND_TEXT_CUT );
1181     r( wxEVT_COMMAND_TEXT_PASTE );
1182 #endif
1183     r( wxEVT_COMMAND_TOOL_RCLICKED );
1184     r( wxEVT_COMMAND_TOOL_ENTER );
1185     r( wxEVT_COMMAND_SPINCTRL_UPDATED );
1186     r( wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING );
1187     r( wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED );
1188     r( wxEVT_COMMAND_SPLITTER_UNSPLIT );
1189     r( wxEVT_COMMAND_SPLITTER_DOUBLECLICKED );
1190
1191     r( wxEVT_TIMER );
1192
1193 #if defined(__WXMSW__) || defined(wxHAS_TASK_BAR_ICON)
1194     r( wxEVT_TASKBAR_MOVE );
1195     r( wxEVT_TASKBAR_LEFT_DOWN );
1196     r( wxEVT_TASKBAR_LEFT_UP );
1197     r( wxEVT_TASKBAR_RIGHT_DOWN );
1198     r( wxEVT_TASKBAR_RIGHT_UP );
1199     r( wxEVT_TASKBAR_LEFT_DCLICK );
1200     r( wxEVT_TASKBAR_RIGHT_DCLICK );
1201 #endif
1202     r( wxEVT_COMMAND_FIND );
1203     r( wxEVT_COMMAND_FIND_NEXT );
1204     r( wxEVT_COMMAND_FIND_REPLACE );
1205     r( wxEVT_COMMAND_FIND_REPLACE_ALL );
1206     r( wxEVT_COMMAND_FIND_CLOSE );
1207
1208     r( wxEVT_MOUSEWHEEL )
1209     r( wxEVT_LEFT_DOWN );
1210     r( wxEVT_LEFT_UP );
1211     r( wxEVT_LEFT_DCLICK );
1212     r( wxEVT_MIDDLE_DOWN );
1213     r( wxEVT_MIDDLE_UP );
1214     r( wxEVT_MIDDLE_DCLICK );
1215     r( wxEVT_RIGHT_DOWN );
1216     r( wxEVT_RIGHT_UP );
1217     r( wxEVT_RIGHT_DCLICK );
1218     r( wxEVT_MOTION );
1219     r( wxEVT_ENTER_WINDOW );
1220     r( wxEVT_LEAVE_WINDOW );
1221     r( wxEVT_SET_FOCUS );
1222     r( wxEVT_KILL_FOCUS );
1223
1224     r( wxEVT_SASH_DRAGGED );
1225
1226 #if WXPERL_W_VERSION_LT( 2, 9, 0 )
1227     r( wxEVT_NC_LEFT_DOWN );
1228     r( wxEVT_NC_LEFT_UP );
1229     r( wxEVT_NC_MIDDLE_DOWN );
1230     r( wxEVT_NC_MIDDLE_UP );
1231     r( wxEVT_NC_RIGHT_DOWN );
1232     r( wxEVT_NC_RIGHT_UP );
1233     r( wxEVT_NC_MOTION );
1234     r( wxEVT_NC_ENTER_WINDOW );
1235     r( wxEVT_NC_LEAVE_WINDOW );
1236     r( wxEVT_NC_LEFT_DCLICK );
1237     r( wxEVT_NC_MIDDLE_DCLICK );
1238     r( wxEVT_NC_RIGHT_DCLICK );
1239 #endif
1240
1241     r( wxEVT_CHAR );
1242     r( wxEVT_CHAR_HOOK );
1243     r( wxEVT_CHILD_FOCUS );
1244     r( wxEVT_NAVIGATION_KEY );
1245     r( wxEVT_KEY_DOWN );
1246     r( wxEVT_KEY_UP );
1247
1248     r( wxEVT_SET_CURSOR );
1249
1250     r( wxEVT_SCROLL_TOP );
1251     r( wxEVT_SCROLL_BOTTOM );
1252     r( wxEVT_SCROLL_LINEUP );
1253     r( wxEVT_SCROLL_LINEDOWN );
1254     r( wxEVT_SCROLL_PAGEUP );
1255     r( wxEVT_SCROLL_PAGEDOWN );
1256     r( wxEVT_SCROLL_THUMBTRACK );
1257     r( wxEVT_SCROLL_THUMBRELEASE );
1258
1259     r( wxEVT_SCROLLWIN_TOP );
1260     r( wxEVT_SCROLLWIN_BOTTOM );
1261     r( wxEVT_SCROLLWIN_LINEUP );
1262     r( wxEVT_SCROLLWIN_LINEDOWN );
1263     r( wxEVT_SCROLLWIN_PAGEUP );
1264     r( wxEVT_SCROLLWIN_PAGEDOWN );
1265     r( wxEVT_SCROLLWIN_THUMBTRACK );
1266     r( wxEVT_SCROLLWIN_THUMBRELEASE );
1267
1268     r( wxEVT_SIZE );
1269     r( wxEVT_MOVE );
1270     r( wxEVT_CLOSE_WINDOW );
1271     r( wxEVT_END_SESSION );
1272     r( wxEVT_QUERY_END_SESSION );
1273     r( wxEVT_ACTIVATE_APP );
1274 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
1275 #if defined(wxHAS_POWER_EVENTS)
1276     r( wxEVT_POWER_SUSPENDING );
1277     r( wxEVT_POWER_SUSPENDED );
1278     r( wxEVT_POWER_SUSPEND_CANCEL );
1279     r( wxEVT_POWER_RESUME );
1280 #endif
1281 #else
1282     r( wxEVT_POWER );
1283 #endif
1284     r( wxEVT_ACTIVATE );
1285     r( wxEVT_CREATE );
1286     r( wxEVT_DESTROY );
1287     r( wxEVT_SHOW );
1288     r( wxEVT_ICONIZE );
1289     r( wxEVT_MAXIMIZE );
1290     r( wxEVT_PAINT );
1291     r( wxEVT_ERASE_BACKGROUND );
1292     r( wxEVT_NC_PAINT );
1293     // r( wxEVT_PAINT_ICON );
1294     // r( wxEVT_MENU_CHAR );
1295     // r( wxEVT_MENU_INIT );
1296     r( wxEVT_MENU_HIGHLIGHT );
1297     r( wxEVT_MENU_OPEN );
1298     r( wxEVT_MENU_CLOSE );
1299     // r( wxEVT_POPUP_MENU_INIT );
1300     r( wxEVT_CONTEXT_MENU );
1301     r( wxEVT_SYS_COLOUR_CHANGED );
1302     // r( wxEVT_SETTING_CHANGED );
1303     r( wxEVT_QUERY_NEW_PALETTE );
1304     r( wxEVT_PALETTE_CHANGED );
1305     r( wxEVT_JOY_BUTTON_DOWN );
1306     r( wxEVT_JOY_BUTTON_UP );
1307     r( wxEVT_JOY_MOVE );
1308     r( wxEVT_JOY_ZMOVE );
1309     r( wxEVT_DROP_FILES );
1310     // r( wxEVT_DRAW_ITEM );
1311     // r( wxEVT_MEASURE_ITEM );
1312     // r( wxEVT_COMPARE_ITEM );
1313     r( wxEVT_INIT_DIALOG );
1314     r( wxEVT_IDLE );
1315     r( wxEVT_UPDATE_UI );
1316 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
1317     r( wxEVT_MOVING );
1318     r( wxEVT_SIZING );
1319 #endif
1320
1321     r( wxEVT_END_PROCESS );
1322
1323     //r( wxEVT_DIALUP_CONNECTED );
1324     //r( wxEVT_DIALUP_DISCONNECTED );
1325
1326     r( wxEVT_COMMAND_LEFT_CLICK );
1327     r( wxEVT_COMMAND_LEFT_DCLICK );
1328     r( wxEVT_COMMAND_RIGHT_CLICK );
1329     r( wxEVT_COMMAND_RIGHT_DCLICK );
1330     r( wxEVT_COMMAND_SET_FOCUS );
1331     r( wxEVT_COMMAND_KILL_FOCUS );
1332     r( wxEVT_COMMAND_ENTER );
1333
1334     r( wxEVT_HELP );
1335     r( wxEVT_DETAILED_HELP );
1336
1337     r( wxEXPAND );                      // sizer
1338     r( wxEXEC_SYNC );                   // execute
1339     r( wxEXEC_ASYNC );                  // execute
1340     r( wxEXEC_NOHIDE );                 // execute
1341 #if WXPERL_W_VERSION_GE( 2, 5, 4 )
1342     r( wxEXEC_NODISABLE );              // execute
1343 #endif
1344 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
1345     r( wxEXEC_BLOCK );                  // execute
1346     r( wxEXEC_NOEVENTS );               // execute
1347 #endif
1348     r( wxEXEC_MAKE_GROUP_LEADER );      // execute
1349
1350     r( wxEAST );
1351
1352 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
1353     r( wxEL_ALLOW_NEW );                // editablelistbox
1354     r( wxEL_ALLOW_EDIT );               // editablelistbox
1355     r( wxEL_ALLOW_DELETE );             // editablelistbox
1356     r( wxEL_NO_REORDER );               // editablelistbox
1357     r( wxEL_DEFAULT_STYLE );            // editablelistbox
1358 #endif
1359 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
1360     r( wxEXTEND_LAST_ON_EACH_LINE );    // sizer
1361 #endif
1362     break;
1363   case 'F':
1364     r( wxFromStart );
1365     r( wxFromCurrent );
1366     r( wxFromEnd );
1367
1368     r( wxFDIAGONAL_HATCH );             // brush pen
1369
1370     r( wxFD_OPEN );                     // filedialog
1371     r( wxFD_SAVE );                     // filedialog
1372     r( wxFD_OVERWRITE_PROMPT );         // filedialog
1373     r( wxFD_FILE_MUST_EXIST );          // filedialog
1374     r( wxFD_MULTIPLE );                 // filedialog
1375     r( wxFD_CHANGE_DIR );               // filedialog
1376 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
1377     r( wxFD_DEFAULT_STYLE );            // filedialog
1378     r( wxFD_PREVIEW );                  // filedialog
1379 #endif
1380
1381 #if WXPERL_W_VERSION_LT( 2, 7, 0 ) || WXWIN_COMPATIBILITY_2_6
1382     r( wxFILE_MUST_EXIST );
1383 #endif
1384     r( wxFLOOD_SURFACE );               // dc
1385     r( wxFLOOD_BORDER );                // dc
1386
1387 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
1388     r( wxFIXED_MINSIZE );               // sizer
1389     r( wxFLEX_GROWMODE_NONE );          // sizer
1390     r( wxFLEX_GROWMODE_SPECIFIED );     // sizer
1391     r( wxFLEX_GROWMODE_ALL );           // sizer
1392 #endif
1393     r( wxFRAME_FLOAT_ON_PARENT );       // frame
1394     r( wxFRAME_NO_WINDOW_MENU );        // frame
1395     r( wxFRAME_NO_TASKBAR );            // frame
1396     r( wxFRAME_TOOL_WINDOW );           // frame
1397     r( wxFRAME_EX_CONTEXTHELP );        // frame
1398 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
1399     r( wxFRAME_EX_METAL );              // frame
1400 #endif
1401 #if WXPERL_W_VERSION_GE( 2, 4, 1 )
1402     r( wxFRAME_SHAPED );                // frame
1403 #endif
1404
1405     r( wxFILE );
1406     r( wxFR_DOWN );                     // findreplace
1407     r( wxFR_WHOLEWORD );                // findreplace
1408     r( wxFR_MATCHCASE );                // findreplace
1409     r( wxFR_REPLACEDIALOG );            // findreplace
1410     r( wxFR_NOUPDOWN );                 // findreplace
1411     r( wxFR_NOMATCHCASE );              // findreplace
1412     r( wxFR_NOWHOLEWORD );              // findreplace
1413 #if WXPERL_W_VERSION_GE( 2, 5, 3 )    
1414     r( wxFONTFAMILY_DEFAULT );          // font
1415     r( wxFONTFAMILY_DECORATIVE );       // font
1416     r( wxFONTFAMILY_ROMAN );            // font
1417     r( wxFONTFAMILY_SCRIPT );           // font
1418     r( wxFONTFAMILY_SWISS );            // font
1419     r( wxFONTFAMILY_MODERN );           // font
1420     r( wxFONTFAMILY_TELETYPE );         // font
1421     r( wxFONTFAMILY_MAX );              // font
1422     r( wxFONTFAMILY_UNKNOWN );          // font
1423     r( wxFONTSTYLE_NORMAL );            // font
1424     r( wxFONTSTYLE_ITALIC );            // font
1425     r( wxFONTSTYLE_SLANT );             // font
1426     r( wxFONTSTYLE_MAX );               // font
1427     r( wxFONTWEIGHT_NORMAL );           // font
1428     r( wxFONTWEIGHT_LIGHT );            // font
1429     r( wxFONTWEIGHT_BOLD );             // font
1430     r( wxFONTWEIGHT_MAX );              // font
1431     r( wxFONTFLAG_DEFAULT );            // font
1432     r( wxFONTFLAG_ITALIC );             // font
1433     r( wxFONTFLAG_SLANT );              // font
1434     r( wxFONTFLAG_LIGHT );              // font
1435     r( wxFONTFLAG_BOLD );               // font
1436     r( wxFONTFLAG_ANTIALIASED );        // font
1437     r( wxFONTFLAG_NOT_ANTIALIASED );    // font
1438     r( wxFONTFLAG_UNDERLINED );         // font
1439     r( wxFONTFLAG_STRIKETHROUGH );      // font
1440     r( wxFONTFLAG_MASK );               // font
1441 #endif    
1442     r( wxFONTENCODING_DEFAULT );        // font
1443     r( wxFONTENCODING_SYSTEM );         // font
1444     r( wxFONTENCODING_ISO8859_1 );      // font
1445     r( wxFONTENCODING_ISO8859_2 );      // font
1446     r( wxFONTENCODING_ISO8859_3 );      // font
1447     r( wxFONTENCODING_ISO8859_4 );      // font
1448     r( wxFONTENCODING_ISO8859_5 );      // font
1449     r( wxFONTENCODING_ISO8859_6 );      // font
1450     r( wxFONTENCODING_ISO8859_7 );      // font
1451     r( wxFONTENCODING_ISO8859_8 );      // font
1452     r( wxFONTENCODING_ISO8859_9 );      // font
1453     r( wxFONTENCODING_ISO8859_10 );     // font
1454     r( wxFONTENCODING_ISO8859_11 );     // font
1455     r( wxFONTENCODING_ISO8859_12 );     // font
1456     r( wxFONTENCODING_ISO8859_13 );     // font
1457     r( wxFONTENCODING_ISO8859_14 );     // font
1458     r( wxFONTENCODING_ISO8859_15 );     // font
1459     r( wxFONTENCODING_KOI8 );           // font
1460     r( wxFONTENCODING_ALTERNATIVE );    // font
1461     r( wxFONTENCODING_BULGARIAN );      // font
1462     r( wxFONTENCODING_CP437 );          // font
1463     r( wxFONTENCODING_CP850 );          // font
1464     r( wxFONTENCODING_CP852 );          // font
1465     r( wxFONTENCODING_CP855 );          // font
1466     r( wxFONTENCODING_CP866 );          // font
1467     r( wxFONTENCODING_CP874 );          // font
1468     r( wxFONTENCODING_CP1250 );         // font
1469     r( wxFONTENCODING_CP1251 );         // font
1470     r( wxFONTENCODING_CP1252 );         // font
1471     r( wxFONTENCODING_CP1253 );         // font
1472     r( wxFONTENCODING_CP1254 );         // font
1473     r( wxFONTENCODING_CP1255 );         // font
1474     r( wxFONTENCODING_CP1256 );         // font
1475     r( wxFONTENCODING_CP1257 );         // font
1476     r( wxFONTENCODING_UTF7 );           // font
1477     r( wxFONTENCODING_UTF8 );           // font
1478     r( wxFONTENCODING_UNICODE );        // font
1479     r( wxFONTENCODING_BIG5 );           // font
1480     r( wxFONTENCODING_CP12_MAX );       // font
1481     r( wxFONTENCODING_CP932 );          // font
1482     r( wxFONTENCODING_CP936 );          // font
1483     r( wxFONTENCODING_CP949 );          // font
1484     r( wxFONTENCODING_CP950 );          // font
1485     r( wxFONTENCODING_EUC_JP );         // font
1486     r( wxFONTENCODING_GB2312 );         // font
1487 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
1488     r( wxFONTENCODING_ISO2022_JP );     // font
1489 #endif
1490     r( wxFONTENCODING_ISO8859_MAX );    // font
1491     r( wxFONTENCODING_KOI8_U );         // font
1492     r( wxFONTENCODING_MACARABIC );      // font
1493     r( wxFONTENCODING_MACARABICEXT );   // font
1494     r( wxFONTENCODING_MACARMENIAN );    // font
1495     r( wxFONTENCODING_MACBENGALI );     // font
1496     r( wxFONTENCODING_MACBURMESE );     // font
1497     r( wxFONTENCODING_MACCELTIC );      // font
1498     r( wxFONTENCODING_MACCENTRALEUR );  // font
1499     r( wxFONTENCODING_MACCHINESESIMP ); // font
1500     r( wxFONTENCODING_MACCHINESETRAD ); // font
1501     r( wxFONTENCODING_MACCROATIAN );    // font
1502     r( wxFONTENCODING_MACCYRILLIC );    // font
1503     r( wxFONTENCODING_MACDEVANAGARI );  // font
1504     r( wxFONTENCODING_MACDINGBATS );    // font
1505     r( wxFONTENCODING_MACETHIOPIC );    // font
1506     r( wxFONTENCODING_MACGAELIC );      // font
1507     r( wxFONTENCODING_MACGEORGIAN );    // font
1508     r( wxFONTENCODING_MACGREEK );       // font
1509     r( wxFONTENCODING_MACGUJARATI );    // font
1510     r( wxFONTENCODING_MACGURMUKHI );    // font
1511     r( wxFONTENCODING_MACHEBREW );      // font
1512     r( wxFONTENCODING_MACICELANDIC );   // font
1513     r( wxFONTENCODING_MACJAPANESE );    // font
1514     r( wxFONTENCODING_MACKANNADA );     // font
1515     r( wxFONTENCODING_MACKEYBOARD );    // font
1516     r( wxFONTENCODING_MACKHMER );       // font
1517     r( wxFONTENCODING_MACKOREAN );      // font
1518     r( wxFONTENCODING_MACLAOTIAN );     // font
1519     r( wxFONTENCODING_MACMALAJALAM );   // font
1520     r( wxFONTENCODING_MACMAX );         // font
1521     r( wxFONTENCODING_MACMIN );         // font
1522     r( wxFONTENCODING_MACMONGOLIAN );   // font
1523     r( wxFONTENCODING_MACORIYA );       // font
1524     r( wxFONTENCODING_MACROMAN );       // font
1525     r( wxFONTENCODING_MACROMANIAN );    // font
1526     r( wxFONTENCODING_MACSINHALESE );   // font
1527     r( wxFONTENCODING_MACSYMBOL );      // font
1528     r( wxFONTENCODING_MACTAMIL );       // font
1529     r( wxFONTENCODING_MACTELUGU );      // font
1530     r( wxFONTENCODING_MACTHAI );        // font
1531     r( wxFONTENCODING_MACTIBETAN );     // font
1532     r( wxFONTENCODING_MACTURKISH );     // font
1533     r( wxFONTENCODING_MACVIATNAMESE );  // font
1534     r( wxFONTENCODING_MAX );            // font
1535     r( wxFONTENCODING_SHIFT_JIS );      // font
1536     r( wxFONTENCODING_UTF16 );          // font
1537     r( wxFONTENCODING_UTF16BE );        // font
1538     r( wxFONTENCODING_UTF16LE );        // font
1539     r( wxFONTENCODING_UTF32 );          // font
1540     r( wxFONTENCODING_UTF32BE );        // font
1541     r( wxFONTENCODING_UTF32LE );        // font
1542
1543     r( wxFULLSCREEN_NOMENUBAR );        // frame dialog
1544     r( wxFULLSCREEN_NOTOOLBAR );        // frame dialog
1545     r( wxFULLSCREEN_NOSTATUSBAR );      // frame dialog
1546     r( wxFULLSCREEN_NOBORDER );         // frame dialog
1547     r( wxFULLSCREEN_NOCAPTION );        // frame dialog
1548     r( wxFULLSCREEN_ALL );              // frame dialog
1549
1550 #if WXPERL_W_VERSION_LE( 2, 5, 0 )
1551 #define wxFULL_REPAINT_ON_RESIZE 0
1552 #endif
1553     r( wxFULL_REPAINT_ON_RESIZE );      // window
1554
1555 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
1556     r( wxFLP_OPEN );
1557     r( wxFLP_SAVE );
1558     r( wxFLP_OVERWRITE_PROMPT );
1559     r( wxFLP_FILE_MUST_EXIST );
1560     r( wxFLP_CHANGE_DIR );
1561     r( wxFLP_DEFAULT_STYLE );
1562     r( wxFLP_USE_TEXTCTRL );
1563     r( wxFNTP_USE_TEXTCTRL );
1564     r( wxFNTP_DEFAULT_STYLE );
1565     r( wxFNTP_FONTDESC_AS_LABEL );
1566     r( wxFNTP_USEFONT_FOR_LABEL );
1567     r( wxFNTP_MAXPOINT_SIZE );
1568 #endif
1569     r( wxFORWARD );                     // sizer
1570 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
1571     r( wxFC_OPEN );                     // filectrl
1572     r( wxFC_SAVE );                     // filectrl
1573     r( wxFC_MULTIPLE );                 // filectrl
1574     r( wxFC_NOSHOWHIDDEN );             // filectrl
1575 #endif
1576
1577     r( wxFILTER_ALPHA );
1578     r( wxFILTER_ALPHANUMERIC );
1579     r( wxFILTER_ASCII );
1580     r( wxFILTER_EXCLUDE_CHAR_LIST );
1581     r( wxFILTER_EXCLUDE_LIST );
1582     r( wxFILTER_INCLUDE_CHAR_LIST );
1583     r( wxFILTER_INCLUDE_LIST );
1584     r( wxFILTER_NONE );
1585     r( wxFILTER_NUMERIC );
1586     break;
1587   case 'G':
1588     r( wxGA_HORIZONTAL );               // gauge
1589     r( wxGA_VERTICAL );                 // gauge
1590 #if WXPERL_W_VERSION_LT( 2, 7, 0 )
1591     r( wxGA_PROGRESSBAR );              // gauge
1592 #endif
1593     r( wxGA_SMOOTH );                   // gauge
1594     r( wxGROW );                        // sizer
1595     break;
1596   case 'H':
1597     r( wxHELP );                        // dialog
1598 #if !defined(__WXMAC__) && !defined(__WXGTK__) && !defined(__WXMOTIF__) \
1599     && WXPERL_W_VERSION_LE( 2, 5, 2 )
1600     r( wxHIDE_READONLY );               // filedialog
1601 #endif
1602     r( wxHORIZONTAL );                  // toolbar sizer
1603     r( wxHORIZONTAL_HATCH );            // dc
1604
1605     r( wxHSCROLL );                     // window textctrl
1606
1607     r( wxHeight );                      // layout constraints
1608 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
1609     r( wxHLB_DEFAULT_STYLE );           // htmllistbox
1610     r( wxHLB_MULTIPLE );                // htmllistbox
1611 #endif
1612 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
1613     r( wxHL_CONTEXTMENU );              // hyperlink
1614     r( wxHL_ALIGN_LEFT );               // hyperlink
1615     r( wxHL_ALIGN_RIGHT );              // hyperlink
1616     r( wxHL_ALIGN_CENTRE );             // hyperlink
1617     r( wxHL_DEFAULT_STYLE );            // hyperlink
1618 #endif
1619     break;
1620   case 'I':
1621     r( wxICONIZE );                     // frame
1622     r( wxICON_EXCLAMATION );            // icon
1623     r( wxICON_HAND );                   // icon
1624     r( wxICON_QUESTION );               // icon
1625     r( wxICON_INFORMATION );            // icon
1626     r( wxICON_WARNING );                // icon
1627     r( wxICON_ERROR );                  // icon
1628
1629     r( wxID_ANY );                      // id
1630     r( wxID_OPEN );                     // id
1631     r( wxID_CLOSE );                    // id
1632     r( wxID_NEW );                      // id
1633     r( wxID_SAVE );                     // id
1634     r( wxID_SAVEAS );                   // id
1635     r( wxID_REVERT );                   // id
1636     r( wxID_EXIT );                     // id
1637     r( wxID_UNDO );                     // id
1638     r( wxID_REDO );                     // id
1639     r( wxID_PRINT );                    // id
1640     r( wxID_PRINT_SETUP );              // id
1641     r( wxID_PREVIEW );                  // id
1642     r( wxID_ABOUT );                    // id
1643     r( wxID_HELP_CONTENTS );            // id
1644     r( wxID_HELP_COMMANDS );            // id
1645     r( wxID_HELP_PROCEDURES );          // id
1646     r( wxID_HELP_CONTEXT );             // id
1647 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
1648     r( wxID_HELP_SEARCH );              // id
1649     r( wxID_HELP_INDEX );               // id
1650 #endif
1651 #if WXPERL_W_VERSION_GE( 2, 7, 1 )
1652     r( wxID_PAGE_SETUP );               // id
1653 #endif
1654     r( wxID_HELP );                     // id
1655     r( wxID_HIGHEST );                  // id
1656     r( wxID_LOWEST );                   // id
1657
1658     r( wxID_CUT );                      // id
1659     r( wxID_COPY );                     // id
1660     r( wxID_PASTE );                    // id
1661     r( wxID_CLEAR );                    // id
1662     r( wxID_FIND );                     // id
1663     r( wxID_DUPLICATE );                // id
1664     r( wxID_SELECTALL );                // id
1665
1666     r( wxID_FILE1 );                    // id   
1667     r( wxID_FILE2 );                    // id   
1668     r( wxID_FILE3 );                    // id   
1669     r( wxID_FILE4 );                    // id   
1670     r( wxID_FILE5 );                    // id   
1671     r( wxID_FILE6 );                    // id   
1672     r( wxID_FILE7 );                    // id   
1673     r( wxID_FILE8 );                    // id   
1674     r( wxID_FILE9 );                    // id   
1675
1676     r( wxID_OK );                       // id
1677     r( wxID_CANCEL );                   // id
1678     r( wxID_APPLY );                    // id
1679     r( wxID_YES );                      // id
1680     r( wxID_NO );                       // id
1681     r( wxID_STATIC );                   // id
1682
1683     r( wxID_CONTEXT_HELP );             // id
1684     r( wxID_YESTOALL );                 // id
1685     r( wxID_NOTOALL );                  // id
1686     r( wxID_ABORT );                    // id
1687     r( wxID_RETRY );                    // id
1688     r( wxID_IGNORE );                   // id
1689
1690 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
1691     r( wxID_ADD );                      // id
1692     r( wxID_BOLD );                     // id
1693     r( wxID_BACKWARD );                 // id
1694     r( wxID_DOWN );                     // id
1695     r( wxID_UP );                       // id
1696     r( wxID_FORWARD );                  // id
1697     r( wxID_HOME );                     // id
1698     r( wxID_INDENT );                   // id
1699     r( wxID_INDEX );                    // id
1700     r( wxID_ITALIC );                   // id
1701     r( wxID_JUSTIFY_CENTER );           // id
1702     r( wxID_JUSTIFY_LEFT );             // id
1703     r( wxID_JUSTIFY_FILL );             // id
1704     r( wxID_JUSTIFY_RIGHT );            // id
1705     r( wxID_PREFERENCES );              // id
1706     r( wxID_PROPERTIES );               // id
1707     r( wxID_REFRESH );                  // id
1708     r( wxID_REMOVE );                   // id
1709     r( wxID_REVERT_TO_SAVED );          // id
1710     r( wxID_STOP );                     // id
1711     r( wxID_SYSTEM_MENU );              // id
1712     r( wxID_UNDELETE );                 // id
1713     r( wxID_UNDERLINE );                // id
1714     r( wxID_UNINDENT );                 // id
1715     r( wxID_ZOOM_100 );                 // id
1716     r( wxID_ZOOM_FIT );                 // id
1717     r( wxID_ZOOM_IN );                  // id
1718     r( wxID_ZOOM_OUT );                 // id
1719 #endif
1720
1721     r( wxID_CLOSE_ALL );                // id
1722     r( wxID_CLOSE_FRAME );              // id
1723     r( wxID_DEFAULT );                  // id
1724     r( wxID_DELETE );                   // id
1725 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
1726     r( wxID_EDIT );                     // id
1727     r( wxID_FILE );                     // id
1728 #endif
1729     r( wxID_FILEDLGG );                 // id
1730     r( wxID_ICONIZE_FRAME );            // id
1731     r( wxID_MAXIMIZE_FRAME );           // id
1732     r( wxID_MORE );                     // id
1733     r( wxID_MOVE_FRAME );               // id
1734     r( wxID_REPLACE );                  // id
1735     r( wxID_REPLACE_ALL );              // id
1736     r( wxID_RESET );                    // id
1737     r( wxID_RESIZE_FRAME );             // id
1738     r( wxID_RESTORE_FRAME );            // id
1739     r( wxID_SETUP );                    // id
1740     r( wxID_VIEW_DETAILS );             // id
1741     r( wxID_VIEW_LARGEICONS );          // id
1742     r( wxID_VIEW_LIST );                // id
1743     r( wxID_VIEW_SMALLICONS );          // id
1744     r( wxID_VIEW_SORTDATE );            // id
1745     r( wxID_VIEW_SORTNAME );            // id
1746     r( wxID_VIEW_SORTSIZE );            // id
1747     r( wxID_VIEW_SORTTYPE );            // id 
1748
1749     r( wxID_SEPARATOR );                // id
1750
1751     r( wxIMAGELIST_DRAW_NORMAL );       // imagelist
1752     r( wxIMAGELIST_DRAW_TRANSPARENT );  // imagelist
1753     r( wxIMAGELIST_DRAW_SELECTED );     // imagelist
1754     r( wxIMAGELIST_DRAW_FOCUSED );      // imagelist
1755
1756 #if WXPERL_W_VERSION_GE( 2, 5, 4 )
1757     r( wxIMAGE_RESOLUTION_INCHES );     // image
1758     r( wxIMAGE_RESOLUTION_CM );         // image
1759 #endif
1760
1761 #if WXPERL_W_VERSION_GE( 2, 8, 0 )
1762     r( wxIMAGE_QUALITY_NORMAL );        // image
1763     r( wxIMAGE_QUALITY_HIGH );          // image
1764 #endif
1765
1766     r( wxIDLE_PROCESS_ALL );
1767     r( wxIDLE_PROCESS_SPECIFIED );
1768
1769     r( wxINVERT );                      // dc
1770
1771     r( wxITALIC );                      // font
1772
1773     r( wxInRegion );                    // region
1774
1775     r( wxITEM_SEPARATOR );              // menu toolbar
1776     r( wxITEM_NORMAL );                 // menu toolbar
1777     r( wxITEM_CHECK );                  // menu toolbar
1778     r( wxITEM_RADIO );                  // menu toolbar
1779 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
1780     r( wxITEM_DROPDOWN );               // toolbar
1781 #endif
1782     break;
1783   case 'J':
1784     r( wxJOIN_BEVEL );                  // pen
1785     r( wxJOIN_ROUND );                  // pen
1786     r( wxJOIN_MITER );                  // pen
1787
1788     r( wxJOYSTICK1 );                   // joystick
1789     r( wxJOYSTICK2 );                   // joystick
1790     r( wxJOY_BUTTON1 );                 // joystick
1791     r( wxJOY_BUTTON2 );                 // joystick
1792     r( wxJOY_BUTTON3 );                 // joystick
1793     r( wxJOY_BUTTON4 );                 // joystick
1794     r( wxJOY_BUTTON_ANY );              // joystick
1795     break;
1796   case 'K':
1797     if( strnEQ( name, "WXK_", 4 ) )
1798     {
1799         r( WXK_BACK );                  // keycode
1800         r( WXK_TAB );                   // keycode
1801         r( WXK_RETURN );                // keycode
1802         r( WXK_ESCAPE );                // keycode
1803         r( WXK_SPACE );                 // keycode
1804         r( WXK_DELETE );                // keycode
1805         r( WXK_START );                 // keycode
1806         r( WXK_LBUTTON );               // keycode
1807         r( WXK_RBUTTON );               // keycode
1808         r( WXK_CANCEL );                // keycode
1809         r( WXK_MBUTTON );               // keycode
1810         r( WXK_CLEAR );                 // keycode
1811         r( WXK_SHIFT );                 // keycode
1812         r( WXK_ALT );                   // keycode
1813         r( WXK_CONTROL );               // keycode
1814         r( WXK_MENU );                  // keycode
1815         r( WXK_PAUSE );                 // keycode
1816         r( WXK_CAPITAL );               // keycode
1817 #if WXPERL_W_VERSION_LT( 2, 7, 0 )
1818         r( WXK_PRIOR );                 // keycode
1819         r( WXK_NEXT );                  // keycode
1820 #endif
1821         r( WXK_END );                   // keycode
1822         r( WXK_HOME );                  // keycode
1823         r( WXK_LEFT );                  // keycode
1824         r( WXK_UP );                    // keycode
1825         r( WXK_RIGHT );                 // keycode
1826         r( WXK_DOWN );                  // keycode
1827         r( WXK_SELECT );                // keycode
1828         r( WXK_PRINT );                 // keycode
1829         r( WXK_EXECUTE );               // keycode
1830         r( WXK_SNAPSHOT );              // keycode
1831         r( WXK_INSERT );                // keycode
1832         r( WXK_HELP );                  // keycode
1833         r( WXK_NUMPAD0 );               // keycode
1834         r( WXK_NUMPAD1 );               // keycode
1835         r( WXK_NUMPAD2 );               // keycode
1836         r( WXK_NUMPAD3 );               // keycode
1837         r( WXK_NUMPAD4 );               // keycode
1838         r( WXK_NUMPAD5 );               // keycode
1839         r( WXK_NUMPAD6 );               // keycode
1840         r( WXK_NUMPAD7 );               // keycode
1841         r( WXK_NUMPAD8 );               // keycode
1842         r( WXK_NUMPAD9 );               // keycode
1843         r( WXK_MULTIPLY );              // keycode
1844         r( WXK_ADD );                   // keycode
1845         r( WXK_SEPARATOR );             // keycode
1846         r( WXK_SUBTRACT );              // keycode
1847         r( WXK_DECIMAL );               // keycode
1848         r( WXK_DIVIDE );                // keycode
1849         r( WXK_F1 );                    // keycode
1850         r( WXK_F2 );                    // keycode
1851         r( WXK_F3 );                    // keycode
1852         r( WXK_F4 );                    // keycode
1853         r( WXK_F5 );                    // keycode
1854         r( WXK_F6 );                    // keycode
1855         r( WXK_F7 );                    // keycode
1856         r( WXK_F8 );                    // keycode
1857         r( WXK_F9 );                    // keycode
1858         r( WXK_F10 );                   // keycode
1859         r( WXK_F11 );                   // keycode
1860         r( WXK_F12 );                   // keycode
1861         r( WXK_F13 );                   // keycode
1862         r( WXK_F14 );                   // keycode
1863         r( WXK_F15 );                   // keycode
1864         r( WXK_F16 );                   // keycode
1865         r( WXK_F17 );                   // keycode
1866         r( WXK_F18 );                   // keycode
1867         r( WXK_F19 );                   // keycode
1868         r( WXK_F20 );                   // keycode
1869         r( WXK_F21 );                   // keycode
1870         r( WXK_F22 );                   // keycode
1871         r( WXK_F23 );                   // keycode
1872         r( WXK_F24 );                   // keycode
1873         r( WXK_NUMLOCK );               // keycode
1874         r( WXK_SCROLL  );               // keycode
1875 #if WXPERL_W_VERSION_GE( 2, 6, 3 )
1876         r( WXK_NUMPAD_SPACE  );         // keycode
1877         r( WXK_NUMPAD_TAB  );           // keycode
1878         r( WXK_NUMPAD_ENTER  );         // keycode
1879         r( WXK_NUMPAD_F1  );            // keycode
1880         r( WXK_NUMPAD_F2  );            // keycode
1881         r( WXK_NUMPAD_F3  );            // keycode
1882         r( WXK_NUMPAD_F4  );            // keycode
1883         r( WXK_NUMPAD_HOME  );          // keycode
1884         r( WXK_NUMPAD_LEFT  );          // keycode
1885         r( WXK_NUMPAD_UP  );            // keycode
1886         r( WXK_NUMPAD_RIGHT  );         // keycode
1887         r( WXK_NUMPAD_DOWN  );          // keycode
1888         r( WXK_NUMPAD_PAGEUP  );        // keycode
1889         r( WXK_NUMPAD_PAGEDOWN  );      // keycode
1890         r( WXK_NUMPAD_END  );           // keycode
1891         r( WXK_NUMPAD_BEGIN  );         // keycode
1892         r( WXK_NUMPAD_INSERT  );        // keycode
1893         r( WXK_NUMPAD_DELETE  );        // keycode
1894         r( WXK_NUMPAD_EQUAL  );         // keycode
1895         r( WXK_NUMPAD_MULTIPLY  );      // keycode
1896         r( WXK_NUMPAD_ADD  );           // keycode
1897         r( WXK_NUMPAD_SEPARATOR  );     // keycode
1898         r( WXK_NUMPAD_SUBTRACT  );      // keycode
1899         r( WXK_NUMPAD_DECIMAL  );       // keycode
1900         r( WXK_NUMPAD_DIVIDE  );        // keycode
1901 #if defined(__WXMSW__)        
1902         r( WXK_WINDOWS_LEFT  );         // keycode
1903         r( WXK_WINDOWS_RIGHT  );        // keycode
1904         r( WXK_WINDOWS_MENU  );         // keycode
1905         r( WXK_COMMAND  );              // keycode
1906 #endif      
1907         r( WXK_SPECIAL1  );             // keycode
1908         r( WXK_SPECIAL2  );             // keycode
1909         r( WXK_SPECIAL3  );             // keycode
1910         r( WXK_SPECIAL4  );             // keycode
1911         r( WXK_SPECIAL5  );             // keycode
1912         r( WXK_SPECIAL6  );             // keycode
1913         r( WXK_SPECIAL7  );             // keycode
1914         r( WXK_SPECIAL8  );             // keycode
1915         r( WXK_SPECIAL9  );             // keycode
1916         r( WXK_SPECIAL10  );            // keycode
1917         r( WXK_SPECIAL11  );            // keycode
1918         r( WXK_SPECIAL12  );            // keycode
1919         r( WXK_SPECIAL13  );            // keycode
1920         r( WXK_SPECIAL14  );            // keycode
1921         r( WXK_SPECIAL15  );            // keycode
1922         r( WXK_SPECIAL16  );            // keycode
1923         r( WXK_SPECIAL17  );            // keycode
1924         r( WXK_SPECIAL18  );            // keycode
1925         r( WXK_SPECIAL19  );            // keycode
1926         r( WXK_SPECIAL20  );            // keycode 
1927 #endif        
1928 #if WXPERL_W_VERSION_GE( 2, 8, 0 )            
1929         r( WXK_PAGEUP );                // keycode
1930         r( WXK_PAGEDOWN );              // keycode
1931 #if WXWIN_COMPATIBILITY_2_6 
1932         r( WXK_PRIOR );                 // keycode
1933         r( WXK_NEXT );                  // keycode
1934         r( WXK_NUMPAD_PRIOR );          // keycode
1935         r( WXK_NUMPAD_NEXT );           // keycode
1936 #endif
1937 #endif        
1938     }
1939
1940     r( wxKILL_OK );                     // process
1941     r( wxKILL_BAD_SIGNAL );             // process
1942     r( wxKILL_ACCESS_DENIED );          // process
1943     r( wxKILL_NO_PROCESS );             // process
1944     r( wxKILL_ERROR );                  // process
1945 #if WXPERL_W_VERSION_GE( 2, 5, 4 )
1946     r( wxKILL_NOCHILDREN );             // process
1947     r( wxKILL_CHILDREN );               // process
1948 #endif
1949     break;
1950   case 'L':
1951     r( wxLB_SINGLE );                   // listbox
1952     r( wxLB_MULTIPLE );                 // listbox
1953     r( wxLB_EXTENDED );                 // listbox
1954     r( wxLB_HSCROLL );                  // listbox
1955     r( wxLB_ALWAYS_SB );                // listbox
1956     r( wxLB_NEEDED_SB );                // listbox
1957     r( wxLB_OWNERDRAW );                // listbox
1958     r( wxLB_SORT );                     // listbox
1959     r( wxLB_INT_HEIGHT  );              // listbox
1960
1961 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
1962     r( wxLB_DEFAULT );                  // listbook
1963     r( wxLB_TOP );                      // listbook
1964     r( wxLB_BOTTOM );                   // listbook
1965     r( wxLB_LEFT );                     // listbook
1966     r( wxLB_RIGHT );                    // listbook
1967     r( wxLB_ALIGN_MASK );               // listbook
1968 #endif
1969
1970     r( wxLEFT );                        // sizer layout constraints
1971     r( wxLIGHT );                       // font
1972
1973     r( wxLI_HORIZONTAL );               // staticline
1974     r( wxLI_VERTICAL );                 // staticline
1975
1976     r( wxLONG_DASH );                   // pen
1977
1978     r( wxLeft );                        // layout constraints
1979     r( wxLeftOf );                      // layout constraints
1980
1981     r( wxLOCALE_LOAD_DEFAULT );         // locale
1982     r( wxLOCALE_CONV_ENCODING );        // locale
1983
1984 #if WXPERL_W_VERSION_GE( 2, 7, 1 )
1985     r( wxLayout_Default );
1986     r( wxLayout_LeftToRight );
1987     r( wxLayout_RightToLeft );
1988 #endif
1989
1990     if( strnEQ( name, "wxLANGUAGE_", 11 ) )
1991     {
1992       // !parser: sub { $_[0] =~ m<^\s*r\w*\(\s*(\w+)\s*\);\s*(?://(.*))?$> && return ( "wxLANGUAGE_" . $1, $2 ) }
1993 #define rr( n ) \
1994     if( strEQ( nm, #n ) ) \
1995         return wxLANGUAGE_##n;
1996         const char* nm = name + 11;
1997
1998         rr( DEFAULT );                  // locale
1999         rr( UNKNOWN );                  // locale
2000         rr( ABKHAZIAN );                // locale
2001         rr( AFAR );                     // locale
2002         rr( AFRIKAANS );                // locale
2003         rr( ALBANIAN );                 // locale
2004         rr( AMHARIC );                  // locale
2005         rr( ARABIC );                   // locale
2006         rr( ARABIC_ALGERIA );           // locale
2007         rr( ARABIC_BAHRAIN );           // locale
2008         rr( ARABIC_EGYPT );             // locale
2009         rr( ARABIC_IRAQ );              // locale
2010         rr( ARABIC_JORDAN );            // locale
2011         rr( ARABIC_KUWAIT );            // locale
2012         rr( ARABIC_LEBANON );           // locale
2013         rr( ARABIC_LIBYA );             // locale
2014         rr( ARABIC_MOROCCO );           // locale
2015         rr( ARABIC_OMAN );              // locale
2016         rr( ARABIC_QATAR );             // locale
2017         rr( ARABIC_SAUDI_ARABIA );      // locale
2018         rr( ARABIC_SUDAN );             // locale
2019         rr( ARABIC_SYRIA );             // locale
2020         rr( ARABIC_TUNISIA );           // locale
2021         rr( ARABIC_UAE );               // locale
2022         rr( ARABIC_YEMEN );             // locale
2023         rr( ARMENIAN );                 // locale
2024         rr( ASSAMESE );                 // locale
2025         rr( AYMARA );                   // locale
2026         rr( AZERI );                    // locale
2027         rr( AZERI_CYRILLIC );           // locale
2028         rr( AZERI_LATIN );              // locale
2029         rr( BASHKIR );                  // locale
2030         rr( BASQUE );                   // locale
2031         rr( BELARUSIAN );               // locale
2032         rr( BENGALI );                  // locale
2033         rr( BHUTANI );                  // locale
2034         rr( BIHARI );                   // locale
2035         rr( BISLAMA );                  // locale
2036         rr( BRETON );                   // locale
2037         rr( BULGARIAN );                // locale
2038         rr( BURMESE );                  // locale
2039         rr( CAMBODIAN );                // locale
2040         rr( CATALAN );                  // locale
2041         rr( CHINESE );                  // locale
2042         rr( CHINESE_SIMPLIFIED );       // locale
2043         rr( CHINESE_TRADITIONAL );      // locale
2044         rr( CHINESE_HONGKONG );         // locale
2045         rr( CHINESE_MACAU );            // locale
2046         rr( CHINESE_SINGAPORE );        // locale
2047         rr( CHINESE_TAIWAN );           // locale
2048         rr( CORSICAN );                 // locale
2049         rr( CROATIAN );                 // locale
2050         rr( CZECH );                    // locale
2051         rr( DANISH );                   // locale
2052         rr( DUTCH );                    // locale
2053         rr( DUTCH_BELGIAN );            // locale
2054         rr( ENGLISH );                  // locale
2055         rr( ENGLISH_UK );               // locale
2056         rr( ENGLISH_US );               // locale
2057         rr( ENGLISH_AUSTRALIA );        // locale
2058         rr( ENGLISH_BELIZE );           // locale
2059         rr( ENGLISH_BOTSWANA );         // locale
2060         rr( ENGLISH_CANADA );           // locale
2061         rr( ENGLISH_CARIBBEAN );        // locale
2062         rr( ENGLISH_DENMARK );          // locale
2063         rr( ENGLISH_EIRE );             // locale
2064         rr( ENGLISH_JAMAICA );          // locale
2065         rr( ENGLISH_NEW_ZEALAND );      // locale
2066         rr( ENGLISH_PHILIPPINES );      // locale
2067         rr( ENGLISH_SOUTH_AFRICA );     // locale
2068         rr( ENGLISH_TRINIDAD );         // locale
2069         rr( ENGLISH_ZIMBABWE );         // locale
2070         rr( ESPERANTO );                // locale
2071         rr( ESTONIAN );                 // locale
2072         rr( FAEROESE );                 // locale
2073         rr( FARSI );                    // locale
2074         rr( FIJI );                     // locale
2075         rr( FINNISH );                  // locale
2076         rr( FRENCH );                   // locale
2077         rr( FRENCH_BELGIAN );           // locale
2078         rr( FRENCH_CANADIAN );          // locale
2079         rr( FRENCH_LUXEMBOURG );        // locale
2080         rr( FRENCH_MONACO );            // locale
2081         rr( FRENCH_SWISS );             // locale
2082         rr( FRISIAN );                  // locale
2083         rr( GALICIAN );                 // locale
2084         rr( GEORGIAN );                 // locale
2085         rr( GERMAN );                   // locale
2086         rr( GERMAN_AUSTRIAN );          // locale
2087         rr( GERMAN_BELGIUM );           // locale
2088         rr( GERMAN_LIECHTENSTEIN );     // locale
2089         rr( GERMAN_LUXEMBOURG );        // locale
2090         rr( GERMAN_SWISS );             // locale
2091         rr( GREEK );                    // locale
2092         rr( GREENLANDIC );              // locale
2093         rr( GUARANI );                  // locale
2094         rr( GUJARATI );                 // locale
2095         rr( HAUSA );                    // locale
2096         rr( HEBREW );                   // locale
2097         rr( HINDI );                    // locale
2098         rr( HUNGARIAN );                // locale
2099         rr( ICELANDIC );                // locale
2100         rr( INDONESIAN );               // locale
2101         rr( INTERLINGUA );              // locale
2102         rr( INTERLINGUE );              // locale
2103         rr( INUKTITUT );                // locale
2104         rr( INUPIAK );                  // locale
2105         rr( IRISH );                    // locale
2106         rr( ITALIAN );                  // locale
2107         rr( ITALIAN_SWISS );            // locale
2108         rr( JAPANESE );                 // locale
2109         rr( JAVANESE );                 // locale
2110         rr( KANNADA );                  // locale
2111         rr( KASHMIRI );                 // locale
2112         rr( KASHMIRI_INDIA );           // locale
2113         rr( KAZAKH );                   // locale
2114         rr( KERNEWEK );                 // locale
2115         rr( KINYARWANDA );              // locale
2116         rr( KIRGHIZ );                  // locale
2117         rr( KIRUNDI );                  // locale
2118         rr( KONKANI );                  // locale
2119         rr( KOREAN );                   // locale
2120         rr( KURDISH );                  // locale
2121         rr( LAOTHIAN );                 // locale
2122         rr( LATIN );                    // locale
2123         rr( LATVIAN );                  // locale
2124         rr( LINGALA );                  // locale
2125         rr( LITHUANIAN );               // locale
2126         rr( MACEDONIAN );               // locale
2127         rr( MALAGASY );                 // locale
2128         rr( MALAY );                    // locale
2129         rr( MALAYALAM );                // locale
2130         rr( MALAY_BRUNEI_DARUSSALAM );  // locale
2131         rr( MALAY_MALAYSIA );           // locale
2132         rr( MALTESE );                  // locale
2133         rr( MANIPURI );                 // locale
2134         rr( MAORI );                    // locale
2135         rr( MARATHI );                  // locale
2136         rr( MOLDAVIAN );                // locale
2137         rr( MONGOLIAN );                // locale
2138         rr( NAURU );                    // locale
2139         rr( NEPALI );                   // locale
2140         rr( NEPALI_INDIA );             // locale
2141         rr( NORWEGIAN_BOKMAL );         // locale
2142         rr( NORWEGIAN_NYNORSK );        // locale
2143         rr( OCCITAN );                  // locale
2144         rr( ORIYA );                    // locale
2145         rr( OROMO );                    // locale
2146         rr( PASHTO );                   // locale
2147         rr( POLISH );                   // locale
2148         rr( PORTUGUESE );               // locale
2149         rr( PORTUGUESE_BRAZILIAN );     // locale
2150         rr( PUNJABI );                  // locale
2151         rr( QUECHUA );                  // locale
2152         rr( RHAETO_ROMANCE );           // locale
2153         rr( ROMANIAN );                 // locale
2154         rr( RUSSIAN );                  // locale
2155         rr( RUSSIAN_UKRAINE );          // locale
2156 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
2157         rr( SAMI );                     // locale
2158 #endif
2159         rr( SAMOAN );                   // locale
2160         rr( SANGHO );                   // locale
2161         rr( SANSKRIT );                 // locale
2162         rr( SCOTS_GAELIC );             // locale
2163         rr( SERBIAN );                  // locale
2164         rr( SERBIAN_CYRILLIC );         // locale
2165         rr( SERBIAN_LATIN );            // locale
2166         rr( SERBO_CROATIAN );           // locale
2167         rr( SESOTHO );                  // locale
2168         rr( SETSWANA );                 // locale
2169         rr( SHONA );                    // locale
2170         rr( SINDHI );                   // locale
2171         rr( SINHALESE );                // locale
2172         rr( SISWATI );                  // locale
2173         rr( SLOVAK );                   // locale
2174         rr( SLOVENIAN );                // locale
2175         rr( SOMALI );                   // locale
2176         rr( SPANISH );                  // locale
2177         rr( SPANISH_ARGENTINA );        // locale
2178         rr( SPANISH_BOLIVIA );          // locale
2179         rr( SPANISH_CHILE );            // locale
2180         rr( SPANISH_COLOMBIA );         // locale
2181         rr( SPANISH_COSTA_RICA );       // locale
2182         rr( SPANISH_DOMINICAN_REPUBLIC ); // locale
2183         rr( SPANISH_ECUADOR );          // locale
2184         rr( SPANISH_EL_SALVADOR );      // locale
2185         rr( SPANISH_GUATEMALA );        // locale
2186         rr( SPANISH_HONDURAS );         // locale
2187         rr( SPANISH_MEXICAN );          // locale
2188         rr( SPANISH_MODERN );           // locale
2189         rr( SPANISH_NICARAGUA );        // locale
2190         rr( SPANISH_PANAMA );           // locale
2191         rr( SPANISH_PARAGUAY );         // locale
2192         rr( SPANISH_PERU );             // locale
2193         rr( SPANISH_PUERTO_RICO );      // locale
2194         rr( SPANISH_URUGUAY );          // locale
2195         rr( SPANISH_US );               // locale
2196         rr( SPANISH_VENEZUELA );        // locale
2197         rr( SUNDANESE );                // locale
2198         rr( SWAHILI );                  // locale
2199         rr( SWEDISH );                  // locale
2200         rr( SWEDISH_FINLAND );          // locale
2201         rr( TAGALOG );                  // locale
2202         rr( TAJIK );                    // locale
2203         rr( TAMIL );                    // locale
2204         rr( TATAR );                    // locale
2205         rr( TELUGU );                   // locale
2206         rr( THAI );                     // locale
2207         rr( TIBETAN );                  // locale
2208         rr( TIGRINYA );                 // locale
2209         rr( TONGA );                    // locale
2210         rr( TSONGA );                   // locale
2211         rr( TURKISH );                  // locale
2212         rr( TURKMEN );                  // locale
2213         rr( TWI );                      // locale
2214         rr( UIGHUR );                   // locale
2215         rr( UKRAINIAN );                // locale
2216         rr( URDU );                     // locale
2217         rr( URDU_INDIA );               // locale
2218         rr( URDU_PAKISTAN );            // locale
2219         rr( UZBEK );                    // locale
2220         rr( UZBEK_CYRILLIC );           // locale
2221         rr( UZBEK_LATIN );              // locale
2222 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
2223         rr( VALENCIAN );                // locale
2224 #endif
2225         rr( VIETNAMESE );               // locale
2226         rr( VOLAPUK );                  // locale
2227         rr( WELSH );                    // locale
2228         rr( WOLOF );                    // locale
2229         rr( XHOSA );                    // locale
2230         rr( YIDDISH );                  // locale
2231         rr( YORUBA );                   // locale
2232         rr( ZHUANG );                   // locale
2233         rr( ZULU );                     // locale
2234         rr( USER_DEFINED );             // locale
2235         //prefix
2236         // !parser: sub { $_[0] =~ m<^\s*r\w*\(\s*(\w+)\s*\);\s*(?://(.*))?$> }
2237 #undef rr
2238     }
2239     break;
2240   case 'M':
2241     r( wxMAXIMIZE );                    // frame
2242     r( wxMAXIMIZE_BOX );                // frame
2243     r( wxMENU_TEAROFF );                // menu
2244     r( wxMINIMIZE );                    // frame
2245     r( wxMINIMIZE_BOX );                // frame
2246     r( wxMODERN );                      // font
2247 #if WXPERL_W_VERSION_LT( 2, 7, 0 ) || WXWIN_COMPATIBILITY_2_6
2248     r( wxMULTIPLE );                    // filedialog
2249 #endif    
2250     r( wxMAJOR_VERSION );
2251     r( wxMINOR_VERSION );
2252
2253     r( wxMM_TWIPS );                    // dc
2254     r( wxMM_POINTS );                   // dc
2255     r( wxMM_METRIC );                   // dc
2256     r( wxMM_LOMETRIC );                 // dc
2257     r( wxMM_TEXT );                     // dc
2258
2259     r( wxMORE );                        // sizer
2260
2261     r( wxMB_DOCKABLE );                 // menu
2262
2263     r( wxMOUSE_BTN_ANY );
2264     r( wxMOUSE_BTN_NONE );
2265     r( wxMOUSE_BTN_LEFT );
2266     r( wxMOUSE_BTN_MIDDLE );
2267     r( wxMOUSE_BTN_RIGHT );
2268 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
2269     r( wxMOUSE_BTN_AUX1 );
2270     r( wxMOUSE_BTN_AUX2 );
2271 #endif
2272
2273 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
2274     r( wxMOD_NONE );
2275     r( wxMOD_ALT );
2276     r( wxMOD_CONTROL );
2277     r( wxMOD_SHIFT );
2278     r( wxMOD_WIN );
2279 #endif
2280 #if WXPERL_W_VERSION_GE( 2, 8, 0 )
2281     r( wxMOD_ALTGR );
2282     r( wxMOD_META );
2283     r( wxMOD_CMD );
2284     r( wxMOD_ALL );
2285 #endif
2286     break;
2287   case 'N':
2288     r( wxNB_FIXEDWIDTH );               // notebook
2289     r( wxNB_LEFT );                     // notebook
2290     r( wxNB_RIGHT );                    // notebook
2291     r( wxNB_BOTTOM );                   // notebook
2292     r( wxNB_TOP );                      // notebook
2293     r( wxNB_MULTILINE );                // notebook
2294 #if WXPERL_W_VERSION_GE( 2, 5, 0 )
2295     r( wxNB_HITTEST_NOWHERE );          // notebook
2296     r( wxNB_HITTEST_ONICON );           // notebook
2297     r( wxNB_HITTEST_ONLABEL );          // notebook
2298     r( wxNB_HITTEST_ONITEM );           // notebook
2299 #endif
2300 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
2301     r( wxNB_HITTEST_ONPAGE );           // notebook
2302 #endif
2303     r( wxNB_DEFAULT );                  // notebook
2304 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
2305     r( wxNB_FLAT );                     // notebook
2306     r( wxNB_NOPAGETHEME );              // notebook
2307 #endif
2308
2309     r( wxNO );                          // dialog
2310     r( wxNO_BORDER );                   // frame toolbar
2311 #if WXPERL_W_VERSION_LT( 2, 7, 0 )
2312     r( wxNO_3D );                       // dialog window
2313 #endif
2314     r( wxNO_FULL_REPAINT_ON_RESIZE );   // window
2315     r( wxNORMAL );                      // font
2316     r( wxNOT_FOUND );             
2317     r( wxNO_DEFAULT );                  // dialog
2318
2319     r( wxNAND );                        // dc
2320     r( wxNOR );                         // dc
2321     r( wxNO_OP );                       // dc
2322     r( wxNORTH );
2323
2324     r( wxNavigateBackward );
2325     r( wxNavigateForward );
2326     r( wxNavigateWinChange );
2327 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
2328     r( wxNavigateFromTab );
2329 #endif
2330     break;
2331   case 'O':
2332     r( wxOK );                          // dialog
2333 #if WXPERL_W_VERSION_LT( 2, 7, 0 ) || WXWIN_COMPATIBILITY_2_6
2334     r( wxOPEN );                        // filedialog
2335     r( wxOVERWRITE_PROMPT );            // filedialog
2336 #endif
2337     r( wxODDEVEN_RULE );                // dc
2338     r( wxOR );                          // dc
2339     r( wxOR_INVERT );                   // dc
2340     r( wxOR_REVERSE );                  // dc
2341
2342     r( wxOutRegion );                   // region
2343
2344 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
2345     r( wxODCB_DCLICK_CYCLES );          // ownerdrawncombobox
2346     r( wxODCB_STD_CONTROL_PAINT );      // ownerdrawncombobox
2347     r( wxODCB_PAINTING_CONTROL );       // ownerdrawncombobox
2348     r( wxODCB_PAINTING_SELECTED );      // ownerdrawncombobox
2349 #endif
2350     break;
2351   case 'P':
2352 #if WXPERL_W_VERSION_LT( 2, 7, 0 )
2353     r( wxPROCESS_ENTER );
2354 #endif
2355
2356     r( wxPD_APP_MODAL );                // progressdialog
2357     r( wxPD_AUTO_HIDE );                // progressdialog
2358     r( wxPD_CAN_ABORT );                // progressdialog
2359     r( wxPD_ELAPSED_TIME );             // progressdialog
2360     r( wxPD_ESTIMATED_TIME );           // progressdialog
2361     r( wxPD_REMAINING_TIME );           // progressdialog
2362 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
2363     r( wxPD_SMOOTH );                   // progressdialog
2364     r( wxPD_CAN_SKIP );                 // progressdialog
2365 #endif
2366
2367 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
2368     r( wxPOWER_SOCKET  );               // power
2369     r( wxPOWER_BATTERY );               // power
2370     r( wxPOWER_UNKNOWN );               // power
2371     r( wxPB_USE_TEXTCTRL );
2372 #endif
2373
2374     r( wxPercentOf );                   // layout constraints
2375     r( wxPartRegion );                  // layout constraints
2376 #if wxUSE_EXTENDED_RTTI
2377     r( wxPROP_DEPRECATED );
2378     r( wxPROP_OBJECT_GRAPH );
2379     r( wxPROP_ENUM_STORE_LONG );
2380     r( wxPROP_DONT_STREAM );
2381 #endif
2382 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
2383     r( wxPROPSHEET_DEFAULT );           // propertysheet
2384     r( wxPROPSHEET_NOTEBOOK );          // propertysheet
2385     r( wxPROPSHEET_TOOLBOOK );          // propertysheet
2386     r( wxPROPSHEET_CHOICEBOOK );        // propertysheet
2387     r( wxPROPSHEET_LISTBOOK );          // propertysheet
2388     r( wxPROPSHEET_BUTTONTOOLBOOK );    // propertysheet
2389     r( wxPROPSHEET_TREEBOOK );          // propertysheet
2390     r( wxPROPSHEET_SHRINKTOFIT );       // propertysheet
2391 #endif
2392
2393     r( wxPENSTYLE_BDIAGONAL_HATCH );    // pen
2394     r( wxPENSTYLE_CROSSDIAG_HATCH );    // pen
2395     r( wxPENSTYLE_CROSS_HATCH );        // pen
2396     r( wxPENSTYLE_DOT );                // pen
2397     r( wxPENSTYLE_DOT_DASH );           // pen
2398     r( wxPENSTYLE_FDIAGONAL_HATCH );    // pen
2399 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
2400     r( wxPENSTYLE_FIRST_HATCH );        // pen
2401 #endif
2402     r( wxPENSTYLE_HORIZONTAL_HATCH );   // pen
2403     r( wxPENSTYLE_INVALID );            // pen
2404 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
2405     r( wxPENSTYLE_LAST_HATCH );         // pen
2406 #endif
2407     r( wxPENSTYLE_LONG_DASH );          // pen
2408     r( wxPENSTYLE_SHORT_DASH );         // pen
2409     r( wxPENSTYLE_SOLID );              // pen
2410     r( wxPENSTYLE_STIPPLE );            // pen
2411     r( wxPENSTYLE_STIPPLE_MASK );       // pen
2412     r( wxPENSTYLE_STIPPLE_MASK_OPAQUE );// pen
2413     r( wxPENSTYLE_TRANSPARENT );        // pen
2414     r( wxPENSTYLE_USER_DASH );          // pen
2415     r( wxPENSTYLE_VERTICAL_HATCH );     // pen
2416     break;
2417   case 'R':
2418     r( wxRAISED_BORDER );               // window
2419     r( wxRA_SPECIFY_ROWS );             // radiobox
2420     r( wxRA_SPECIFY_COLS );             // radiobox
2421     r( wxRA_HORIZONTAL );               // radiobox
2422     r( wxRA_LEFTTORIGHT );              // radiobox
2423     r( wxRA_TOPTOBOTTOM );              // radiobox
2424 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
2425     r( wxRA_USE_CHECKBOX );             // radiobox
2426 #endif
2427     r( wxRA_VERTICAL );                 // radiobox
2428     r( wxRB_GROUP );                    // radiobutton
2429     r( wxRB_SINGLE );                   // radiobutton
2430 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
2431     r( wxRB_USE_CHECKBOX );             // radiobutton
2432 #endif
2433     r( wxRESIZE_BORDER );               // dialog frame
2434     r( wxRETAINED );                    // scrolledwindow
2435     r( wxRIGHT );                       // sizer layout constraints
2436     r( wxROMAN );                       // font
2437
2438     r( wxRight );                       // layout constraints
2439     r( wxRightOf );                     // layout constraints
2440
2441     r( wxRESET );                       // sizer
2442 #if WXPERL_W_VERSION_LT( 2, 9, 0 ) || WXWIN_COMPATIBILITY_2_8
2443     r( wxROP_BLACK );                   // dc
2444     r( wxROP_COPYPEN );                 // dc
2445     r( wxROP_MASKNOTPEN );              // dc
2446     r( wxROP_MASKPEN );                 // dc
2447     r( wxROP_MASKPENNOT );              // dc
2448     r( wxROP_MERGENOTPEN );             // dc
2449     r( wxROP_MERGEPEN );                // dc
2450     r( wxROP_MERGEPENNOT );             // dc
2451     r( wxROP_NOP );                     // dc
2452     r( wxROP_NOT );                     // dc
2453     r( wxROP_NOTCOPYPEN );              // dc
2454     r( wxROP_NOTMASKPEN );              // dc
2455     r( wxROP_NOTMERGEPEN );             // dc
2456     r( wxROP_NOTXORPEN );               // dc
2457     r( wxROP_WHITE );                   // dc
2458     r( wxROP_XORPEN );                  // dc
2459 #endif
2460     break;
2461   case 'S':
2462
2463 #define wxSPLASH_CENTER_ON_PARENT wxSPLASH_CENTRE_ON_PARENT
2464 #define wxSPLASH_CENTER_ON_SCREEN wxSPLASH_CENTRE_ON_SCREEN
2465 #define wxSPLASH_NO_CENTER wxSPLASH_NO_CENTRE
2466
2467     r( wxSPLASH_CENTRE_ON_PARENT );     // splashscreen
2468     r( wxSPLASH_CENTRE_ON_SCREEN );     // splashscreen
2469     r( wxSPLASH_NO_CENTRE );            // splashscreen
2470     r( wxSPLASH_CENTER_ON_PARENT );     // splashscreen
2471     r( wxSPLASH_CENTER_ON_SCREEN );     // splashscreen
2472     r( wxSPLASH_NO_CENTER );            // splashscreen
2473     r( wxSPLASH_TIMEOUT );              // splashscreen
2474     r( wxSPLASH_NO_TIMEOUT );           // splashscreen
2475
2476 #if WXPERL_W_VERSION_LT( 2, 7, 0 ) || WXWIN_COMPATIBILITY_2_6
2477     r( wxSAVE );                        // filedialog
2478 #endif
2479     //    r( wxSB_SIZEGRIP );
2480     r( wxSB_HORIZONTAL );               // scrollbar
2481     r( wxSB_VERTICAL );                 // scrollbar
2482 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
2483     r( wxSB_NORMAL );                   // statusbar
2484     r( wxSB_FLAT );                     // statusbar
2485     r( wxSB_RAISED );                   // statusbar
2486 #endif
2487     r( wxSCRIPT );                      // font
2488     r( wxSIMPLE_BORDER );               // window
2489     r( wxSLANT );                       // font
2490     r( wxSTATIC_BORDER );               // window
2491     r( wxSTAY_ON_TOP );                 // frame dialog
2492     r( wxST_NO_AUTORESIZE );            // statictext
2493 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
2494     r( wxST_ELLIPSIZE_START );          // statictext
2495     r( wxST_ELLIPSIZE_MIDDLE );         // statictext
2496     r( wxST_ELLIPSIZE_END );            // statictext
2497     r( wxST_MARKUP );                   // statictext
2498 #endif
2499     r( wxST_SIZEGRIP );                 // statusbar
2500     r( wxSUNKEN_BORDER );               // window
2501     r( wxSYSTEM_MENU );                 // frame dialog
2502     r( wxSWISS );                       // font
2503     r( wxSL_HORIZONTAL );               // slider
2504     r( wxSL_VERTICAL );                 // slider
2505     r( wxSL_AUTOTICKS );                // slider
2506     r( wxSL_LABELS );                   // slider
2507     r( wxSL_LEFT );                     // slider
2508     r( wxSL_RIGHT );                    // slider
2509     r( wxSL_TOP );                      // slider
2510     r( wxSL_SELRANGE );                 // slider
2511     r( wxSL_BOTH );                     // slider
2512     r( wxSL_BOTTOM );                   // slider
2513     r( wxSL_TICKS );                    // slider
2514 #if WXPERL_W_VERSION_GE( 2, 5, 4 )
2515     r( wxSL_INVERSE );                  // slider
2516 #endif
2517
2518     r( wxSIZE_AUTO_WIDTH );             // window
2519     r( wxSIZE_AUTO_HEIGHT );            // window
2520     r( wxSIZE_AUTO );                   // window
2521     r( wxSIZE_USE_EXISTING );           // window
2522     r( wxSIZE_ALLOW_MINUS_ONE );        // window
2523 #if WXPERL_W_VERSION_GE( 2, 6, 2 )
2524     r( wxSIZE_FORCE );                  // window
2525 #endif
2526
2527     r( wxSIGNONE );                     // process
2528     r( wxSIGHUP );                      // process
2529     r( wxSIGINT );                      // process
2530     r( wxSIGQUIT );                     // process
2531     r( wxSIGILL );                      // process
2532     r( wxSIGTRAP );                     // process
2533     r( wxSIGABRT );                     // process
2534     r( wxSIGEMT );                      // process
2535     r( wxSIGFPE );                      // process
2536     r( wxSIGKILL );                     // process
2537     r( wxSIGBUS );                      // process
2538     r( wxSIGSEGV );                     // process
2539     r( wxSIGSYS );                      // process
2540     r( wxSIGPIPE );                     // process
2541     r( wxSIGALRM );                     // process
2542     r( wxSIGTERM );                     // process
2543
2544     r( wxSP_HORIZONTAL );               // spinbutton
2545     r( wxSP_VERTICAL );                 // spinbutton
2546     r( wxSP_ARROW_KEYS );               // spinbutton spinctrl
2547     r( wxSP_WRAP );                     // spinbutton spinctrl
2548
2549     r( wxSP_3D );                       // splitterwindow
2550     r( wxSP_3DSASH );                   // splitterwindow
2551     r( wxSP_3DBORDER );                 // splitterwindow
2552 #if WXPERL_W_VERSION_LT( 2, 7, 0 )
2553     r( wxSP_FULLSASH );                 // splitterwindow
2554 #endif
2555     r( wxSP_BORDER );                   // splitterwindow
2556     r( wxSP_NOBORDER );                 // splitterwindow
2557     r( wxSP_PERMIT_UNSPLIT );           // splitterwindow
2558     r( wxSP_LIVE_UPDATE );              // splitterwindow
2559     r( wxSP_NOSASH );                   // splitterwindow
2560     r( wxSP_NO_XP_THEME );              // splitterwindow
2561
2562     r( wxSPLIT_HORIZONTAL );            // splitterwindow
2563     r( wxSPLIT_VERTICAL );              // splitterwindow
2564
2565     r( wxSHAPED );                      // sizer
2566
2567     r( wxSHORT_DASH );                  // pen
2568     r( wxSTIPPLE );                     // brush pen
2569     r( wxSTIPPLE_MASK_OPAQUE );         // brush pen
2570
2571     r( wxSET );                         // dc
2572     r( wxSRC_INVERT );                  // dc
2573
2574     r( wxSOLID );                       // dc brush pen
2575
2576     r( wxSASH_STATUS_OK );              // sashwindow
2577     r( wxSASH_STATUS_OUT_OF_RANGE );    // sashwindow
2578     r( wxSASH_TOP );                    // sashwindow
2579     r( wxSASH_RIGHT );                  // sashwindow
2580     r( wxSASH_BOTTOM );                 // sashwindow
2581     r( wxSASH_LEFT );                   // sashwindow
2582     r( wxSASH_NONE );                   // sashwindow
2583
2584     r( wxSW_3D );                       // sashwindow
2585     r( wxSW_3DSASH );                   // sashwindow
2586     r( wxSW_3DBORDER );                 // sashwindow
2587     r( wxSW_BORDER );                   // sashwindow
2588 #if WXPERL_W_VERSION_GE( 2, 5 ,1 )
2589     r( wxSOUND_SYNC );                  // sound
2590     r( wxSOUND_ASYNC );                 // sound
2591     r( wxSOUND_LOOP );                  // sound
2592 #endif
2593     r( wxSameAs );                      // layout constraints
2594
2595     // fonts
2596     r( wxSYS_OEM_FIXED_FONT );          // systemsettings
2597     r( wxSYS_ANSI_FIXED_FONT );         // systemsettings
2598     r( wxSYS_ANSI_VAR_FONT );           // systemsettings
2599     r( wxSYS_SYSTEM_FONT );             // systemsettings
2600     r( wxSYS_DEVICE_DEFAULT_FONT );     // systemsettings
2601     r( wxSYS_DEFAULT_GUI_FONT );        // systemsettings
2602     r( wxSYS_ICONTITLE_FONT );          // systemsettings
2603     r( wxSYS_SYSTEM_FIXED_FONT );       // systemsettings
2604
2605     // colours
2606     r( wxSYS_COLOUR_SCROLLBAR );        // systemsettings
2607     r( wxSYS_COLOUR_BACKGROUND );       // systemsettings
2608     r( wxSYS_COLOUR_ACTIVECAPTION );    // systemsettings
2609     r( wxSYS_COLOUR_INACTIVECAPTION );  // systemsettings
2610     r( wxSYS_COLOUR_MENU );             // systemsettings
2611     r( wxSYS_COLOUR_WINDOW );           // systemsettings
2612     r( wxSYS_COLOUR_WINDOWFRAME );      // systemsettings
2613     r( wxSYS_COLOUR_MENUTEXT );         // systemsettings
2614     r( wxSYS_COLOUR_WINDOWTEXT );       // systemsettings
2615     r( wxSYS_COLOUR_CAPTIONTEXT );      // systemsettings
2616     r( wxSYS_COLOUR_ACTIVEBORDER );     // systemsettings
2617     r( wxSYS_COLOUR_INACTIVEBORDER );   // systemsettings
2618     r( wxSYS_COLOUR_APPWORKSPACE );     // systemsettings
2619     r( wxSYS_COLOUR_HIGHLIGHT );        // systemsettings
2620     r( wxSYS_COLOUR_HIGHLIGHTTEXT );    // systemsettings
2621     r( wxSYS_COLOUR_BTNFACE );          // systemsettings
2622     r( wxSYS_COLOUR_BTNSHADOW );        // systemsettings
2623     r( wxSYS_COLOUR_GRAYTEXT );         // systemsettings
2624     r( wxSYS_COLOUR_BTNTEXT );          // systemsettings
2625     r( wxSYS_COLOUR_INACTIVECAPTIONTEXT ); // systemsettings
2626     r( wxSYS_COLOUR_BTNHIGHLIGHT );     // systemsettings
2627
2628     r( wxSYS_COLOUR_3DDKSHADOW );       // systemsettings
2629     r( wxSYS_COLOUR_3DLIGHT );          // systemsettings
2630     r( wxSYS_COLOUR_INFOTEXT );         // systemsettings
2631     r( wxSYS_COLOUR_INFOBK );           // systemsettings
2632
2633     r( wxSYS_COLOUR_LISTBOX );          // systemsettings
2634
2635     r( wxSYS_COLOUR_DESKTOP );          // systemsettings
2636     r( wxSYS_COLOUR_3DFACE );           // systemsettings
2637     r( wxSYS_COLOUR_3DSHADOW );         // systemsettings
2638     r( wxSYS_COLOUR_3DHIGHLIGHT );      // systemsettings
2639     r( wxSYS_COLOUR_3DHILIGHT );        // systemsettings
2640     r( wxSYS_COLOUR_BTNHILIGHT );       // systemsettings
2641
2642     r( wxSYS_COLOUR_MAX );              // systemsettings
2643
2644     // metrics
2645     r( wxSYS_MOUSE_BUTTONS );           // systemsettings
2646     r( wxSYS_BORDER_X );                // systemsettings
2647     r( wxSYS_BORDER_Y );                // systemsettings
2648     r( wxSYS_CURSOR_X );                // systemsettings
2649     r( wxSYS_CURSOR_Y );                // systemsettings
2650     r( wxSYS_DCLICK_X );                // systemsettings
2651     r( wxSYS_DCLICK_Y );                // systemsettings
2652     r( wxSYS_DRAG_X );                  // systemsettings
2653     r( wxSYS_DRAG_Y );                  // systemsettings
2654     r( wxSYS_EDGE_X );                  // systemsettings
2655     r( wxSYS_EDGE_Y );                  // systemsettings
2656     r( wxSYS_HSCROLL_ARROW_X );         // systemsettings
2657     r( wxSYS_HSCROLL_ARROW_Y );         // systemsettings
2658     r( wxSYS_HTHUMB_X );                // systemsettings
2659     r( wxSYS_ICON_X );                  // systemsettings
2660     r( wxSYS_ICON_Y );                  // systemsettings
2661     r( wxSYS_ICONSPACING_X );           // systemsettings
2662     r( wxSYS_ICONSPACING_Y );           // systemsettings
2663     r( wxSYS_WINDOWMIN_X );             // systemsettings
2664     r( wxSYS_WINDOWMIN_Y );             // systemsettings
2665     r( wxSYS_SCREEN_X );                // systemsettings
2666     r( wxSYS_SCREEN_Y );                // systemsettings
2667     r( wxSYS_FRAMESIZE_X );             // systemsettings
2668     r( wxSYS_FRAMESIZE_Y );             // systemsettings
2669     r( wxSYS_SMALLICON_X );             // systemsettings
2670     r( wxSYS_SMALLICON_Y );             // systemsettings
2671     r( wxSYS_HSCROLL_Y );               // systemsettings
2672     r( wxSYS_VSCROLL_X );               // systemsettings
2673     r( wxSYS_VSCROLL_ARROW_X );         // systemsettings
2674     r( wxSYS_VSCROLL_ARROW_Y );         // systemsettings
2675     r( wxSYS_VTHUMB_Y );                // systemsettings
2676     r( wxSYS_CAPTION_Y );               // systemsettings
2677     r( wxSYS_MENU_Y );                  // systemsettings
2678     r( wxSYS_NETWORK_PRESENT );         // systemsettings
2679     r( wxSYS_PENWINDOWS_PRESENT );      // systemsettings
2680     r( wxSYS_SHOW_SOUNDS );             // systemsettings
2681     r( wxSYS_SWAP_BUTTONS );            // systemsettings
2682
2683     r( wxSYS_SCREEN_NONE );             // systemsettings
2684     r( wxSYS_SCREEN_TINY );             // systemsettings
2685     r( wxSYS_SCREEN_PDA );              // systemsettings
2686     r( wxSYS_SCREEN_SMALL );            // systemsettings
2687     r( wxSYS_SCREEN_DESKTOP );          // systemsettings
2688
2689 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
2690     r( wxSYS_DCLICK_MSEC );             // systemsettings
2691 #endif
2692     r( wxSYS_DEFAULT_PALETTE );         // systemsettings
2693 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
2694     r( wxSYS_TABLET_PRESENT );          // systemsettings
2695 #endif
2696
2697     // capabilities
2698     r( wxSYS_CAN_DRAW_FRAME_DECORATIONS );
2699     r( wxSYS_CAN_ICONIZE_FRAME );
2700
2701 #if WXPERL_W_VERSION_GE( 2, 6, 2 )
2702     r( wxSYS_COLOUR_HOTLIGHT );         // systemsettings
2703     r( wxSYS_COLOUR_GRADIENTACTIVECAPTION ); // systemsettings
2704     r( wxSYS_COLOUR_GRADIENTINACTIVECAPTION ); // systemsettings
2705     r( wxSYS_COLOUR_MENUHILIGHT );      // systemsettings
2706     r( wxSYS_COLOUR_MENUBAR );          // systemsettings
2707 #endif
2708
2709 #if WXPERL_W_VERSION_GE( 2, 7, 1 )
2710     r( wxSTOCK_NOFLAGS );
2711     r( wxSTOCK_WITH_MNEMONIC );
2712     r( wxSTOCK_WITH_ACCELERATOR );
2713     r( wxSTOCK_MENU );
2714 #endif
2715     r( wxSOUTH );
2716
2717     r( wxSETUP );                       // sizer
2718     break;
2719   case 'T':
2720     r( wxTAB_TRAVERSAL );               // panel
2721     r( wxTB_FLAT );                     // toolbar
2722     r( wxTB_DOCKABLE );                 // toolbar
2723     r( wxTB_HORIZONTAL );               // toolbar
2724     r( wxTB_VERTICAL );                 // toolbar
2725     r( wxTB_3DBUTTONS );                // toolbar
2726     r( wxTB_TEXT );                     // toolbar
2727     r( wxTB_NOICONS );                  // toolbar
2728 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
2729     r( wxTB_HORZ_LAYOUT );              // toolbar
2730     r( wxTB_HORZ_TEXT );                // toolbar
2731 #endif
2732 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
2733     r( wxTB_NO_TOOLTIPS );              // toolbar
2734 #endif
2735 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
2736     r( wxTB_RIGHT );                    // toolbar
2737     r( wxTB_BOTTOM );                   // toolbar
2738     r( wxTB_LEFT );                     // toolbar
2739     r( wxTB_TOP );                      // toolbar
2740 #endif
2741     r( wxTB_NOALIGN );                  // toolbar
2742     r( wxTB_NODIVIDER );                // toolbar
2743
2744     r( wxTOOL_STYLE_BUTTON );           // toolbar
2745     r( wxTOOL_STYLE_CONTROL );          // toolbar
2746     r( wxTOOL_STYLE_SEPARATOR );        // toolbar
2747
2748     r( wxTELETYPE );                    // font
2749     r( wxTE_PROCESS_ENTER );            // textctrl combobox comboctrl
2750     r( wxTE_PROCESS_TAB );              // textctrl
2751     r( wxTE_MULTILINE );                // textctrl
2752     r( wxTE_NOHIDESEL );                // textctrl
2753     r( wxTE_NO_VSCROLL );               // textctrl
2754     r( wxTE_PASSWORD );                 // textctrl
2755     r( wxTE_READONLY );                 // textctrl
2756     r( wxTE_RICH );                     // textctrl
2757     r( wxTE_RICH2 );                    // textctrl
2758     r( wxTE_LEFT );                     // textctrl
2759     r( wxTE_RIGHT );                    // textctrl
2760     r( wxTE_CENTRE );                   // textctrl
2761     r( wxTE_CENTER );                   // textctrl
2762     r( wxTE_AUTO_URL );                 // textctrl
2763 #if WXPERL_W_VERSION_GE( 2, 5, 4 )
2764     r( wxTE_DONTWRAP );                 // textctrl
2765     r( wxTE_WORDWRAP );                 // textctrl
2766     r( wxTE_CHARWRAP );                 // textctrl
2767     r( wxTE_BESTWRAP );                 // textctrl
2768 #endif
2769 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
2770     r( wxTE_HT_UNKNOWN );               // textctrl
2771     r( wxTE_HT_BEFORE );                // textctrl
2772     r( wxTE_HT_ON_TEXT );               // textctrl
2773     r( wxTE_HT_BELOW );                 // textctrl
2774     r( wxTE_HT_BEYOND );                // textctrl
2775 #endif
2776 #if WXPERL_W_VERSION_LT( 2, 9, 0 )
2777     r( wxTE_AUTO_SCROLL );              // textctrl
2778 #endif
2779 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
2780     r( wxTE_CAPITALIZE );               // textctrl
2781 #endif
2782 #if WXPERL_W_VERSION_LT( 2, 7, 0 )
2783     r( wxTHICK_FRAME );                 // frame dialog
2784 #endif
2785 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
2786     r( wxTEXT_ALIGNMENT_DEFAULT );      // textctrl
2787     r( wxTEXT_ALIGNMENT_LEFT );         // textctrl
2788     r( wxTEXT_ALIGNMENT_CENTRE );       // textctrl
2789     r( wxTEXT_ALIGNMENT_CENTER );       // textctrl
2790     r( wxTEXT_ALIGNMENT_RIGHT );        // textctrl
2791     r( wxTEXT_ALIGNMENT_JUSTIFIED );    // textctrl
2792     r( wxTEXT_ATTR_TEXT_COLOUR );       // textctrl
2793     r( wxTEXT_ATTR_BACKGROUND_COLOUR ); // textctrl
2794     r( wxTEXT_ATTR_FONT_FACE );         // textctrl
2795     r( wxTEXT_ATTR_FONT_SIZE );         // textctrl
2796     r( wxTEXT_ATTR_FONT_WEIGHT );       // textctrl
2797     r( wxTEXT_ATTR_FONT_ITALIC );       // textctrl
2798     r( wxTEXT_ATTR_FONT_UNDERLINE );    // textctrl
2799     r( wxTEXT_ATTR_FONT );              // textctrl
2800     r( wxTEXT_ATTR_ALIGNMENT );         // textctrl
2801     r( wxTEXT_ATTR_LEFT_INDENT );       // textctrl
2802     r( wxTEXT_ATTR_RIGHT_INDENT );      // textctrl
2803     r( wxTEXT_ATTR_TABS );              // textctrl
2804 #endif
2805 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
2806     r( wxTEXT_ATTR_EFFECT_NONE );       // textctrl
2807     r( wxTEXT_ATTR_EFFECT_CAPITALS );   // textctrl
2808     r( wxTEXT_ATTR_EFFECT_SMALL_CAPITALS ); // textctrl
2809     r( wxTEXT_ATTR_EFFECT_STRIKETHROUGH ); // textctrl
2810     r( wxTEXT_ATTR_EFFECT_DOUBLE_STRIKETHROUGH ); // textctrl
2811     r( wxTEXT_ATTR_EFFECT_SHADOW );     // textctrl
2812     r( wxTEXT_ATTR_EFFECT_EMBOSS );     // textctrl
2813     r( wxTEXT_ATTR_EFFECT_OUTLINE );    // textctrl
2814     r( wxTEXT_ATTR_EFFECT_ENGRAVE );    // textctrl
2815     r( wxTEXT_ATTR_EFFECT_SUPERSCRIPT );// textctrl
2816     r( wxTEXT_ATTR_EFFECT_SUBSCRIPT );  // textctrl
2817     r( wxTEXT_ATTR_EFFECTS );           // textctrl
2818     r( wxTEXT_ATTR_FONT_ENCODING );     // textctrl
2819     r( wxTEXT_ATTR_OUTLINE_LEVEL );     // textctrl
2820 #endif
2821
2822 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
2823     r( wxTEXT_TYPE_ANY );               // textctrl
2824 #endif
2825
2826     r( wxTINY_CAPTION_HORIZ );          // miniframe
2827     r( wxTINY_CAPTION_VERT );           // miniframe
2828     r( wxTIMER_CONTINUOUS );            // timer
2829     r( wxTIMER_ONE_SHOT );              // timer
2830     r( wxTOP );                         // sizer layout constraints
2831     r( wxTRANSPARENT_WINDOW );          // window
2832     r( wxTRANSPARENT );                 // dc brush pen
2833
2834     r( wxTop );                         // layout constraints
2835
2836 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
2837     r( wxTBK_HORZ_LAYOUT );             // toolbook
2838     r( wxTBK_BUTTONBAR );               // toolbook
2839 #endif
2840
2841     // !export: Type_Boolean
2842     // !export: Type_Float
2843     // !export: Type_Integer
2844     // !export: Type_String
2845     // !export: Type_Unknown
2846     if( strEQ( name, "Type_Boolean" ) )
2847         return wxConfigBase::Type_Boolean;
2848     if( strEQ( name, "Type_Float" ) )
2849         return wxConfigBase::Type_Float;
2850     if( strEQ( name, "Type_Integer" ) )
2851         return wxConfigBase::Type_Integer;
2852     if( strEQ( name, "Type_Unknown" ) )
2853         return wxConfigBase::Type_Unknown;
2854     if( strEQ( name, "Type_String" ) )
2855         return wxConfigBase::Type_String;
2856
2857 #if wxUSE_EXTENDED_RTTI
2858     r( wxT_VOID );
2859     r( wxT_BOOL );
2860     r( wxT_CHAR );
2861     r( wxT_UCHAR );
2862     r( wxT_INT );
2863     r( wxT_UINT );
2864     r( wxT_LONG );
2865     r( wxT_ULONG );
2866     r( wxT_FLOAT );
2867     r( wxT_DOUBLE );
2868     r( wxT_STRING );
2869     r( wxT_SET );
2870     r( wxT_ENUM );
2871     r( wxT_CUSTOM );
2872     r( wxT_LAST_SIMPLE_TYPE_KIND );
2873     r( wxT_OBJECT_PTR );
2874     r( wxT_OBJECT );
2875     r( wxT_COLLECTION );
2876     r( wxT_DELEGATE );
2877 #endif
2878     break;
2879   case 'U':
2880     r( wxUnconstrained );               // layout constraints
2881     r( wxUSER_DASH );                   // pen
2882 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
2883     r( wxUSER_ATTENTION_INFO );         // toplevelwindow
2884     r( wxUSER_ATTENTION_ERROR );        // toplevelwindow
2885 #endif
2886 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
2887     r( wxUPDATE_UI_NONE );              // window
2888     r( wxUPDATE_UI_RECURSE );           // window
2889     r( wxUPDATE_UI_FROMIDLE );          // window
2890 #endif
2891     r( wxUPDATE_UI_PROCESS_ALL );
2892     r( wxUPDATE_UI_PROCESS_SPECIFIED );
2893     r( wxUP );
2894     break;
2895   case 'V':
2896     r( wxVERTICAL );                    // window dialog frame sizer
2897     r( wxVERTICAL_HATCH );              // brush pen
2898     r( wxVSCROLL );                     // window
2899     break;
2900   case 'W':
2901     r( wxWANTS_CHARS );                 // window
2902     r( wxWINDING_RULE );                // dc
2903     r( wxWidth );                       // layout constraints
2904     r( wxWIZARD_EX_HELPBUTTON );        // wizard
2905 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
2906     r( wxWIZARD_HALIGN_CENTRE );        // wizard
2907     r( wxWIZARD_HALIGN_LEFT );          // wizard
2908     r( wxWIZARD_HALIGN_RIGHT );         // wizard
2909     r( wxWIZARD_TILE );                 // wizard
2910     r( wxWIZARD_VALIGN_BOTTOM );        // wizard
2911     r( wxWIZARD_VALIGN_CENTRE );        // wizard
2912     r( wxWIZARD_VALIGN_TOP );           // wizard
2913 #endif
2914
2915     r( wxWS_EX_VALIDATE_RECURSIVELY );  // window
2916     r( wxWS_EX_BLOCK_EVENTS );          // window
2917     r( wxWS_EX_TRANSIENT );             // window
2918 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
2919     r( wxWS_EX_PROCESS_IDLE );          // window
2920     r( wxWS_EX_PROCESS_UI_UPDATES );    // window
2921 #endif
2922 #if WXPERL_W_VERSION_GE( 2, 7, 1 )
2923     r( wxWS_EX_CONTEXTHELP );           // window
2924 #endif
2925     r( wxWEST );
2926     r( wxWINDOW_VARIANT_NORMAL );       // window
2927     r( wxWINDOW_VARIANT_SMALL );        // window
2928     r( wxWINDOW_VARIANT_MINI );         // window
2929     r( wxWINDOW_VARIANT_LARGE );        // window
2930     break;
2931   case 'X':
2932     r( wxXOR );                         // dc
2933     break;
2934   case 'Y':
2935     r( wxYES );                         // dialog
2936     r( wxYES_NO );                      // dialog
2937     r( wxYES_DEFAULT );                 // dialog
2938     break;
2939   default:
2940     break;
2941   }
2942
2943 #undef r
2944   // now search for modules...
2945   {
2946     wxPlConstantFunctions::compatibility_iterator node;
2947     PL_CONST_FUNC* func;
2948     double ret;
2949
2950     for( node = s_functions().GetFirst(); node; node = node->GetNext() )
2951     {
2952       func = node->GetData();
2953       ret = (*func)( name, arg );
2954       if( !errno )
2955         return ret;
2956     }
2957   }
2958
2959   WX_PL_CONSTANT_CLEANUP();
2960 }
2961
2962 // XXX hacky
2963 static void my_sv_setref_pv( pTHX_ SV* mysv, const char* pack, void* ptr )
2964 {
2965     if( SvROK( mysv ) )
2966     {
2967         HV* stash = gv_stashpv( CHAR_P pack, 1 );
2968         sv_setiv( SvRV( mysv ), PTR2IV( ptr ) );
2969         sv_bless( mysv, stash );
2970     }
2971     else
2972     {
2973         sv_setref_pv( mysv, CHAR_P pack, ptr );
2974     }
2975 }
2976
2977 static void wxPli_make_const( const char* name )
2978 {
2979     dTHX;
2980     char buffer[256];
2981     HV* stash = gv_stashpv( CHAR_P "Wx", 1 );
2982
2983     strcpy( buffer, "Wx::" );
2984     strcpy( buffer + 4, name );
2985
2986     SV* sv = get_sv( buffer, 1 );
2987     newCONSTSUB( stash, (char*)name, sv );
2988 }
2989
2990 #if wxUSE_UNICODE
2991
2992 static void wxPli_make_const_str( const char* name, const wxChar* value )
2993 {
2994     dTHX;
2995     char buffer[256];
2996     SV* tmp;
2997
2998     wxPli_make_const( name );
2999
3000     strcpy( buffer, "Wx::" );
3001     strcpy( buffer + 4, name );
3002
3003     tmp = get_sv( buffer, 0 );
3004     wxPli_wxChar_2_sv( aTHX_ value, tmp );
3005 }
3006
3007 #endif
3008
3009 static void wxPli_make_const_str( const char* name, const char* value )
3010 {
3011     dTHX;
3012     char buffer[256];
3013     SV* tmp;
3014
3015     wxPli_make_const( name );
3016
3017     strcpy( buffer, "Wx::" );
3018     strcpy( buffer + 4, name );
3019
3020     tmp = get_sv( buffer, 0 );
3021     sv_setpv( tmp, value );
3022 }
3023
3024 static void wxPli_make_const_str( const char* name, const wxString& value )
3025 {
3026     wxPli_make_const_str( name, (const wxChar*)value.c_str() );
3027 }
3028
3029 #define wxPli_make_const_string( v ) \
3030     wxPli_make_const_str( #v, v )
3031
3032 static void wxPli_set_const( const char* name, const char* klass, void* ptr )
3033 {
3034     dTHX;
3035     char buffer[256];
3036
3037     strcpy( buffer, "Wx::" );
3038     strcpy( buffer + 4, name );
3039
3040     SV* sv = get_sv( buffer, 1 );
3041
3042     my_sv_setref_pv( aTHX_ sv, klass, ptr );
3043 }
3044
3045 #undef sv_setref_pv
3046 #define sv_setref_pv( s, p, pt ) my_sv_setref_pv( aTHX_ s, p, pt )
3047
3048 // !parser: sub { $_[0] =~ m<^\s*wxPli_\w+\(\s*\"?(wx\w+)\"?\s*\);\s*(?://(.*))?$> }
3049 // !package: Wx
3050
3051 void SetConstantsOnce()
3052 {
3053     dTHX;
3054
3055     wxPli_make_const_string( wxVERSION_STRING );
3056 #if WXPERL_W_VERSION_GE( 2, 5, 3 ) && wxUSE_MEDIACTRL
3057     wxPli_make_const_string( wxMEDIABACKEND_DIRECTSHOW ); // media
3058     wxPli_make_const_string( wxMEDIABACKEND_QUICKTIME ); // media
3059     wxPli_make_const_string( wxMEDIABACKEND_MCI ); // media
3060     wxPli_make_const_string( wxMEDIABACKEND_GSTREAMER ); // media
3061     wxPli_make_const_string( wxMEDIABACKEND_REALPLAYER ); //media
3062     wxPli_make_const_string( wxMEDIABACKEND_WMP10 ); // media
3063 #endif
3064
3065     wxPli_make_const( "wxTheClipboard" );       // clipboard
3066     wxPli_make_const( "wxDefaultValidator" );   // misc
3067     wxPli_make_const( "wxFormatInvalid" );      // dnd
3068     wxPli_make_const( "wxDefaultPosition" );    // misc
3069     wxPli_make_const( "wxDefaultSize" );        // misc
3070
3071 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
3072     wxPli_make_const( "wxNullAnimation" );      // animation
3073 #endif
3074     wxPli_make_const( "wxNullBitmap" );         // bitmap
3075     wxPli_make_const( "wxNullIcon" );           // icon
3076     wxPli_make_const( "wxNullColour" );         // color colour
3077     wxPli_make_const( "wxNullCursor" );         // cursor
3078     wxPli_make_const( "wxNullFont" );           // font
3079     wxPli_make_const( "wxNullPen" );            // pen
3080     wxPli_make_const( "wxNullBrush" );          // brush
3081     wxPli_make_const( "wxNullPalette" );        // palette
3082     wxPli_make_const( "wxNullAcceleratorTable" );
3083
3084     wxPli_make_const( "wxRED" );                // color colour
3085     wxPli_make_const( "wxGREEN" );              // color colour
3086     wxPli_make_const( "wxBLUE" );               // color colour
3087     wxPli_make_const( "wxBLACK" );              // color colour
3088     wxPli_make_const( "wxWHITE" );              // color colour
3089     wxPli_make_const( "wxCYAN" );               // color colour
3090     wxPli_make_const( "wxLIGHT_GREY" );         // color colour
3091
3092     wxPli_make_const( "wxSTANDARD_CURSOR" );    // cursor
3093     wxPli_make_const( "wxHOURGLASS_CURSOR" );   // cursor
3094     wxPli_make_const( "wxCROSS_CURSOR" );       // cursor
3095
3096     wxPli_make_const( "wxNORMAL_FONT" );        // font
3097     wxPli_make_const( "wxSMALL_FONT" );         // font
3098     wxPli_make_const( "wxITALIC_FONT" );        // font
3099     wxPli_make_const( "wxSWISS_FONT" );         // font
3100
3101     wxPli_make_const( "wxRED_PEN" );            // pen
3102     wxPli_make_const( "wxGREEN_PEN" );          // pen
3103     wxPli_make_const( "wxCYAN_PEN" );           // pen
3104     wxPli_make_const( "wxBLACK_PEN" );          // pen
3105     wxPli_make_const( "wxWHITE_PEN" );          // pen
3106     wxPli_make_const( "wxTRANSPARENT_PEN" );    // pen
3107     wxPli_make_const( "wxBLACK_DASHED_PEN" );   // pen
3108     wxPli_make_const( "wxGREY_PEN" );           // pen
3109     wxPli_make_const( "wxMEDIUM_GREY_PEN" );    // pen
3110     wxPli_make_const( "wxLIGHT_GREY_PEN" );     // pen
3111
3112     wxPli_make_const( "wxBLUE_BRUSH" );         // brush
3113     wxPli_make_const( "wxGREEN_BRUSH" );        // brush
3114     wxPli_make_const( "wxWHITE_BRUSH" );        // brush
3115     wxPli_make_const( "wxBLACK_BRUSH" );        // brush
3116     wxPli_make_const( "wxGREY_BRUSH" );         // brush
3117     wxPli_make_const( "wxMEDIUM_GREY_BRUSH" );  // brush
3118     wxPli_make_const( "wxLIGHT_GREY_BRUSH" );   // brush
3119     wxPli_make_const( "wxTRANSPARENT_BRUSH" );  // brush
3120     wxPli_make_const( "wxCYAN_BRUSH" );         // brush
3121     wxPli_make_const( "wxRED_BRUSH" );          // brush
3122
3123     wxPli_make_const_string( wxIMAGE_OPTION_BMP_FORMAT );      // image
3124     wxPli_make_const_string( wxIMAGE_OPTION_CUR_HOTSPOT_X );   // image
3125     wxPli_make_const_string( wxIMAGE_OPTION_CUR_HOTSPOT_Y );   // image
3126     wxPli_make_const_string( wxIMAGE_OPTION_FILENAME );        // image
3127 #if WXPERL_W_VERSION_GE( 2, 5, 4 )
3128     wxPli_make_const_string( wxIMAGE_OPTION_QUALITY );         // image
3129     wxPli_make_const_string( wxIMAGE_OPTION_RESOLUTION );      // image
3130     wxPli_make_const_string( wxIMAGE_OPTION_RESOLUTIONX );     // image
3131     wxPli_make_const_string( wxIMAGE_OPTION_RESOLUTIONY );     // image
3132     wxPli_make_const_string( wxIMAGE_OPTION_RESOLUTIONUNIT );  // image
3133 #endif
3134 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
3135     wxPli_make_const_string( wxIMAGE_OPTION_BITSPERSAMPLE );    // image
3136     wxPli_make_const_string( wxIMAGE_OPTION_COMPRESSION );      // image
3137     wxPli_make_const_string( wxIMAGE_OPTION_IMAGEDESCRIPTOR );  // image
3138     wxPli_make_const_string( wxIMAGE_OPTION_PNG_BITDEPTH );     // image
3139     wxPli_make_const_string( wxIMAGE_OPTION_PNG_FORMAT );       // image
3140     wxPli_make_const_string( wxIMAGE_OPTION_SAMPLESPERPIXEL );  // image
3141 #endif
3142
3143     wxPli_make_const_string( wxFileSelectorDefaultWildcardStr ); // filedialog
3144
3145     // these are correctly cloned
3146     SV* tmp;
3147
3148     int universal;
3149     int xstatic;
3150     int unicode;
3151     int debugging;
3152     int threads;
3153
3154 #if defined(__WXUNIVERSAL__)
3155     universal = 1;
3156 #else
3157     universal = 0;
3158 #endif
3159
3160 #if defined(WXPL_STATIC)
3161     xstatic = 1;
3162 #else
3163     xstatic = 0;
3164 #endif
3165
3166 #if wxUSE_UNICODE
3167     unicode = 1;
3168 #else
3169     unicode = 0;
3170 #endif
3171
3172 #ifdef __WXDEBUG__
3173     debugging = 1;
3174 #else
3175     debugging = 0;
3176 #endif
3177
3178 #if wxPERL_USE_THREADS
3179     threads = 1;
3180 #else
3181     threads = 0;
3182 #endif
3183
3184     tmp = get_sv( "Wx::_universal", 1 );
3185     sv_setiv( tmp, universal );
3186
3187     tmp = get_sv( "Wx::_static", 1 );
3188     sv_setiv( tmp, xstatic );
3189
3190     tmp = get_sv( "Wx::_unicode", 1 );
3191     sv_setiv( tmp, unicode );
3192     tmp = get_sv( "Wx::wxUNICODE", 1 );
3193     sv_setiv( tmp, unicode );
3194
3195     tmp = get_sv( "Wx::wxDEBUG", 1 );
3196     sv_setiv( tmp, debugging );
3197
3198     tmp = get_sv( "Wx::wxTHREADS", 1 );
3199     sv_setiv( tmp, threads );
3200
3201     // constant functions
3202     wxPli_make_const( "wxUNICODE" /* don't export */ );
3203     wxPli_make_const( "wxVERSION" /* don't export */ );
3204     wxPli_make_const( "wxDEBUG" /* don't export */ );
3205     wxPli_make_const( "wxTHREADS" /* don't export */ );
3206 }
3207
3208 // !parser:
3209
3210 void SetConstants()
3211 {
3212     dTHX;
3213     SV* tmp;
3214
3215     wxPli_set_const( "wxDefaultPosition", "Wx::Point",
3216                      new wxPoint( wxDefaultPosition ) );
3217     wxPli_set_const( "wxDefaultSize", "Wx::Size",
3218                      new wxSize( wxDefaultSize ) );
3219
3220     tmp = get_sv( "Wx::wxDefaultValidator", 1 );
3221     sv_setref_pv( tmp, "Wx::Validator", (wxValidator*)&wxDefaultValidator );
3222   
3223     //
3224     // Null GDI objects
3225     //
3226     #define DEFINE_NULL( name ) \
3227         wxPli_set_const( "wxNull" #name, "Wx::" #name, \
3228                          new wx##name( wxNull##name ) )
3229
3230 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
3231     DEFINE_NULL( Animation );
3232 #endif
3233     DEFINE_NULL( Bitmap );
3234     DEFINE_NULL( Icon );
3235     DEFINE_NULL( Colour );
3236     DEFINE_NULL( Cursor );
3237     DEFINE_NULL( Font );
3238     DEFINE_NULL( Pen );
3239     DEFINE_NULL( Brush );
3240     DEFINE_NULL( Palette );
3241     DEFINE_NULL( AcceleratorTable );
3242
3243     #undef DEFINE_NULL
3244
3245     //
3246     // Predefined colours
3247     //
3248     wxPli_set_const( "wxRED", "Wx::Colour", new wxColour( *wxRED ) );
3249     wxPli_set_const( "wxGREEN", "Wx::Colour", new wxColour( *wxGREEN ) );
3250     wxPli_set_const( "wxBLUE", "Wx::Colour", new wxColour( *wxBLUE ) );
3251     wxPli_set_const( "wxBLACK", "Wx::Colour", new wxColour( *wxBLACK ) );
3252     wxPli_set_const( "wxWHITE", "Wx::Colour", new wxColour( *wxWHITE ) );
3253     wxPli_set_const( "wxCYAN", "Wx::Colour", new wxColour( *wxCYAN ) );
3254     wxPli_set_const( "wxLIGHT_GREY", "Wx::Colour",
3255                      new wxColour( *wxLIGHT_GREY ) );
3256
3257     //
3258     // predefined cursors
3259     //
3260     wxPli_set_const( "wxSTANDARD_CURSOR", "Wx::Cursor",
3261                      new wxCursor( *wxSTANDARD_CURSOR ) );
3262     wxPli_set_const( "wxHOURGLASS_CURSOR", "Wx::Cursor",
3263                      new wxCursor( *wxHOURGLASS_CURSOR ) );
3264     wxPli_set_const( "wxCROSS_CURSOR", "Wx::Cursor",
3265                      new wxCursor( *wxCROSS_CURSOR ) );
3266
3267     //
3268     // predefined fonts
3269     //
3270     wxPli_set_const( "wxNORMAL_FONT", "Wx::Font",
3271                      new wxFont( *wxNORMAL_FONT ) );
3272     wxPli_set_const( "wxSMALL_FONT", "Wx::Font",
3273                      new wxFont( *wxSMALL_FONT ) );
3274     wxPli_set_const( "wxITALIC_FONT", "Wx::Font",
3275                      new wxFont( *wxITALIC_FONT ) );
3276     wxPli_set_const( "wxSWISS_FONT", "Wx::Font",
3277                      new wxFont( *wxSWISS_FONT ) );
3278
3279     //
3280     // predefined pens
3281     //
3282     #define DEFINE_PEN( pen ) \
3283         wxPli_set_const( #pen, "Wx::Pen", new wxPen( *pen ) )
3284
3285     DEFINE_PEN( wxRED_PEN );
3286     DEFINE_PEN( wxGREEN_PEN );
3287     DEFINE_PEN( wxCYAN_PEN );
3288     DEFINE_PEN( wxBLACK_PEN );
3289     DEFINE_PEN( wxWHITE_PEN );
3290     DEFINE_PEN( wxTRANSPARENT_PEN );
3291     DEFINE_PEN( wxBLACK_DASHED_PEN );
3292     DEFINE_PEN( wxGREY_PEN );
3293     DEFINE_PEN( wxMEDIUM_GREY_PEN );
3294     DEFINE_PEN( wxLIGHT_GREY_PEN );
3295
3296     #undef DEFINE_PEN
3297
3298     //
3299     // Predefined brushes
3300     //
3301     #define DEFINE_BRUSH( brush ) \
3302         wxPli_set_const( #brush, "Wx::Brush", new wxBrush( *brush ) )
3303
3304     DEFINE_BRUSH( wxBLUE_BRUSH );
3305     DEFINE_BRUSH( wxGREEN_BRUSH );
3306     DEFINE_BRUSH( wxWHITE_BRUSH );
3307     DEFINE_BRUSH( wxBLACK_BRUSH );
3308     DEFINE_BRUSH( wxGREY_BRUSH );
3309     DEFINE_BRUSH( wxMEDIUM_GREY_BRUSH );
3310     DEFINE_BRUSH( wxLIGHT_GREY_BRUSH );
3311     DEFINE_BRUSH( wxTRANSPARENT_BRUSH );
3312     DEFINE_BRUSH( wxCYAN_BRUSH );
3313     DEFINE_BRUSH( wxRED_BRUSH );
3314
3315     #undef DEFINE_BRUSH
3316
3317     //
3318     // Clipboard & Drag'n'Drop
3319     //
3320     wxPli_set_const( "wxFormatInvalid", "Wx::DataFormat",
3321                      new wxDataFormat( wxFormatInvalid ) );
3322
3323     tmp = get_sv( "Wx::wxTheClipboard", 1 );
3324     sv_setref_pv( tmp, "Wx::Clipboard", wxTheClipboard );
3325 }
3326
3327 WXPLI_BOOT_ONCE(Wx_Const);
3328 #define boot_Wx_Const wxPli_boot_Wx_Const
3329
3330 #ifndef PERL_UNUSED_VAR
3331 #  define PERL_UNUSED_VAR(var) if (0) var = var
3332 #endif
3333
3334 #ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
3335 #define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)
3336
3337 /* prototype to pass -Wmissing-prototypes */
3338 STATIC void
3339 S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params);
3340
3341 STATIC void
3342 S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params)
3343 {
3344     const GV *const gv = CvGV(cv);
3345
3346     PERL_ARGS_ASSERT_CROAK_XS_USAGE;
3347
3348     if (gv) {
3349         const char *const gvname = GvNAME(gv);
3350         const HV *const stash = GvSTASH(gv);
3351         const char *const hvname = stash ? HvNAME(stash) : NULL;
3352
3353         if (hvname)
3354             Perl_croak(aTHX_ "Usage: %s::%s(%s)", hvname, gvname, params);
3355         else
3356             Perl_croak(aTHX_ "Usage: %s(%s)", gvname, params);
3357     } else {
3358         /* Pants. I don't think that it should be possible to get here. */
3359         Perl_croak(aTHX_ "Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params);
3360     }
3361 }
3362 #undef  PERL_ARGS_ASSERT_CROAK_XS_USAGE
3363
3364 #ifdef PERL_IMPLICIT_CONTEXT
3365 #define croak_xs_usage(a,b)     S_croak_xs_usage(aTHX_ a,b)
3366 #else
3367 #define croak_xs_usage          S_croak_xs_usage
3368 #endif
3369
3370 #endif
3371
3372 /* NOTE: the prototype of newXSproto() is different in versions of perls,
3373  * so we define a portable version of newXSproto()
3374  */
3375 #ifdef newXS_flags
3376 #define newXSproto_portable(name, c_impl, file, proto) newXS_flags(name, c_impl, file, proto, 0)
3377 #else
3378 #define newXSproto_portable(name, c_impl, file, proto) (PL_Sv=(SV*)newXS(name, c_impl, file), sv_setpv(PL_Sv, proto), (CV*)PL_Sv)
3379 #endif /* !defined(newXS_flags) */
3380
3381
3382 XS(XS_Wx_constant); /* prototype to pass -Wmissing-prototypes */
3383 XS(XS_Wx_constant)
3384 {
3385 #ifdef dVAR
3386     dVAR; dXSARGS;
3387 #else
3388     dXSARGS;
3389 #endif
3390     if (items != 3)
3391        croak_xs_usage(cv,  "name, arg, error");
3392     {
3393         const char*     name = (const char *)SvPV_nolen(ST(0));
3394         int     arg = (int)SvIV(ST(1));
3395         int     error;
3396         double  RETVAL;
3397         dXSTARG;
3398     RETVAL = constant( name, arg );
3399     error = errno;
3400         sv_setiv(ST(2), (IV)error);
3401         SvSETMAGIC(ST(2));
3402         XSprePUSH; PUSHn((double)RETVAL);
3403     }
3404     XSRETURN(1);
3405 }
3406
3407
3408 XS(XS_Wx_UnsetConstants); /* prototype to pass -Wmissing-prototypes */
3409 XS(XS_Wx_UnsetConstants)
3410 {
3411 #ifdef dVAR
3412     dVAR; dXSARGS;
3413 #else
3414     dXSARGS;
3415 #endif
3416     if (items != 0)
3417        croak_xs_usage(cv,  "");
3418     {
3419     SV* tmp;
3420
3421     tmp = get_sv( "Wx::wxTheClipboard", 1 );
3422     if( tmp && SvROK( tmp ) )
3423         sv_setiv( SvRV( tmp ), 0 );
3424
3425     tmp = get_sv( "Wx::wxDefaultValidator", 1 );
3426     if( tmp && SvROK( tmp ) )
3427         sv_setiv( SvRV( tmp ), 0 );
3428     }
3429     XSRETURN_EMPTY;
3430 }
3431
3432
3433 XS(XS_Wx_SetEvents); /* prototype to pass -Wmissing-prototypes */
3434 XS(XS_Wx_SetEvents)
3435 {
3436 #ifdef dVAR
3437     dVAR; dXSARGS;
3438 #else
3439     dXSARGS;
3440 #endif
3441     if (items != 0)
3442        croak_xs_usage(cv,  "");
3443     {
3444     wxPli_set_events( evts );
3445     }
3446     XSRETURN_EMPTY;
3447 }
3448
3449
3450 XS(XS_Wx_SetInheritance); /* prototype to pass -Wmissing-prototypes */
3451 XS(XS_Wx_SetInheritance)
3452 {
3453 #ifdef dVAR
3454     dVAR; dXSARGS;
3455 #else
3456     dXSARGS;
3457 #endif
3458     if (items != 0)
3459        croak_xs_usage(cv,  "");
3460     {
3461
3462         SetInheritance();
3463     }
3464     XSRETURN_EMPTY;
3465 }
3466
3467
3468 XS(XS_Wx__get_packages); /* prototype to pass -Wmissing-prototypes */
3469 XS(XS_Wx__get_packages)
3470 {
3471 #ifdef dVAR
3472     dVAR; dXSARGS;
3473 #else
3474     dXSARGS;
3475 #endif
3476     if (items != 0)
3477        croak_xs_usage(cv,  "");
3478     {
3479         char *  RETVAL;
3480         dXSTARG;
3481     static const char packages[] = ""
3482 #if wxPERL_USE_DND && !defined(__WXMAC__) && !defined(__WXMOTIF__)
3483     "use Wx::DND;"
3484 #endif
3485 #if wxPERL_USE_DOCVIEW && !defined(__WXMAC__)
3486     "use Wx::DocView;"
3487 #endif
3488 #if wxPERL_USE_FILESYS
3489     "use Wx::FS;"
3490 #endif
3491 #if wxPERL_USE_GRID
3492     "use Wx::Grid;"
3493 #endif
3494 #if wxPERL_USE_HELP
3495     "use Wx::Help;"
3496 #endif
3497 #if wxPERL_USE_HTML
3498     "use Wx::Html;"
3499 #endif
3500 #if wxPERL_USE_MDI
3501     "use Wx::MDI;"
3502 #endif
3503 #if wxPERL_USE_PRINTING_ARCHITECTURE
3504     "use Wx::Print;"
3505 #endif
3506 #if wxPERL_USE_SOCKET
3507     "use Wx::Socket;"
3508 #endif
3509 #if wxPERL_USE_CALENDAR
3510     "use Wx::Calendar;"
3511 #endif
3512 #if wxPERL_USE_DATETIME
3513     "use Wx::DateTime;"
3514 #endif
3515 #if wxPERL_USE_DATAVIEW && wxUSE_DATAVIEW && WXPERL_W_VERSION_GE( 2, 9, 0 )
3516     "use Wx::DataView;"
3517 #endif
3518 #if wxPERL_USE_MEDIA && wxUSE_MEDIACTRL && WXPERL_W_VERSION_GE( 2, 6, 0 )
3519     "use Wx::Media;"
3520 #endif
3521 #if wxPERL_USE_RICHTEXT && WXPERL_W_VERSION_GE( 2, 7, 0 )
3522     "use Wx::RichText;"
3523 #endif
3524 #if wxPERL_USE_AUI && WXPERL_W_VERSION_GE( 2, 7, 2 )
3525     "use Wx::AUI;"
3526 #endif
3527     ;
3528
3529     RETVAL = (char*)packages;
3530         sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
3531     }
3532     XSRETURN(1);
3533 }
3534
3535 #ifdef __cplusplus
3536 extern "C"
3537 #endif
3538 XS(boot_Wx_Const); /* prototype to pass -Wmissing-prototypes */
3539 XS(boot_Wx_Const)
3540 {
3541 #ifdef dVAR
3542     dVAR; dXSARGS;
3543 #else
3544     dXSARGS;
3545 #endif
3546 #if (PERL_REVISION == 5 && PERL_VERSION < 9)
3547     char* file = __FILE__;
3548 #else
3549     const char* file = __FILE__;
3550 #endif
3551
3552     PERL_UNUSED_VAR(cv); /* -W */
3553     PERL_UNUSED_VAR(items); /* -W */
3554     XS_VERSION_BOOTCHECK ;
3555
3556         newXS("Wx::constant", XS_Wx_constant, file);
3557         newXS("Wx::UnsetConstants", XS_Wx_UnsetConstants, file);
3558         newXS("Wx::SetEvents", XS_Wx_SetEvents, file);
3559         newXS("Wx::SetInheritance", XS_Wx_SetInheritance, file);
3560         newXS("Wx::_get_packages", XS_Wx__get_packages, file);
3561 #if (PERL_REVISION == 5 && PERL_VERSION >= 9)
3562   if (PL_unitcheckav)
3563        call_list(PL_scopestack_ix, PL_unitcheckav);
3564 #endif
3565     XSRETURN_YES;
3566 }
3567