// Purpose: XML resource compiler
// Author: Vaclav Slavik, Eduardo Marques <edrdo@netcabo.pt>
// Created: 2000/03/05
-// RCS-ID: $Id$
// Copyright: (c) 2000 Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
{
const XRCWidgetData& w = m_wdata.Item(i);
if( !CanBeUsedWithXRCCTRL(w.GetClass()) ) continue;
- if( w.GetName().Length() == 0 ) continue;
+ if( w.GetName().empty() ) continue;
file.Write(
wxT(" ") + w.GetClass() + wxT("* ") + w.GetName()
+ wxT(";\n"));
{
const XRCWidgetData& w = m_wdata.Item(i);
if( !CanBeUsedWithXRCCTRL(w.GetClass()) ) continue;
- if( w.GetName().Length() == 0 ) continue;
+ if( w.GetName().empty() ) continue;
file.Write( wxT(" ")
+ w.GetName()
+ wxT(" = XRCCTRL(*this,\"")
{
wxArrayString files = PrepareTempFiles();
- wxRemoveFile(parOutput);
+ if ( wxFileExists(parOutput) )
+ wxRemoveFile(parOutput);
if (!retCode)
{
wxT("Huge file not supported") );
snum.Printf(wxT("%i"), num);
- output.Printf(wxT("static size_t xml_res_size_") + snum + wxT(" = %zu;\n"), lng);
+ output.Printf(wxT("static size_t xml_res_size_") + snum + wxT(" = %lu;\n"),
+ static_cast<unsigned long>(lng));
output += wxT("static unsigned char xml_res_file_") + snum + wxT("[] = {\n");
// we cannot use string literals because MSVC is dumb wannabe compiler
// with arbitrary limitation to 2048 strings :(
void XmlResApp::GenCPPHeader()
{
- wxString fileSpec = ((parOutput.BeforeLast('.')).AfterLast('/')).AfterLast('\\');
- wxString heaFileName = fileSpec + wxT(".h");
+ // Generate the output header in the same directory as the source file.
+ wxFileName headerName(parOutput);
+ headerName.SetExt("h");
- wxFFile file(heaFileName, wxT("wt"));
+ wxFFile file(headerName.GetFullPath(), wxT("wt"));
file.Write(
"//\n"
"// This file was automatically generated by wxrc, do not edit by hand.\n"
"//\n\n"
-"#ifndef __" + fileSpec + "_h__\n"
-"#define __" + fileSpec + "_h__\n"
+"#ifndef __" + headerName.GetName() + "_h__\n"
+"#define __" + headerName.GetName() + "_h__\n"
);
for(size_t i=0;i<aXRCWndClassData.GetCount();++i){
aXRCWndClassData.Item(i).GenerateHeaderCode(file);
{
if (*dt == wxT('_'))
{
- if ( *(++dt) == wxT('_') )
+ if ( *(dt+1) == 0 )
+ str2 << wxT('_');
+ else if ( *(++dt) == wxT('_') )
str2 << wxT('_');
else
str2 << wxT('&') << *dt;
node/*not n!*/->GetName() == wxT("tooltip") ||
node/*not n!*/->GetName() == wxT("htmlcode") ||
node/*not n!*/->GetName() == wxT("title") ||
- node/*not n!*/->GetName() == wxT("item")
+ node/*not n!*/->GetName() == wxT("item") ||
+ node/*not n!*/->GetName() == wxT("message") ||
+ node/*not n!*/->GetName() == wxT("note") ||
+ node/*not n!*/->GetName() == wxT("defaultdirectory") ||
+ node/*not n!*/->GetName() == wxT("defaultfilename") ||
+ node/*not n!*/->GetName() == wxT("defaultfolder") ||
+ node/*not n!*/->GetName() == wxT("filter") ||
+ node/*not n!*/->GetName() == wxT("caption")
))
// ...and known to contain translatable string
{