// -----------------------------------------------------------------------------
// substitute all plugin macros in <buffer>
function SubstituteMacros(buffer)
{
// handle [IF] / [ENDIF] pairs
if (GuiBuilder == 0)
{
if (GuiAppType == 0)
{
buffer = HandleDirective(buffer, _T("WXDIALOG"), true);
buffer = HandleDirective(buffer, _T("WXFRAME"), false);
}
else if (GuiAppType == 1)
{
buffer = HandleDirective(buffer, _T("WXDIALOG"), false);
buffer = HandleDirective(buffer, _T("WXFRAME"), true);
}
buffer = HandleDirective(buffer, _T("NONE"), true);
buffer = HandleDirective(buffer, _T("WXFB"), false);
}
else if (GuiBuilder == 1)
{
if (GuiAppType == 0)
{
buffer = HandleDirective(buffer, _T("WXDIALOG"), true);
buffer = HandleDirective(buffer, _T("WXFRAME"), false);
}
else if (GuiAppType == 1)
{
buffer = HandleDirective(buffer, _T("WXDIALOG"), false);
buffer = HandleDirective(buffer, _T("WXFRAME"), true);
}
}
else if (GuiBuilder == 2)
{
if (GuiAppType == 0)
{
buffer = HandleDirective(buffer, _T("WXDIALOG"), true);
buffer = HandleDirective(buffer, _T("WXFRAME"), false);
}
else if (GuiAppType == 1)
{
buffer = HandleDirective(buffer, _T("WXDIALOG"), false);
buffer = HandleDirective(buffer, _T("WXFRAME"), true);
}
buffer = HandleDirective(buffer, _T("NONE"), false);
buffer = HandleDirective(buffer, _T("WXFB"), true);
}
buffer = HandleDirective(buffer, _T("WINDOWS"), (PLATFORM == PLATFORM_MSW ? true : false));
// create class name from project name which is valid c++ identifier
local Prefix = GetFixedProjectName(Wizard.GetProjectName());
local PchInclude = WantPCH ? ( _T("#include \"") + PCHFileName + _T("\"\n") ) : _T("");
// macros substitution
buffer.Replace(_T("[PROJECT_HDR]"), Prefix.Upper() );
buffer.Replace(_T("[PROJECT_NAME]"), Wizard.GetProjectName());
buffer.Replace(_T("[FILENAME_PREFIX]"), Prefix);
buffer.Replace(_T("[CLASS_PREFIX]"), Prefix);
buffer.Replace(_T("[AUTHOR_NAME]"), ProjAuthor);
buffer.Replace(_T("[AUTHOR_EMAIL]"), ProjEmail);
buffer.Replace(_T("[AUTHOR_WWW]"), ProjWebsite);
buffer.Replace(_T("[NOW]"), ReplaceMacros(_T("$(TODAY)"), false));
buffer.Replace(_T("[PCH_INCLUDE]"), PchInclude);
return buffer;
}
/***************************************************************
* Name: [FILENAME_PREFIX]Main.cpp
* Purpose: Code for Application Frame
* Author: [AUTHOR_NAME] ([AUTHOR_EMAIL])
* Created: [NOW]
* Copyright: [AUTHOR_NAME] ([AUTHOR_WWW])
* License:
**************************************************************/
[PCH_INCLUDE]#include "[FILENAME_PREFIX]Main.h"
#include <wx/msgdlg.h>
//(*InternalHeaders([CLASS_PREFIX][IF WXFRAME]Frame[ENDIF WXFRAME][IF WXDIALOG]Dialog[ENDIF WXDIALOG])
//*)
//helper functions
enum wxbuildinfoformat {
short_f, long_f };
The file under my system has CRLF.