70     : m_CompilerId(compilerId),
    76     XRCCTRL(*
this, 
"wxID_OK", 
wxButton)->SetDefault();
    77     ReadCompilerOptions();
    80     GetSizer()->SetSizeHints(
this);
    96     for (
int i = 0; i < 
ctCount; ++i)
   143     for (
int i = 0; i < 
ctCount; ++i)
   192     for (
size_t i = 0; i < 
m_Commands[nr].size(); ++i)
   200     for (
size_t i = 0; i < 
m_Commands[cmd].size(); ++i)
   218         text->SetValue(tool->command);
   239     if (cmd == -1 || ext == -1)
   245         if (text->GetValue() != tool->command) 
   246             tool->command = text->GetValue();
   248         if (gen->GetValue() != gens) 
   258     for (
size_t i = 0; i < 
m_Regexes.size(); ++i)
   261         list->Append(rs.
desc);
   271         XRCCTRL(*
this, 
"txtRegexDesc",     
wxTextCtrl)->SetValue(
_T(
""));
   272         XRCCTRL(*
this, 
"cmbRegexType",     
wxComboBox)->SetSelection(-1);
   273         XRCCTRL(*
this, 
"txtRegex",         
wxTextCtrl)->SetValue(
_T(
""));
   274         XRCCTRL(*
this, 
"spnRegexMsg1",     
wxSpinCtrl)->SetValue(0);
   275         XRCCTRL(*
this, 
"spnRegexMsg2",     
wxSpinCtrl)->SetValue(0);
   276         XRCCTRL(*
this, 
"spnRegexMsg3",     
wxSpinCtrl)->SetValue(0);
   277         XRCCTRL(*
this, 
"spnRegexFilename", 
wxSpinCtrl)->SetValue(0);
   278         XRCCTRL(*
this, 
"spnRegexLine",     
wxSpinCtrl)->SetValue(0);
   284     XRCCTRL(*
this, 
"cmbRegexType",     
wxComboBox)->SetSelection((
int)rs.
lt);
   286     XRCCTRL(*
this, 
"spnRegexMsg1",     
wxSpinCtrl)->SetValue(rs.
msg[0]);
   287     XRCCTRL(*
this, 
"spnRegexMsg2",     
wxSpinCtrl)->SetValue(rs.
msg[1]);
   288     XRCCTRL(*
this, 
"spnRegexMsg3",     
wxSpinCtrl)->SetValue(rs.
msg[2]);
   302     rs.
msg[0]   = XRCCTRL(*
this, 
"spnRegexMsg1",     
wxSpinCtrl)->GetValue();
   303     rs.
msg[1]   = XRCCTRL(*
this, 
"spnRegexMsg2",     
wxSpinCtrl)->GetValue();
   304     rs.
msg[2]   = XRCCTRL(*
this, 
"spnRegexMsg3",     
wxSpinCtrl)->GetValue();
   312     int cmd = XRCCTRL(*
this, 
"lstCommands", 
wxChoice)->GetSelection();
   314     int ext = XRCCTRL(*
this, 
"lstExt",      
wxChoice)->GetSelection();
   321     int cmd = XRCCTRL(*
this, 
"lstCommands", 
wxChoice)->GetSelection();
   322     int ext = XRCCTRL(*
this, 
"lstExt",      
wxChoice)->GetSelection();
   328     wxString ext = 
