#include "precompiled.h" /* * wxJavaScript - constant.cpp * * Copyright (c) 2002-2007 Franky Braem and the wxJavaScript project * * Project Info: http://www.wxjavascript.net or http://wxjs.sourceforge.net * * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * $Id: constant.cpp 598 2007-03-07 20:13:28Z fbraem $ */ // constant.cpp #ifndef WX_PRECOMP #include #endif #include #include #include #include "../../common/main.h" #include "constant.h" using namespace wxjs; using namespace wxjs::gui; /*** * misc/constants * gui * * The following list shows all the constants that are defined on the Global object. * */ JSConstDoubleSpec wxGlobalMap[] = { WXJS_SIMPLE_CONSTANT(wxNOT_FOUND) WXJS_SIMPLE_CONSTANT(wxInvalidOffset) { 0 } }; /*** * * * * * * * * * * * * * * * * See @wxSizer, @wxBoxSizer, @wxFlexGridSizer, @wxGridSizer * * */ JSConstDoubleSpec wxDirectionMap[] = { WXJS_CONSTANT(wx, TOP) WXJS_CONSTANT(wx, BOTTOM) WXJS_CONSTANT(wx, LEFT) WXJS_CONSTANT(wx, TOP) WXJS_CONSTANT(wx, UP) WXJS_CONSTANT(wx, DOWN) WXJS_CONSTANT(wx, RIGHT) WXJS_CONSTANT(wx, NORTH) WXJS_CONSTANT(wx, SOUTH) WXJS_CONSTANT(wx, WEST) WXJS_CONSTANT(wx, EAST) WXJS_CONSTANT(wx, ALL) { 0 } }; /*** * * * * * * * * See @wxSizer, @wxBoxSizer, @wxFlexGridSizer, @wxGridSizer * * */ JSConstDoubleSpec wxStretchMap[] = { WXJS_CONSTANT(wxSTRETCH_, NOT) WXJS_CONSTANT(wx, SHRINK) WXJS_CONSTANT(wx, GROW) WXJS_CONSTANT(wx, EXPAND) WXJS_CONSTANT(wx, SHAPED) { 0 } }; /*** * * * * * * See @wxSizer, @wxBoxSizer, @wxFlexGridSizer, @wxGridSizer, * wxWindow @wxWindow#centre, wxWindow @wxWindow#centreOnParent, * wxWindow @wxWindow#centreOnScreen * * */ JSConstDoubleSpec wxOrientationMap[] = { WXJS_CONSTANT(wx, HORIZONTAL) WXJS_CONSTANT(wx, VERTICAL) WXJS_CONSTANT(wx, BOTH) { 0 } }; /*** * * * * * * * * * * * * * * See @wxSizer, @wxBoxSizer, @wxFlexGridSizer, @wxGridSizer * * */ JSConstDoubleSpec wxAlignmentMap[] = { WXJS_CONSTANT(wxALIGN_, NOT) WXJS_CONSTANT(wxALIGN_, CENTER_HORIZONTAL) WXJS_CONSTANT(wxALIGN_, CENTRE_HORIZONTAL) WXJS_CONSTANT(wxALIGN_, LEFT) WXJS_CONSTANT(wxALIGN_, TOP) WXJS_CONSTANT(wxALIGN_, RIGHT) WXJS_CONSTANT(wxALIGN_, BOTTOM) WXJS_CONSTANT(wxALIGN_, CENTER_VERTICAL) WXJS_CONSTANT(wxALIGN_, CENTRE_VERTICAL) WXJS_CONSTANT(wxALIGN_, CENTER) WXJS_CONSTANT(wxALIGN_, CENTRE) { 0 } }; /*** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ JSConstDoubleSpec wxIdMap[] = { WXJS_CONSTANT(wxID_, LOWEST) WXJS_CONSTANT(wxID_, HIGHEST) WXJS_CONSTANT(wxID_, SEPARATOR) WXJS_CONSTANT(wxID_, OPEN) WXJS_CONSTANT(wxID_, CLOSE) WXJS_CONSTANT(wxID_, NEW) WXJS_CONSTANT(wxID_, SAVE) WXJS_CONSTANT(wxID_, SAVEAS) WXJS_CONSTANT(wxID_, REVERT) WXJS_CONSTANT(wxID_, EXIT) WXJS_CONSTANT(wxID_, UNDO) WXJS_CONSTANT(wxID_, REDO) WXJS_CONSTANT(wxID_, HELP) WXJS_CONSTANT(wxID_, PRINT) WXJS_CONSTANT(wxID_, PRINT_SETUP) WXJS_CONSTANT(wxID_, PREVIEW) WXJS_CONSTANT(wxID_, ABOUT) WXJS_CONSTANT(wxID_, HELP_CONTENTS) WXJS_CONSTANT(wxID_, HELP_COMMANDS) WXJS_CONSTANT(wxID_, HELP_PROCEDURES) WXJS_CONSTANT(wxID_, HELP_CONTEXT) WXJS_CONSTANT(wxID_, CUT) WXJS_CONSTANT(wxID_, COPY) WXJS_CONSTANT(wxID_, PASTE) WXJS_CONSTANT(wxID_, CLEAR) WXJS_CONSTANT(wxID_, FIND) WXJS_CONSTANT(wxID_, DUPLICATE) WXJS_CONSTANT(wxID_, SELECTALL) WXJS_CONSTANT(wxID_, FILE1) WXJS_CONSTANT(wxID_, FILE2) WXJS_CONSTANT(wxID_, FILE3) WXJS_CONSTANT(wxID_, FILE4) WXJS_CONSTANT(wxID_, FILE5) WXJS_CONSTANT(wxID_, FILE6) WXJS_CONSTANT(wxID_, FILE7) WXJS_CONSTANT(wxID_, FILE8) WXJS_CONSTANT(wxID_, FILE9) // Standard button IDs WXJS_CONSTANT(wxID_, OK) WXJS_CONSTANT(wxID_, CANCEL) WXJS_CONSTANT(wxID_, APPLY) WXJS_CONSTANT(wxID_, YES) WXJS_CONSTANT(wxID_, NO) WXJS_CONSTANT(wxID_, STATIC) WXJS_CONSTANT(wxID_, FORWARD) WXJS_CONSTANT(wxID_, BACKWARD) WXJS_CONSTANT(wxID_, DEFAULT) WXJS_CONSTANT(wxID_, MORE) WXJS_CONSTANT(wxID_, SETUP) WXJS_CONSTANT(wxID_, RESET) WXJS_CONSTANT(wxID_, CONTEXT_HELP) WXJS_CONSTANT(wxID_, YESTOALL) WXJS_CONSTANT(wxID_, NOTOALL) WXJS_CONSTANT(wxID_, ABORT) WXJS_CONSTANT(wxID_, RETRY) WXJS_CONSTANT(wxID_, IGNORE) WXJS_CONSTANT(wxID_, FILEDLGG) { 0 } }; /*** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * See @wxKeyEvent * * * @endif */ JSConstDoubleSpec wxKeyCodeMap[] = { WXJS_CONSTANT(WXK_, BACK) WXJS_CONSTANT(WXK_, TAB) WXJS_CONSTANT(WXK_, RETURN) WXJS_CONSTANT(WXK_, ESCAPE) WXJS_CONSTANT(WXK_, SPACE) WXJS_CONSTANT(WXK_, DELETE) WXJS_CONSTANT(WXK_, START) WXJS_CONSTANT(WXK_, LBUTTON) WXJS_CONSTANT(WXK_, RBUTTON) WXJS_CONSTANT(WXK_, CANCEL) WXJS_CONSTANT(WXK_, MBUTTON) WXJS_CONSTANT(WXK_, CLEAR) WXJS_CONSTANT(WXK_, SHIFT) WXJS_CONSTANT(WXK_, ALT) WXJS_CONSTANT(WXK_, CONTROL) WXJS_CONSTANT(WXK_, MENU) WXJS_CONSTANT(WXK_, PAUSE) WXJS_CONSTANT(WXK_, CAPITAL) WXJS_CONSTANT(WXK_, PRIOR) WXJS_CONSTANT(WXK_, NEXT) WXJS_CONSTANT(WXK_, END) WXJS_CONSTANT(WXK_, HOME) WXJS_CONSTANT(WXK_, LEFT) WXJS_CONSTANT(WXK_, UP) WXJS_CONSTANT(WXK_, RIGHT) WXJS_CONSTANT(WXK_, DOWN) WXJS_CONSTANT(WXK_, SELECT) WXJS_CONSTANT(WXK_, PRINT) WXJS_CONSTANT(WXK_, EXECUTE) WXJS_CONSTANT(WXK_, SNAPSHOT) WXJS_CONSTANT(WXK_, INSERT) WXJS_CONSTANT(WXK_, HELP) WXJS_CONSTANT(WXK_, NUMPAD0) WXJS_CONSTANT(WXK_, NUMPAD1) WXJS_CONSTANT(WXK_, NUMPAD2) WXJS_CONSTANT(WXK_, NUMPAD3) WXJS_CONSTANT(WXK_, NUMPAD4) WXJS_CONSTANT(WXK_, NUMPAD5) WXJS_CONSTANT(WXK_, NUMPAD6) WXJS_CONSTANT(WXK_, NUMPAD7) WXJS_CONSTANT(WXK_, NUMPAD8) WXJS_CONSTANT(WXK_, NUMPAD9) WXJS_CONSTANT(WXK_, MULTIPLY) WXJS_CONSTANT(WXK_, ADD) WXJS_CONSTANT(WXK_, SEPARATOR) WXJS_CONSTANT(WXK_, SUBTRACT) WXJS_CONSTANT(WXK_, DECIMAL) WXJS_CONSTANT(WXK_, DIVIDE) WXJS_CONSTANT(WXK_, F1) WXJS_CONSTANT(WXK_, F2) WXJS_CONSTANT(WXK_, F3) WXJS_CONSTANT(WXK_, F4) WXJS_CONSTANT(WXK_, F5) WXJS_CONSTANT(WXK_, F6) WXJS_CONSTANT(WXK_, F7) WXJS_CONSTANT(WXK_, F8) WXJS_CONSTANT(WXK_, F9) WXJS_CONSTANT(WXK_, F10) WXJS_CONSTANT(WXK_, F11) WXJS_CONSTANT(WXK_, F12) WXJS_CONSTANT(WXK_, F13) WXJS_CONSTANT(WXK_, F14) WXJS_CONSTANT(WXK_, F15) WXJS_CONSTANT(WXK_, F16) WXJS_CONSTANT(WXK_, F17) WXJS_CONSTANT(WXK_, F18) WXJS_CONSTANT(WXK_, F19) WXJS_CONSTANT(WXK_, F20) WXJS_CONSTANT(WXK_, F21) WXJS_CONSTANT(WXK_, F22) WXJS_CONSTANT(WXK_, F23) WXJS_CONSTANT(WXK_, F24) WXJS_CONSTANT(WXK_, NUMLOCK) WXJS_CONSTANT(WXK_, SCROLL) WXJS_CONSTANT(WXK_, PAGEUP) WXJS_CONSTANT(WXK_, PAGEDOWN) WXJS_CONSTANT(WXK_, NUMPAD_SPACE) WXJS_CONSTANT(WXK_, NUMPAD_TAB) WXJS_CONSTANT(WXK_, NUMPAD_ENTER) WXJS_CONSTANT(WXK_, NUMPAD_F1) WXJS_CONSTANT(WXK_, NUMPAD_F2) WXJS_CONSTANT(WXK_, NUMPAD_F3) WXJS_CONSTANT(WXK_, NUMPAD_F4) WXJS_CONSTANT(WXK_, NUMPAD_HOME) WXJS_CONSTANT(WXK_, NUMPAD_LEFT) WXJS_CONSTANT(WXK_, NUMPAD_UP) WXJS_CONSTANT(WXK_, NUMPAD_RIGHT) WXJS_CONSTANT(WXK_, NUMPAD_DOWN) WXJS_CONSTANT(WXK_, NUMPAD_PRIOR) WXJS_CONSTANT(WXK_, NUMPAD_PAGEUP) WXJS_CONSTANT(WXK_, NUMPAD_NEXT) WXJS_CONSTANT(WXK_, NUMPAD_PAGEDOWN) WXJS_CONSTANT(WXK_, NUMPAD_END) WXJS_CONSTANT(WXK_, NUMPAD_BEGIN) WXJS_CONSTANT(WXK_, NUMPAD_INSERT) WXJS_CONSTANT(WXK_, NUMPAD_DELETE) WXJS_CONSTANT(WXK_, NUMPAD_EQUAL) WXJS_CONSTANT(WXK_, NUMPAD_MULTIPLY) WXJS_CONSTANT(WXK_, NUMPAD_ADD) WXJS_CONSTANT(WXK_, NUMPAD_SEPARATOR) WXJS_CONSTANT(WXK_, NUMPAD_SUBTRACT) WXJS_CONSTANT(WXK_, NUMPAD_DECIMAL) WXJS_CONSTANT(WXK_, NUMPAD_DIVIDE) { 0 } }; /*** * * * * * * See @wxCalendarDateAttr, @wxCalendarCtrl * * */ JSConstDoubleSpec wxCalendarDateBorderMap[] = { WXJS_CONSTANT(wxCAL_BORDER_, NONE) WXJS_CONSTANT(wxCAL_BORDER_, SQUARE) WXJS_CONSTANT(wxCAL_BORDER_, ROUND) { 0 } }; /*** * * system default * current default encoding * West European (Latin1) * Central and East European (Latin2) * Esperanto (Latin3) * Baltic (old) (Latin4) * Cyrillic * Arabic * Greek * Hebrew * Turkish (Latin5) * Variation of Latin4 (Latin6) * Thai * Doesn't exist currently, but put it * here anyhow to make all ISO8859 * consecutive numbers * Baltic (Latin7) * Latin8 * Latin9 (a.k.a. Latin0, includes euro) * * We don't support any of KOI8 variants * same as MS-DOS CP866 * used under Linux in Bulgaria * original MS-DOS codepage * CP437 merged with Latin1 * CP437 merged with Latin2 * another cyrillic encoding * and another one and for Windows * WinThai * Japanese (shift-JIS) * Chinese simplified (GB) * Korean (Hangul charset) * Chinese (traditional - Big5) * WinLatin2 * WinCyrillic * WinLatin1 * WinGreek (8859-7) * WinTurkish * WinHebrew * WinArabic * WinBaltic (same as Latin 7) * * UTF-7 Unicode encoding * UTF-8 Unicode encoding * Unicode - currently used only by wxEncodingConverter class * * */ JSConstDoubleSpec wxFontEncodingMap[] = { WXJS_CONSTANT(wxFONTENCODING_, SYSTEM) WXJS_CONSTANT(wxFONTENCODING_, DEFAULT) WXJS_CONSTANT(wxFONTENCODING_, ISO8859_1) WXJS_CONSTANT(wxFONTENCODING_, ISO8859_2) WXJS_CONSTANT(wxFONTENCODING_, ISO8859_3) WXJS_CONSTANT(wxFONTENCODING_, ISO8859_4) WXJS_CONSTANT(wxFONTENCODING_, ISO8859_5) WXJS_CONSTANT(wxFONTENCODING_, ISO8859_6) WXJS_CONSTANT(wxFONTENCODING_, ISO8859_7) WXJS_CONSTANT(wxFONTENCODING_, ISO8859_8) WXJS_CONSTANT(wxFONTENCODING_, ISO8859_9) WXJS_CONSTANT(wxFONTENCODING_, ISO8859_10) WXJS_CONSTANT(wxFONTENCODING_, ISO8859_11) WXJS_CONSTANT(wxFONTENCODING_, ISO8859_12) WXJS_CONSTANT(wxFONTENCODING_, ISO8859_13) WXJS_CONSTANT(wxFONTENCODING_, ISO8859_14) WXJS_CONSTANT(wxFONTENCODING_, ISO8859_15) WXJS_CONSTANT(wxFONTENCODING_, ISO8859_MAX) WXJS_CONSTANT(wxFONTENCODING_, KOI8) WXJS_CONSTANT(wxFONTENCODING_, ALTERNATIVE) WXJS_CONSTANT(wxFONTENCODING_, BULGARIAN) WXJS_CONSTANT(wxFONTENCODING_, CP437) WXJS_CONSTANT(wxFONTENCODING_, CP850) WXJS_CONSTANT(wxFONTENCODING_, CP852) WXJS_CONSTANT(wxFONTENCODING_, CP855) WXJS_CONSTANT(wxFONTENCODING_, CP866) WXJS_CONSTANT(wxFONTENCODING_, CP874) WXJS_CONSTANT(wxFONTENCODING_, CP932) WXJS_CONSTANT(wxFONTENCODING_, CP936) WXJS_CONSTANT(wxFONTENCODING_, CP949) WXJS_CONSTANT(wxFONTENCODING_, CP950) WXJS_CONSTANT(wxFONTENCODING_, CP1250) WXJS_CONSTANT(wxFONTENCODING_, CP1251) WXJS_CONSTANT(wxFONTENCODING_, CP1252) WXJS_CONSTANT(wxFONTENCODING_, CP1253) WXJS_CONSTANT(wxFONTENCODING_, CP1254) WXJS_CONSTANT(wxFONTENCODING_, CP1255) WXJS_CONSTANT(wxFONTENCODING_, CP1256) WXJS_CONSTANT(wxFONTENCODING_, CP1257) WXJS_CONSTANT(wxFONTENCODING_, CP12_MAX) WXJS_CONSTANT(wxFONTENCODING_, UTF7) WXJS_CONSTANT(wxFONTENCODING_, UTF8) WXJS_CONSTANT(wxFONTENCODING_, UNICODE) WXJS_CONSTANT(wxFONTENCODING_, MAX) { 0 } }; /*** * * * The validity of these flags depends on the platform and wxWidgets configuration. * If all possible wxWidgets settings are used, the Windows platform supports BMP file, * BMP resource, XPM data, and XPM. Under wxGTK, the available formats are BMP file, * XPM data, XPM file, and PNG file. Under wxMotif, the available formats are XBM data, * XBM file, XPM data, XPM file. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ JSConstDoubleSpec wxBitmapTypeMap[] = { WXJS_CONSTANT(wxBITMAP_TYPE_, INVALID) WXJS_CONSTANT(wxBITMAP_TYPE_, BMP) WXJS_CONSTANT(wxBITMAP_TYPE_, BMP_RESOURCE) WXJS_CONSTANT(wxBITMAP_TYPE_, RESOURCE) WXJS_CONSTANT(wxBITMAP_TYPE_, ICO) WXJS_CONSTANT(wxBITMAP_TYPE_, ICO_RESOURCE) WXJS_CONSTANT(wxBITMAP_TYPE_, CUR) WXJS_CONSTANT(wxBITMAP_TYPE_, CUR_RESOURCE) WXJS_CONSTANT(wxBITMAP_TYPE_, XBM) WXJS_CONSTANT(wxBITMAP_TYPE_, XBM_DATA) WXJS_CONSTANT(wxBITMAP_TYPE_, XPM) WXJS_CONSTANT(wxBITMAP_TYPE_, XPM_DATA) WXJS_CONSTANT(wxBITMAP_TYPE_, TIF) WXJS_CONSTANT(wxBITMAP_TYPE_, TIF_RESOURCE) WXJS_CONSTANT(wxBITMAP_TYPE_, GIF) WXJS_CONSTANT(wxBITMAP_TYPE_, GIF_RESOURCE) WXJS_CONSTANT(wxBITMAP_TYPE_, PNG) WXJS_CONSTANT(wxBITMAP_TYPE_, PNG_RESOURCE) WXJS_CONSTANT(wxBITMAP_TYPE_, JPEG) WXJS_CONSTANT(wxBITMAP_TYPE_, JPEG_RESOURCE) WXJS_CONSTANT(wxBITMAP_TYPE_, PNM) WXJS_CONSTANT(wxBITMAP_TYPE_, PNM_RESOURCE) WXJS_CONSTANT(wxBITMAP_TYPE_, PCX) WXJS_CONSTANT(wxBITMAP_TYPE_, PCX_RESOURCE) WXJS_CONSTANT(wxBITMAP_TYPE_, PICT) WXJS_CONSTANT(wxBITMAP_TYPE_, PICT_RESOURCE) WXJS_CONSTANT(wxBITMAP_TYPE_, ICON) WXJS_CONSTANT(wxBITMAP_TYPE_, ICON_RESOURCE) WXJS_CONSTANT(wxBITMAP_TYPE_, MACCURSOR) WXJS_CONSTANT(wxBITMAP_TYPE_, MACCURSOR_RESOURCE) WXJS_CONSTANT(wxBITMAP_TYPE_, ANY) { 0 } }; /*** * * * No filtering * * * Non-ASCII characters are filtered out. * * * Non-alpha characters are filtered out. * * * Non-alphanumeric characters are filtered out. * * * Non-numeric characters are filtered out. * * * Use an include list. The validator checks if the user input is on the list, * complaining if not. * * * Use an exclude list. The validator checks if the user input is on the list, * complaining if it is. * * * Use an include list. The validator checks if each input character is in * the list (one character per list element), complaining if not. * * * Use an include list. The validator checks if each input character is * in the list (one character per list element), complaining if it is. * * * See @wxTextValidator * * */ JSConstDoubleSpec wxFilterMap[] = { WXJS_CONSTANT(wxFILTER_, NONE) WXJS_CONSTANT(wxFILTER_, ASCII) WXJS_CONSTANT(wxFILTER_, ALPHA) WXJS_CONSTANT(wxFILTER_, ALPHANUMERIC) WXJS_CONSTANT(wxFILTER_, NUMERIC) WXJS_CONSTANT(wxFILTER_, INCLUDE_LIST) WXJS_CONSTANT(wxFILTER_, EXCLUDE_LIST) WXJS_CONSTANT(wxFILTER_, INCLUDE_CHAR_LIST) WXJS_CONSTANT(wxFILTER_, EXCLUDE_CHAR_LIST) { 0 } }; /*** * * * * * * * * See @wxMenuBar, @wxMenu, @wxToolBar * * * */ JSConstDoubleSpec wxItemKindMap[] = { WXJS_CONSTANT(wxITEM_, SEPARATOR) WXJS_CONSTANT(wxITEM_, NORMAL) WXJS_CONSTANT(wxITEM_, CHECK) WXJS_CONSTANT(wxITEM_, RADIO) WXJS_CONSTANT(wxITEM_, MAX) { 0 } }; JSConstDoubleSpec wxBorderMap[] = { WXJS_CONSTANT(wxBORDER_, DEFAULT) WXJS_CONSTANT(wxBORDER_, NONE) WXJS_CONSTANT(wxBORDER_, STATIC) WXJS_CONSTANT(wxBORDER_, SIMPLE) WXJS_CONSTANT(wxBORDER_, RAISED) WXJS_CONSTANT(wxBORDER_, SUNKEN) WXJS_CONSTANT(wxBORDER_, DOUBLE) WXJS_CONSTANT(wxBORDER_, MASK) { 0 } }; void wxjs::gui::InitGuiConstants(JSContext *cx, JSObject *obj) { // Define the global constants JS_DefineConstDoubles(cx, obj, wxGlobalMap); // Create all the separate constant objects. JSObject *constObj = JS_DefineObject(cx, obj, "wxDirection", NULL, NULL, JSPROP_READONLY | JSPROP_PERMANENT); JS_DefineConstDoubles(cx, constObj, wxDirectionMap); constObj = JS_DefineObject(cx, obj, "wxStretch", NULL, NULL, JSPROP_READONLY | JSPROP_PERMANENT); JS_DefineConstDoubles(cx, constObj, wxStretchMap); constObj = JS_DefineObject(cx, obj, "wxOrientation", NULL, NULL, JSPROP_READONLY | JSPROP_PERMANENT); JS_DefineConstDoubles(cx, constObj, wxOrientationMap); constObj = JS_DefineObject(cx, obj, "wxAlignment", NULL, NULL, JSPROP_READONLY | JSPROP_PERMANENT); JS_DefineConstDoubles(cx, constObj, wxAlignmentMap); constObj = JS_DefineObject(cx, obj, "wxId", NULL, NULL, JSPROP_READONLY | JSPROP_PERMANENT); JS_DefineConstDoubles(cx, constObj, wxIdMap); constObj = JS_DefineObject(cx, obj, "wxKeyCode", NULL, NULL, JSPROP_READONLY | JSPROP_PERMANENT); JS_DefineConstDoubles(cx, constObj, wxKeyCodeMap); constObj = JS_DefineObject(cx, obj, "wxCalendarDateBorder", NULL, NULL, JSPROP_READONLY | JSPROP_PERMANENT); JS_DefineConstDoubles(cx, constObj, wxCalendarDateBorderMap); constObj = JS_DefineObject(cx, obj, "wxFontEncoding", NULL, NULL, JSPROP_READONLY | JSPROP_PERMANENT); JS_DefineConstDoubles(cx, constObj, wxCalendarDateBorderMap); constObj = JS_DefineObject(cx, obj, "wxBitmapType", NULL, NULL, JSPROP_READONLY | JSPROP_PERMANENT); JS_DefineConstDoubles(cx, constObj, wxBitmapTypeMap); constObj = JS_DefineObject(cx, obj, "wxFilter", NULL, NULL, JSPROP_READONLY | JSPROP_PERMANENT); JS_DefineConstDoubles(cx, constObj, wxFilterMap); constObj = JS_DefineObject(cx, obj, "wxItemKind", NULL, NULL, JSPROP_READONLY | JSPROP_PERMANENT); JS_DefineConstDoubles(cx, constObj, wxItemKindMap); constObj = JS_DefineObject(cx, obj, "wxBorder", NULL, NULL, JSPROP_READONLY | JSPROP_PERMANENT); JS_DefineConstDoubles(cx, constObj, wxBorderMap); }