X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b3e85292088c961a0e74bb3a65a08b6d3034d23f..b9efe021b554fa3967d1442cf758435c5cd5ae8f:/src/xrc/xmlres.cpp?ds=sidebyside diff --git a/src/xrc/xmlres.cpp b/src/xrc/xmlres.cpp index 8e80db11da..870363db17 100644 --- a/src/xrc/xmlres.cpp +++ b/src/xrc/xmlres.cpp @@ -8,7 +8,7 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "xmlres.h" #endif @@ -19,6 +19,12 @@ #pragma hdrstop #endif +#if wxUSE_XRC + +#ifndef __WXWINCE__ +#include +#endif + #include "wx/dialog.h" #include "wx/panel.h" #include "wx/frame.h" @@ -34,6 +40,7 @@ #include "wx/image.h" #include "wx/fontmap.h" #include "wx/artprov.h" +#include "wx/settings.h" #include "wx/xml/xml.h" #include "wx/xrc/xmlres.h" @@ -96,7 +103,7 @@ bool wxXmlResource::Load(const wxString& filemask) fnd = wxXmlFindFirst; else fnd = filemask; - while (!!fnd) + while (!fnd.empty()) { // NB: Load() accepts both filenames and URLs (should probably be // changed to filenames only, but embedded resources currently @@ -647,10 +654,9 @@ public: - wxXmlResourceHandler::wxXmlResourceHandler() : m_node(NULL), m_parent(NULL), m_instance(NULL), - m_parentAsWindow(NULL), m_instanceAsWindow(NULL) + m_parentAsWindow(NULL) {} @@ -660,7 +666,7 @@ wxObject *wxXmlResourceHandler::CreateResource(wxXmlNode *node, wxObject *parent wxXmlNode *myNode = m_node; wxString myClass = m_class; wxObject *myParent = m_parent, *myInstance = m_instance; - wxWindow *myParentAW = m_parentAsWindow, *myInstanceAW = m_instanceAsWindow; + wxWindow *myParentAW = m_parentAsWindow; m_instance = instance; if (!m_instance && node->HasProp(wxT("subclass")) && @@ -690,14 +696,13 @@ wxObject *wxXmlResourceHandler::CreateResource(wxXmlNode *node, wxObject *parent m_class = node->GetPropVal(wxT("class"), wxEmptyString); m_parent = parent; m_parentAsWindow = wxDynamicCast(m_parent, wxWindow); - m_instanceAsWindow = wxDynamicCast(m_instance, wxWindow); wxObject *returned = DoCreateResource(); m_node = myNode; m_class = myClass; m_parent = myParent; m_parentAsWindow = myParentAW; - m_instance = myInstance; m_instanceAsWindow = myInstanceAW; + m_instance = myInstance; return returned; } @@ -722,9 +727,11 @@ void wxXmlResourceHandler::AddWindowStyles() XRC_ADD_STYLE(wxNO_BORDER); XRC_ADD_STYLE(wxTRANSPARENT_WINDOW); XRC_ADD_STYLE(wxWANTS_CHARS); + XRC_ADD_STYLE(wxTAB_TRAVERSAL); XRC_ADD_STYLE(wxNO_FULL_REPAINT_ON_RESIZE); XRC_ADD_STYLE(wxFULL_REPAINT_ON_RESIZE); XRC_ADD_STYLE(wxWS_EX_BLOCK_EVENTS); + XRC_ADD_STYLE(wxWS_EX_VALIDATE_RECURSIVELY); } @@ -786,14 +793,34 @@ wxString wxXmlResourceHandler::GetText(const wxString& param, bool translate) else str2 << wxT('&') << *dt; } - // Remap \n to CR, \r to LF, \t to TAB: + // Remap \n to CR, \r to LF, \t to TAB, \\ to \: else if (*dt == wxT('\\')) switch (*(++dt)) { - case wxT('n') : str2 << wxT('\n'); break; - case wxT('t') : str2 << wxT('\t'); break; - case wxT('r') : str2 << wxT('\r'); break; - default : str2 << wxT('\\') << *dt; break; + case wxT('n'): + str2 << wxT('\n'); + break; + + case wxT('t'): + str2 << wxT('\t'); + break; + + case wxT('r'): + str2 << wxT('\r'); + break; + + case wxT('\\') : + // "\\" wasn't translated to "\" prior to 2.5.3.0: + if (m_resource->CompareVersion(2,5,3,0) >= 0) + { + str2 << wxT('\\'); + break; + } + // else fall-through to default: branch below + + default: + str2 << wxT('\\') << *dt; + break; } else str2 << *dt; } @@ -816,13 +843,11 @@ wxString wxXmlResourceHandler::GetText(const wxString& param, bool translate) #endif } } - else - { - // If wxXRC_USE_LOCALE is not set, then the string is already in - // system's default encoding in ANSI build, so we don't have to - // do anything special here. - return str2; - } + + // If wxXRC_USE_LOCALE is not set, then the string is already in + // system's default encoding in ANSI build, so we don't have to + // do anything special here. + return str2; } @@ -838,6 +863,24 @@ long wxXmlResourceHandler::GetLong(const wxString& param, long defaultv) return value; } +float wxXmlResourceHandler::GetFloat(const wxString& param, float defaultv) +{ + double value; + wxString str1 = GetParamValue(param); + +#ifndef __WXWINCE__ + const char *prevlocale = setlocale(LC_NUMERIC, "C"); +#endif + + if (!str1.ToDouble(&value)) + value = defaultv; + +#ifndef __WXWINCE__ + setlocale(LC_NUMERIC, prevlocale); +#endif + + return value; +} int wxXmlResourceHandler::GetID() @@ -859,19 +902,76 @@ bool wxXmlResourceHandler::GetBool(const wxString& param, bool defaultv) wxString v = GetParamValue(param); v.MakeLower(); if (!v) return defaultv; - else return (v == wxT("1")); + + return (v == wxT("1")); } +static wxColour GetSystemColour(const wxString& name) +{ + if (!name.empty()) + { + #define SYSCLR(clr) \ + if (name == _T(#clr)) return wxSystemSettings::GetColour(clr); + SYSCLR(wxSYS_COLOUR_SCROLLBAR) + SYSCLR(wxSYS_COLOUR_BACKGROUND) + SYSCLR(wxSYS_COLOUR_DESKTOP) + SYSCLR(wxSYS_COLOUR_ACTIVECAPTION) + SYSCLR(wxSYS_COLOUR_INACTIVECAPTION) + SYSCLR(wxSYS_COLOUR_MENU) + SYSCLR(wxSYS_COLOUR_WINDOW) + SYSCLR(wxSYS_COLOUR_WINDOWFRAME) + SYSCLR(wxSYS_COLOUR_MENUTEXT) + SYSCLR(wxSYS_COLOUR_WINDOWTEXT) + SYSCLR(wxSYS_COLOUR_CAPTIONTEXT) + SYSCLR(wxSYS_COLOUR_ACTIVEBORDER) + SYSCLR(wxSYS_COLOUR_INACTIVEBORDER) + SYSCLR(wxSYS_COLOUR_APPWORKSPACE) + SYSCLR(wxSYS_COLOUR_HIGHLIGHT) + SYSCLR(wxSYS_COLOUR_HIGHLIGHTTEXT) + SYSCLR(wxSYS_COLOUR_BTNFACE) + SYSCLR(wxSYS_COLOUR_3DFACE) + SYSCLR(wxSYS_COLOUR_BTNSHADOW) + SYSCLR(wxSYS_COLOUR_3DSHADOW) + SYSCLR(wxSYS_COLOUR_GRAYTEXT) + SYSCLR(wxSYS_COLOUR_BTNTEXT) + SYSCLR(wxSYS_COLOUR_INACTIVECAPTIONTEXT) + SYSCLR(wxSYS_COLOUR_BTNHIGHLIGHT) + SYSCLR(wxSYS_COLOUR_BTNHILIGHT) + SYSCLR(wxSYS_COLOUR_3DHIGHLIGHT) + SYSCLR(wxSYS_COLOUR_3DHILIGHT) + SYSCLR(wxSYS_COLOUR_3DDKSHADOW) + SYSCLR(wxSYS_COLOUR_3DLIGHT) + SYSCLR(wxSYS_COLOUR_INFOTEXT) + SYSCLR(wxSYS_COLOUR_INFOBK) + SYSCLR(wxSYS_COLOUR_LISTBOX) + SYSCLR(wxSYS_COLOUR_HOTLIGHT) + SYSCLR(wxSYS_COLOUR_GRADIENTACTIVECAPTION) + SYSCLR(wxSYS_COLOUR_GRADIENTINACTIVECAPTION) + SYSCLR(wxSYS_COLOUR_MENUHILIGHT) + SYSCLR(wxSYS_COLOUR_MENUBAR) + #undef SYSCLR + } + + return wxNullColour; +} wxColour wxXmlResourceHandler::GetColour(const wxString& param) { wxString v = GetParamValue(param); + + // find colour using HTML syntax (#RRGGBB) unsigned long tmp = 0; if (v.Length() != 7 || v[0u] != wxT('#') || wxSscanf(v.c_str(), wxT("#%lX"), &tmp) != 1) { + // the colour doesn't use #RRGGBB format, check if it is symbolic + // colour name: + wxColour clr = GetSystemColour(v); + if (clr.Ok()) + return clr; + wxLogError(_("XRC resource: Incorrect colour specification '%s' for property '%s'."), v.c_str(), param.c_str()); return wxNullColour; @@ -900,7 +1000,7 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, scl = defaultArtClient; else scl = wxART_MAKE_CLIENT_ID_FROM_STR(scl); - + wxBitmap stockArt = wxArtProvider::GetBitmap(wxART_MAKE_ART_ID_FROM_STR(sid), scl, size); @@ -911,7 +1011,7 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, /* ...or load the bitmap from file: */ wxString name = GetParamValue(param); - if (name.IsEmpty()) return wxNullBitmap; + if (name.empty()) return wxNullBitmap; #if wxUSE_FILESYSTEM wxFSFile *fsfile = GetCurFileSystem().OpenFile(name); if (fsfile == NULL) @@ -928,7 +1028,8 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, if (!img.Ok()) { - wxLogError(_("XRC resource: Cannot create bitmap from '%s'."), param.c_str()); + wxLogError(_("XRC resource: Cannot create bitmap from '%s'."), + param.c_str()); return wxNullBitmap; } if (!(size == wxDefaultSize)) img.Rescale(size.x, size.y); @@ -985,7 +1086,7 @@ wxString wxXmlResourceHandler::GetNodeContent(wxXmlNode *node) wxString wxXmlResourceHandler::GetParamValue(const wxString& param) { - if (param.IsEmpty()) + if (param.empty()) return GetNodeContent(m_node); else return GetNodeContent(GetParamNode(param)); @@ -993,10 +1094,11 @@ wxString wxXmlResourceHandler::GetParamValue(const wxString& param) -wxSize wxXmlResourceHandler::GetSize(const wxString& param) +wxSize wxXmlResourceHandler::GetSize(const wxString& param, + wxWindow *windowToUse) { wxString s = GetParamValue(param); - if (s.IsEmpty()) s = wxT("-1,-1"); + if (s.empty()) s = wxT("-1,-1"); bool is_dlg; long sx, sy = 0; @@ -1012,17 +1114,22 @@ wxSize wxXmlResourceHandler::GetSize(const wxString& param) if (is_dlg) { - if (m_instanceAsWindow) - return wxDLG_UNIT(m_instanceAsWindow, wxSize(sx, sy)); + if (windowToUse) + { + return wxDLG_UNIT(windowToUse, wxSize(sx, sy)); + } else if (m_parentAsWindow) + { return wxDLG_UNIT(m_parentAsWindow, wxSize(sx, sy)); + } else { wxLogError(_("Cannot convert dialog units: dialog unknown.")); return wxDefaultSize; } } - else return wxSize(sx, sy); + + return wxSize(sx, sy); } @@ -1035,10 +1142,12 @@ wxPoint wxXmlResourceHandler::GetPosition(const wxString& param) -wxCoord wxXmlResourceHandler::GetDimension(const wxString& param, wxCoord defaultv) +wxCoord wxXmlResourceHandler::GetDimension(const wxString& param, + wxCoord defaultv, + wxWindow *windowToUse) { wxString s = GetParamValue(param); - if (s.IsEmpty()) return defaultv; + if (s.empty()) return defaultv; bool is_dlg; long sx; @@ -1053,20 +1162,45 @@ wxCoord wxXmlResourceHandler::GetDimension(const wxString& param, wxCoord defaul if (is_dlg) { - if (m_instanceAsWindow) - return wxDLG_UNIT(m_instanceAsWindow, wxSize(sx, 0)).x; + if (windowToUse) + { + return wxDLG_UNIT(windowToUse, wxSize(sx, 0)).x; + } else if (m_parentAsWindow) + { return wxDLG_UNIT(m_parentAsWindow, wxSize(sx, 0)).x; + } else { wxLogError(_("Cannot convert dialog units: dialog unknown.")); return defaultv; } } - else return sx; + + return sx; } +// Get system font index using indexname +static wxFont GetSystemFont(const wxString& name) +{ + if (!name.empty()) + { + #define SYSFNT(fnt) \ + if (name == _T(#fnt)) return wxSystemSettings::GetFont(fnt); + SYSFNT(wxSYS_OEM_FIXED_FONT) + SYSFNT(wxSYS_ANSI_FIXED_FONT) + SYSFNT(wxSYS_ANSI_VAR_FONT) + SYSFNT(wxSYS_SYSTEM_FONT) + SYSFNT(wxSYS_DEVICE_DEFAULT_FONT) + SYSFNT(wxSYS_DEFAULT_PALETTE) + SYSFNT(wxSYS_SYSTEM_FIXED_FONT) + SYSFNT(wxSYS_DEFAULT_GUI_FONT) + #undef SYSFNT + } + + return wxNullFont; +} wxFont wxXmlResourceHandler::GetFont(const wxString& param) { @@ -1080,53 +1214,120 @@ wxFont wxXmlResourceHandler::GetFont(const wxString& param) wxXmlNode *oldnode = m_node; m_node = font_node; - long size = GetLong(wxT("size"), 12); + // font attributes: + + // size + int isize = wxDEFAULT; + bool hasSize = HasParam(wxT("size")); + if (hasSize) + isize = GetLong(wxT("size"), wxDEFAULT); - wxString style = GetParamValue(wxT("style")); - wxString weight = GetParamValue(wxT("weight")); - int istyle = wxNORMAL, iweight = wxNORMAL; - if (style == wxT("italic")) istyle = wxITALIC; - else if (style == wxT("slant")) istyle = wxSLANT; - if (weight == wxT("bold")) iweight = wxBOLD; - else if (weight == wxT("light")) iweight = wxLIGHT; + // style + int istyle = wxNORMAL; + bool hasStyle = HasParam(wxT("style")); + if (hasStyle) + { + wxString style = GetParamValue(wxT("style")); + if (style == wxT("italic")) + istyle = wxITALIC; + else if (style == wxT("slant")) + istyle = wxSLANT; + } - wxString family = GetParamValue(wxT("family")); + // weight + int iweight = wxNORMAL; + bool hasWeight = HasParam(wxT("weight")); + if (hasWeight) + { + wxString weight = GetParamValue(wxT("weight")); + if (weight == wxT("bold")) + iweight = wxBOLD; + else if (weight == wxT("light")) + iweight = wxLIGHT; + } + + // underline + bool hasUnderlined = HasParam(wxT("underlined")); + bool underlined = hasUnderlined ? GetBool(wxT("underlined"), false) : false; + + // family and facename int ifamily = wxDEFAULT; - if (family == wxT("decorative")) ifamily = wxDECORATIVE; - else if (family == wxT("roman")) ifamily = wxROMAN; - else if (family == wxT("script")) ifamily = wxSCRIPT; - else if (family == wxT("swiss")) ifamily = wxSWISS; - else if (family == wxT("modern")) ifamily = wxMODERN; + bool hasFamily = HasParam(wxT("family")); + if (hasFamily) + { + wxString family = GetParamValue(wxT("family")); + if (family == wxT("decorative")) ifamily = wxDECORATIVE; + else if (family == wxT("roman")) ifamily = wxROMAN; + else if (family == wxT("script")) ifamily = wxSCRIPT; + else if (family == wxT("swiss")) ifamily = wxSWISS; + else if (family == wxT("modern")) ifamily = wxMODERN; + else if (family == wxT("teletype")) ifamily = wxTELETYPE; + } - bool underlined = GetBool(wxT("underlined"), false); - wxString encoding = GetParamValue(wxT("encoding")); - wxFontMapper mapper; - wxFontEncoding enc = wxFONTENCODING_DEFAULT; - if (!encoding.IsEmpty()) - enc = mapper.CharsetToEncoding(encoding); - if (enc == wxFONTENCODING_SYSTEM) - enc = wxFONTENCODING_DEFAULT; - - wxString faces = GetParamValue(wxT("face")); - wxString facename = wxEmptyString; - wxFontEnumerator enu; - enu.EnumerateFacenames(); - wxStringTokenizer tk(faces, wxT(",")); - while (tk.HasMoreTokens()) + wxString facename; + bool hasFacename = HasParam(wxT("face")); + if (hasFacename) { - int index = enu.GetFacenames()->Index(tk.GetNextToken(), false); - if (index != wxNOT_FOUND) + wxString faces = GetParamValue(wxT("face")); + wxFontEnumerator enu; + enu.EnumerateFacenames(); + wxStringTokenizer tk(faces, wxT(",")); + while (tk.HasMoreTokens()) { - facename = (*enu.GetFacenames())[index]; - break; + int index = enu.GetFacenames()->Index(tk.GetNextToken(), false); + if (index != wxNOT_FOUND) + { + facename = (*enu.GetFacenames())[index]; + break; + } } } - m_node = oldnode; + // encoding + wxFontEncoding enc = wxFONTENCODING_DEFAULT; + bool hasEncoding = HasParam(wxT("encoding")); + if (hasEncoding) + { + wxString encoding = GetParamValue(wxT("encoding")); + wxFontMapper mapper; + if (!encoding.empty()) + enc = mapper.CharsetToEncoding(encoding); + if (enc == wxFONTENCODING_SYSTEM) + enc = wxFONTENCODING_DEFAULT; + } + + // is this font based on a system font? + wxFont sysfont = GetSystemFont(GetParamValue(wxT("sysfont"))); - wxFont font(size, ifamily, istyle, iweight, underlined, facename, enc); - return font; + if (sysfont.Ok()) + { + if (hasSize) + sysfont.SetPointSize(isize); + else if (HasParam(wxT("relativesize"))) + sysfont.SetPointSize(int(sysfont.GetPointSize() * + GetFloat(wxT("relativesize")))); + + if (hasStyle) + sysfont.SetStyle(istyle); + if (hasWeight) + sysfont.SetWeight(iweight); + if (hasUnderlined) + sysfont.SetUnderlined(underlined); + if (hasFamily) + sysfont.SetFamily(ifamily); + if (hasFacename) + sysfont.SetFaceName(facename); + if (hasEncoding) + sysfont.SetDefaultEncoding(enc); + + m_node = oldnode; + return sysfont; + } + + m_node = oldnode; + return wxFont(isize, ifamily, istyle, iweight, + underlined, facename, enc); } @@ -1213,8 +1414,6 @@ static XRCID_record *XRCID_Records[XRCID_TABLE_SIZE] = {NULL}; static int XRCID_Lookup(const wxChar *str_id, int value_if_not_found = -2) { - static int XRCID_LastID = wxID_HIGHEST; - int index = 0; for (const wxChar *c = str_id; *c != wxT('\0'); c++) index += (int)*c; @@ -1249,15 +1448,25 @@ static int XRCID_Lookup(const wxChar *str_id, int value_if_not_found = -2) } else { - (*rec_var)->id = ++XRCID_LastID; + (*rec_var)->id = wxNewId(); } } return (*rec_var)->id; } +static void AddStdXRCID_Records(); + /*static*/ int wxXmlResource::GetXRCID(const wxChar *str_id) { + static bool s_stdIDsAdded = false; + + if ( !s_stdIDsAdded ) + { + s_stdIDsAdded = true; + AddStdXRCID_Records(); + } + return XRCID_Lookup(str_id); } @@ -1285,20 +1494,107 @@ static void AddStdXRCID_Records() { #define stdID(id) XRCID_Lookup(wxT(#id), id) stdID(-1); - stdID(wxID_OPEN); stdID(wxID_CLOSE); stdID(wxID_NEW); - stdID(wxID_SAVE); stdID(wxID_SAVEAS); stdID(wxID_REVERT); - stdID(wxID_EXIT); stdID(wxID_UNDO); stdID(wxID_REDO); - stdID(wxID_HELP); stdID(wxID_PRINT); stdID(wxID_PRINT_SETUP); - stdID(wxID_PREVIEW); stdID(wxID_ABOUT); stdID(wxID_HELP_CONTENTS); - stdID(wxID_HELP_COMMANDS); stdID(wxID_HELP_PROCEDURES); - stdID(wxID_CUT); stdID(wxID_COPY); stdID(wxID_PASTE); - stdID(wxID_CLEAR); stdID(wxID_FIND); stdID(wxID_DUPLICATE); - stdID(wxID_SELECTALL); stdID(wxID_OK); stdID(wxID_CANCEL); - stdID(wxID_APPLY); stdID(wxID_YES); stdID(wxID_NO); - stdID(wxID_STATIC); stdID(wxID_FORWARD); stdID(wxID_BACKWARD); - stdID(wxID_DEFAULT); stdID(wxID_MORE); stdID(wxID_SETUP); - stdID(wxID_RESET); stdID(wxID_HELP_CONTEXT); + + stdID(wxID_ANY); + stdID(wxID_SEPARATOR); + + stdID(wxID_OPEN); + stdID(wxID_CLOSE); + stdID(wxID_NEW); + stdID(wxID_SAVE); + stdID(wxID_SAVEAS); + stdID(wxID_REVERT); + stdID(wxID_EXIT); + stdID(wxID_UNDO); + stdID(wxID_REDO); + stdID(wxID_HELP); + stdID(wxID_PRINT); + stdID(wxID_PRINT_SETUP); + stdID(wxID_PREVIEW); + stdID(wxID_ABOUT); + stdID(wxID_HELP_CONTENTS); + stdID(wxID_HELP_COMMANDS); + stdID(wxID_HELP_PROCEDURES); + stdID(wxID_HELP_CONTEXT); stdID(wxID_CLOSE_ALL); + stdID(wxID_PREFERENCES); + stdID(wxID_CUT); + stdID(wxID_COPY); + stdID(wxID_PASTE); + stdID(wxID_CLEAR); + stdID(wxID_FIND); + stdID(wxID_DUPLICATE); + stdID(wxID_SELECTALL); + stdID(wxID_DELETE); + stdID(wxID_REPLACE); + stdID(wxID_REPLACE_ALL); + stdID(wxID_PROPERTIES); + stdID(wxID_VIEW_DETAILS); + stdID(wxID_VIEW_LARGEICONS); + stdID(wxID_VIEW_SMALLICONS); + stdID(wxID_VIEW_LIST); + stdID(wxID_VIEW_SORTDATE); + stdID(wxID_VIEW_SORTNAME); + stdID(wxID_VIEW_SORTSIZE); + stdID(wxID_VIEW_SORTTYPE); + stdID(wxID_FILE1); + stdID(wxID_FILE2); + stdID(wxID_FILE3); + stdID(wxID_FILE4); + stdID(wxID_FILE5); + stdID(wxID_FILE6); + stdID(wxID_FILE7); + stdID(wxID_FILE8); + stdID(wxID_FILE9); + stdID(wxID_OK); + stdID(wxID_CANCEL); + stdID(wxID_APPLY); + stdID(wxID_YES); + stdID(wxID_NO); + stdID(wxID_STATIC); + stdID(wxID_FORWARD); + stdID(wxID_BACKWARD); + stdID(wxID_DEFAULT); + stdID(wxID_MORE); + stdID(wxID_SETUP); + stdID(wxID_RESET); + stdID(wxID_CONTEXT_HELP); + stdID(wxID_YESTOALL); + stdID(wxID_NOTOALL); + stdID(wxID_ABORT); + stdID(wxID_RETRY); + stdID(wxID_IGNORE); + stdID(wxID_ADD); + stdID(wxID_REMOVE); + stdID(wxID_UP); + stdID(wxID_DOWN); + stdID(wxID_HOME); + stdID(wxID_REFRESH); + stdID(wxID_STOP); + stdID(wxID_INDEX); + stdID(wxID_BOLD); + stdID(wxID_ITALIC); + stdID(wxID_JUSTIFY_CENTER); + stdID(wxID_JUSTIFY_FILL); + stdID(wxID_JUSTIFY_RIGHT); + stdID(wxID_JUSTIFY_LEFT); + stdID(wxID_UNDERLINE); + stdID(wxID_INDENT); + stdID(wxID_UNINDENT); + stdID(wxID_ZOOM_100); + stdID(wxID_ZOOM_FIT); + stdID(wxID_ZOOM_IN); + stdID(wxID_ZOOM_OUT); + stdID(wxID_UNDELETE); + stdID(wxID_REVERT_TO_SAVED); + stdID(wxID_SYSTEM_MENU); + stdID(wxID_CLOSE_FRAME); + stdID(wxID_MOVE_FRAME); + stdID(wxID_RESIZE_FRAME); + stdID(wxID_MAXIMIZE_FRAME); + stdID(wxID_ICONIZE_FRAME); + stdID(wxID_RESTORE_FRAME); + #undef stdID } @@ -1315,7 +1611,6 @@ public: wxXmlResourceModule() {} bool OnInit() { - AddStdXRCID_Records(); wxXmlResource::AddSubclassFactory(new wxXmlSubclassFactoryCXX); return true; } @@ -1340,3 +1635,5 @@ void wxXmlInitResourceModule() module->Init(); wxModule::RegisterModule(module); } + +#endif // wxUSE_XRC