X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2ad1ff540f036e130ed934066b80652c2c5fe158..554fdf48f5487958a434571266258cecae14e51d:/utils/wxrc/wxrc.cpp?ds=inline diff --git a/utils/wxrc/wxrc.cpp b/utils/wxrc/wxrc.cpp index 325dd71b56..9d90ec07eb 100644 --- a/utils/wxrc/wxrc.cpp +++ b/utils/wxrc/wxrc.cpp @@ -8,11 +8,6 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(__APPLE__) - #pragma implementation - #pragma interface -#endif - // For compilers that support precompilation, includes "wx/wx.h". #include "wx/wxprec.h" @@ -31,6 +26,7 @@ #include "wx/ffile.h" #include "wx/filename.h" #include "wx/wfstream.h" +#include "wx/utils.h" class XRCWidgetData @@ -47,7 +43,7 @@ private: #include "wx/arrimpl.cpp" WX_DECLARE_OBJARRAY(XRCWidgetData,ArrayOfXRCWidgetData); -WX_DEFINE_OBJARRAY(ArrayOfXRCWidgetData); +WX_DEFINE_OBJARRAY(ArrayOfXRCWidgetData) class XRCWndClassData { @@ -152,7 +148,7 @@ public: }; }; WX_DECLARE_OBJARRAY(XRCWndClassData,ArrayOfXRCWndClassData); -WX_DEFINE_OBJARRAY(ArrayOfXRCWndClassData); +WX_DEFINE_OBJARRAY(ArrayOfXRCWndClassData) class XmlResApp : public wxAppConsole @@ -196,21 +192,21 @@ int XmlResApp::OnRun() { { wxCMD_LINE_SWITCH, _T("h"), _T("help"), _T("show help message"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_OPTION_HELP }, - { wxCMD_LINE_SWITCH, _T("v"), _T("verbose"), _T("be verbose") }, - { wxCMD_LINE_SWITCH, _T("e"), _T("extra-cpp-code"), _T("output C++ header file with XRC derived classes") }, - { wxCMD_LINE_SWITCH, _T("c"), _T("cpp-code"), _T("output C++ source rather than .rsc file") }, - { wxCMD_LINE_SWITCH, _T("p"), _T("python-code"), _T("output wxPython source rather than .rsc file") }, - { wxCMD_LINE_SWITCH, _T("g"), _T("gettext"), _T("output list of translatable strings (to stdout or file if -o used)") }, - { wxCMD_LINE_OPTION, _T("n"), _T("function"), _T("C++/Python function name (with -c or -p) [InitXmlResource]") }, - { wxCMD_LINE_OPTION, _T("o"), _T("output"), _T("output file [resource.xrs/cpp]") }, + { wxCMD_LINE_SWITCH, _T("v"), _T("verbose"), _T("be verbose"), (wxCmdLineParamType)0, 0 }, + { wxCMD_LINE_SWITCH, _T("e"), _T("extra-cpp-code"), _T("output C++ header file with XRC derived classes"), (wxCmdLineParamType)0, 0 }, + { wxCMD_LINE_SWITCH, _T("c"), _T("cpp-code"), _T("output C++ source rather than .rsc file"), (wxCmdLineParamType)0, 0 }, + { wxCMD_LINE_SWITCH, _T("p"), _T("python-code"), _T("output wxPython source rather than .rsc file"), (wxCmdLineParamType)0, 0 }, + { wxCMD_LINE_SWITCH, _T("g"), _T("gettext"), _T("output list of translatable strings (to stdout or file if -o used)"), (wxCmdLineParamType)0, 0 }, + { wxCMD_LINE_OPTION, _T("n"), _T("function"), _T("C++/Python function name (with -c or -p) [InitXmlResource]"), (wxCmdLineParamType)0, 0 }, + { wxCMD_LINE_OPTION, _T("o"), _T("output"), _T("output file [resource.xrs/cpp]"), (wxCmdLineParamType)0, 0 }, #if 0 // not yet implemented - { wxCMD_LINE_OPTION, _T("l"), _T("list-of-handlers", _T("output list of neccessary handlers to this file" }, + { wxCMD_LINE_OPTION, _T("l"), _T("list-of-handlers"), _T("output list of necessary handlers to this file"), (wxCmdLineParamType)0, 0 }, #endif { wxCMD_LINE_PARAM, NULL, NULL, _T("input file(s)"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_MULTIPLE | wxCMD_LINE_OPTION_MANDATORY }, - { wxCMD_LINE_NONE } + { wxCMD_LINE_NONE, NULL, NULL, NULL, (wxCmdLineParamType)0, 0 } }; wxCmdLineParser parser(cmdLineDesc, argc, argv); @@ -484,8 +480,8 @@ void XmlResApp::MakePackageZIP(const wxArrayString& flist) wxString cwd = wxGetCwd(); wxSetWorkingDirectory(parOutputPath); int execres = wxExecute(_T("zip -9 -j ") + - wxString(flagVerbose ? _T("") : _T("-q ")) + - parOutput + _T(" ") + files, true); + wxString(flagVerbose ? _T("\"") : _T("-q \"")) + + parOutput + _T("\" ") + files, true); wxSetWorkingDirectory(cwd); if (execres == -1) { @@ -506,8 +502,9 @@ static wxString FileToCppArray(wxString filename, int num) wxFFile file(filename, wxT("rb")); wxFileOffset offset = file.Length(); wxASSERT_MSG( offset >= 0 , wxT("Invalid file length") ); - wxASSERT_MSG( offset == wxFileOffset(size_t(offset)) , wxT("Huge file not supported") ); - size_t lng = (size_t)offset; + + const size_t lng = wx_truncate_cast(size_t, offset); + wxASSERT_MSG( lng == offset, wxT("Huge file not supported") ); snum.Printf(_T("%i"), num); output.Printf(_T("static size_t xml_res_size_") + snum + _T(" = %i;\n"), lng); @@ -632,8 +629,9 @@ static wxString FileToPythonArray(wxString filename, int num) wxFFile file(filename, wxT("rb")); wxFileOffset offset = file.Length(); wxASSERT_MSG( offset >= 0 , wxT("Invalid file length") ); - wxASSERT_MSG( offset == wxFileOffset(size_t(offset)) , wxT("Huge file not supported") ); - size_t lng = (size_t)offset; + + const size_t lng = wx_truncate_cast(size_t, offset); + wxASSERT_MSG( offset == lng, wxT("Huge file not supported") ); snum.Printf(_T("%i"), num); output = _T(" xml_res_file_") + snum + _T(" = '''\\\n");