cbGetTextFromUser(
_(
"Please enter a semi-colon separated list of extensions, without the leading dot:"), 
_(
"New extension"));
   333         int nr = XRCCTRL(*
this, 
"lstCommands", 
wxChoice)->GetSelection();
   339         cmb->SetStringSelection(ext);
   348         int nr = XRCCTRL(*
this, 
"lstCommands", 
wxChoice)->GetSelection();
   350         wxString extS = cmb->GetStringSelection();
   404     if (
cbMessageBox(
_(
"Are you sure you want to load the default regular expressions "   405                     "for this compiler?\n"   406                     "ALL regular expressions will be erased and replaced with their default "   475     msg.
Printf(
_(
"Regular expression analyzed as follows:\n\n"   482                  : (clt == 
cltError  ? 
_(
"Error") : 
_(
"Warning") ) ),
 static wxString CommandTypeDescriptions[ctCount]
Get the command type descriptions (used in advanced compiler options) 
bool linkerNeedsLibExtension
virtual const RegExArray & GetRegExArray()
Get the array of regexes used in errors/warnings recognition. 
DLLIMPORT wxArrayString GetArrayFromString(const wxString &text, const wxString &separator=DEFAULT_ARRAY_SEP, bool trimSpaces=true)
void EndModal(int retCode)
void OnRegexTest(wxCommandEvent &event)
virtual wxString GetLastError()
Returns warning/error actual string. 
void OnRegexUp(wxSpinEvent &event)
void OnRegexDefaults(wxCommandEvent &event)
virtual int GetSelection() const
virtual wxString GetString(unsigned int n) const
wxString StringToControlChars(const wxString &src)
DLLIMPORT wxString cbGetTextFromUser(const wxString &message, const wxString &caption=cbGetTextFromUserPromptStr, const wxString &default_value=wxEmptyString, wxWindow *parent=NULL, int x=wxDefaultCoord, int y=wxDefaultCoord, bool centre=true)
static Compiler * GetCompiler(size_t index)
void SaveRegexDetails(int index)
DLLIMPORT wxString GetStringFromArray(const wxArrayString &array, const wxString &separator=DEFAULT_ARRAY_SEP, bool SeparatorAtEnd=true)
#define wxICON_INFORMATION
void SetRegExString(const wxString &str)
void OnAddExt(wxCommandEvent &event)
CompilerToolsVector m_Commands[ctCount]
virtual wxString GetLastErrorLine()
Returns warning/error line number (as a string). 
void OnRegexDown(wxSpinEvent &event)
CompilerLineType
Enum categorizing compiler's output line as warning/error/info/normal. 
virtual ~AdvancedCompilerOptionsDlg()
std::vector< RegExStruct > RegExArray
virtual void SetRegExArray(const RegExArray ®exes)
Set the array of regexes used in errors/warnings recognition. 
wxString ControlCharsToString(const wxString &src)
void EndModal(int retCode)
void ReadExtensions(int nr)
size_t Replace(const wxString &strOld, const wxString &strNew, bool replaceAll=true)
void OnRegexDelete(wxCommandEvent &event)
wxChar includeDirSeparator
void WriteCompilerOptions()
void SaveCommands(int cmd, int ext)
const wxStringCharType * wx_str() const
void ReadCompilerOptions()
virtual void LoadDefaultRegExArray(bool globalPrecedence=false)
Load the default (preset) array of regexes used in errors/warnings recognition. 
const wxString & _(const wxString &string)
wxString & Trim(bool fromRight=true)
void OnRegexChange(wxCommandEvent &event)
CommandType
Helper enum to retrieve compiler commands. 
Abstract base class for compilers. 
DLLIMPORT const wxString DEFAULT_ARRAY_SEP
virtual CompilerLineType CheckForWarningsAndErrors(const wxString &line)
Check if the supplied string is a compiler warning/error. 
bool forceLinkerUseQuotes
void OnRegexAdd(wxCommandEvent &event)
void OnCommandsChange(wxCommandEvent &event)
void DisplayCommand(int cmd, int ext)
virtual const CompilerSwitches & GetSwitches() const
Get the compiler's generic switches. 
virtual wxString GetLastErrorFilename()
Returns warning/error filename. 
wxString GetRegExString() const
bool linkerNeedsLibPrefix
bool m_bDirty
Have changes being made to settings in the dialog. 
static wxXmlResource * Get()
virtual void SetSwitches(const CompilerSwitches &switches)
Set the compiler's generic switches. 
void OnExtChange(wxCommandEvent &event)
void FillRegexDetails(int index)
int Printf(const wxString &pszFormat,...)
virtual void SetSelection(int n)
bool forceCompilerUseQuotes
void OnDelExt(wxCommandEvent &event)
wxObject * LoadObject(wxWindow *parent, const wxString &name, const wxString &classname)
DLLIMPORT int cbMessageBox(const wxString &message, const wxString &caption=wxEmptyString, int style=wxOK, wxWindow *parent=NULL, int x=-1, int y=-1)
wxMessageBox wrapper. 
bool linkerNeedsPathResolved
virtual int FindString(const wxString &s, bool bCase=false) const