void XmlResApp::MakePackageCPP(const wxArrayString& flist) { wxFFile file(parOutput, wxT("wt")); size_t i; if (flagVerbose) wxPrintf(_T("creating C++ source file ") + parOutput + _T("...\n")); file.Write(_T("") _T("//\n") _T("// This file was automatically generated by wxrc, do not edit by hand.\n") _T("//\n\n") _T("#include <wx/wxprec.h>\n") _T("\n") _T("#ifdef __BORLANDC__\n") _T(" #pragma hdrstop\n") _T("#endif\n") _T("\n") _T("") _T("#include <wx/filesys.h>\n") _T("#include <wx/fs_mem.h>\n") _T("#include <wx/xrc/xmlres.h>\n") _T("#include <wx/xrc/xh_all.h>\n") _T("\n") _T("#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805\n") _T(" #define XRC_ADD_FILE(name, data, size, mime) \\\n") _T(" wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)\n") _T("#else\n") _T(" #define XRC_ADD_FILE(name, data, size, mime) \\\n") _T(" wxMemoryFSHandler::AddFile(name, data, size)\n") _T("#endif\n") _T("\n")); for (i = 0; i < flist.Count(); i++) file.Write( FileToCppArray(parOutputPath + wxFILE_SEP_PATH + flist[i], i)); file.Write(_T("") _T("void ") + parFuncname + wxT("()\n") _T("{\n") _T("\n") _T(" // Check for memory FS. If not present, load the handler:\n") _T(" {\n") _T(" wxMemoryFSHandler::AddFile(wxT(\"XRC_resource/dummy_file\"), wxT(\"dummy one\"));\n") _T(" wxFileSystem fsys;\n") _T(" wxFSFile *f = fsys.OpenFile(wxT(\"memory:XRC_resource/dummy_file\"));\n") _T(" wxMemoryFSHandler::RemoveFile(wxT(\"XRC_resource/dummy_file\"));\n") _T(" if (f) delete f;\n") _T(" else wxFileSystem::AddHandler(new wxMemoryFSHandler);\n") _T(" }\n") _T("\n")); for (i = 0; i < flist.Count(); i++) { wxString s; wxString mime; wxString ext = wxFileName(flist[i]).GetExt(); if ( ext.Lower() == _T("xrc") ) mime = _T("text/xml"); #if wxUSE_MIMETYPE else { wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension(ext); if ( ft ) { ft->GetMimeType(&mime); delete ft; } } #endif // wxUSE_MIMETYPE s.Printf(_T(" XRC_ADD_FILE(wxT(\"XRC_resource/") + flist[i] + _T("\"), xml_res_file_%i, xml_res_size_%i, _T(\"%s\"));\n"), i, i, mime.c_str()); file.Write(s); } for (i = 0; i < parFiles.Count(); i++) { file.Write(_T(" wxXmlResource::Get()->Load(wxT(\"memory:XRC_resource/") + GetInternalFileName(parFiles[i], flist) + _T("\"));\n")); } file.Write(_T("}\n")); }
void XmlResApp::MakePackageCPP(const wxArrayString& flist) { wxFFile file(parOutput, wxT("wt")); size_t i; if (flagVerbose) wxPrintf(_T("creating C++ source file ") + parOutput + _T("...\n")); file.Write(_T("") _T("//\n") _T("// This file was automatically generated by wxrc, do not edit by hand.\n") _T("//\n\n") _T("#include <wx/wxprec.h>\n") _T("\n") _T("#ifdef __BORLANDC__\n") _T(" #pragma hdrstop\n") _T("#endif\n") _T("\n") _T("") _T("#include <wx/filesys.h>\n") _T("#include <wx/fs_mem.h>\n") _T("#include <wx/xrc/xmlres.h>\n") _T("#include <wx/xrc/xh_all.h>\n") _T("\n")); for (i = 0; i < flist.Count(); i++) file.Write( FileToCppArray(parOutputPath + wxFILE_SEP_PATH + flist[i], i)); file.Write(_T("") _T("void ") + parFuncname + wxT("()\n") _T("{\n") _T("\n") _T(" // Check for memory FS. If not present, load the handler:\n") _T(" {\n") _T(" wxMemoryFSHandler::AddFile(wxT(\"XRC_resource/dummy_file\"), wxT(\"dummy one\"));\n") _T(" wxFileSystem fsys;\n") _T(" wxFSFile *f = fsys.OpenFile(wxT(\"memory:XRC_resource/dummy_file\"));\n") _T(" wxMemoryFSHandler::RemoveFile(wxT(\"XRC_resource/dummy_file\"));\n") _T(" if (f) delete f;\n") _T(" else wxFileSystem::AddHandler(new wxMemoryFSHandler);\n") _T(" }\n") _T("\n")); for (i = 0; i < flist.Count(); i++) { wxString s; s.Printf(_T(" wxMemoryFSHandler::AddFile(wxT(\"XRC_resource/") + flist[i] + _T("\"), xml_res_file_%i, xml_res_size_%i);\n"), i, i); file.Write(s); } for (i = 0; i < parFiles.Count(); i++) { file.Write(_T(" wxXmlResource::Get()->Load(wxT(\"memory:XRC_resource/") + GetInternalFileName(parFiles[i], flist) + _T("\"));\n")); } file.Write(_T("}\n")); }
void wxcXmlResourceCmp::MakePackageCPP(const wxArrayString& flist) { wxFFile file(m_outputCppFile, wxT("wt")); unsigned i; file.Write("" "//\n" "// This file was automatically generated by wxrc, do not edit by hand.\n" "//\n\n" "#include <wx/wxprec.h>\n" "\n" "#ifdef __BORLANDC__\n" " #pragma hdrstop\n" "#endif\n" "\n" "" "#include <wx/filesys.h>\n" "#include <wx/fs_mem.h>\n" "#include <wx/xrc/xmlres.h>\n" "#include <wx/xrc/xh_all.h>\n" "\n" "#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805\n" " #define XRC_ADD_FILE(name, data, size, mime) \\\n" " wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)\n" "#else\n" " #define XRC_ADD_FILE(name, data, size, mime) \\\n" " wxMemoryFSHandler::AddFile(name, data, size)\n" "#endif\n" "\n"); for(i = 0; i < flist.GetCount(); i++) file.Write(FileToCppArray(m_outputPath + wxFILE_SEP_PATH + flist[i], i)); file.Write("" "void " + m_functionName + "()\n" "{\n" "\n" " // Check for memory FS. If not present, load the handler:\n" " {\n" " wxMemoryFSHandler::AddFile(wxT(\"XRC_resource/dummy_file\"), wxT(\"dummy one\"));\n" " wxFileSystem fsys;\n" " wxFSFile *f = fsys.OpenFile(wxT(\"memory:XRC_resource/dummy_file\"));\n" " wxMemoryFSHandler::RemoveFile(wxT(\"XRC_resource/dummy_file\"));\n" " if (f) delete f;\n"); if(wxcProjectMetadata::Get().IsAddHandlers()) { file.Write(" else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);\n"); } file.Write(" }\n\n"); for(i = 0; i < flist.GetCount(); i++) { wxString s; wxString mime; wxString ext = wxFileName(flist[i]).GetExt(); if(ext.Lower() == wxT("xrc")) mime = wxT("text/xml"); #if wxUSE_MIMETYPE else { wxFileType* ft = wxTheMimeTypesManager->GetFileTypeFromExtension(ext); if(ft) { ft->GetMimeType(&mime); delete ft; } } #endif // wxUSE_MIMETYPE s.Printf(" XRC_ADD_FILE(wxT(\"XRC_resource/" + flist[i] + "\"), xml_res_file_%u, xml_res_size_%u, wxT(\"%s\"));\n", i, i, mime.c_str()); file.Write(s); } file.Write(" wxXmlResource::Get()->Load(wxT(\"memory:XRC_resource/" + GetInternalFileName(m_xrcFile, flist) + "\"));\n"); file.Write("}\n"); }