Index: src/plugins/contrib/DoxyBlocks/ChangeLog.txt
===================================================================
--- src/plugins/contrib/DoxyBlocks/ChangeLog.txt	(revision 7025)
+++ src/plugins/contrib/DoxyBlocks/ChangeLog.txt	(working copy)
@@ -1,3 +1,10 @@
+06 February 2011
+   released version 1.7.655 of DoxyBlocks
+
+     Change log:
+        -Fixed: Hard coded doxygen directory name.
+        -Updated: Directory creation code.
+
 02 February 2011
    released version 1.6.613 of DoxyBlocks
 
Index: src/plugins/contrib/DoxyBlocks/ConfigPanel.cpp
===================================================================
--- src/plugins/contrib/DoxyBlocks/ConfigPanel.cpp	(revision 7025)
+++ src/plugins/contrib/DoxyBlocks/ConfigPanel.cpp	(working copy)
@@ -1,987 +1,987 @@
-/**************************************************************************//**
- * \file		ConfigPanel.cpp
- * \author	Gary Harris
- * \date		01-02-2010
- *
- * DoxyBlocks - doxygen integration for Code::Blocks.					\n
- * Copyright (C) 2010 Gary Harris.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- *****************************************************************************/
-#include "ConfigPanel.h"
-#include <sdk.h> // Code::Blocks SDK
-
-//(*InternalHeaders(ConfigPanel)
-#include <wx/intl.h>
-#include <wx/string.h>
-//*)
-#include <wx/filedlg.h>
-#include <editorcolourset.h>
-#include <editormanager.h>
-#include "configmanager.h"
-#include <wx/fontutil.h>
-#include "tinyxml/tinyxml.h"
-#include "version.h"
-
-
-//(*IdInit(ConfigPanel)
-const long ConfigPanel::ID_RADIOBOX_BLOCKCOMMENTS = wxNewId();
-const long ConfigPanel::ID_TEXTCTRL_BLOCKCOMMENT = wxNewId();
-const long ConfigPanel::ID_RADIOBOX_LINECOMMENTS = wxNewId();
-const long ConfigPanel::ID_TEXTCTRL_LINECOMMENT = wxNewId();
-const long ConfigPanel::ID_PANEL2 = wxNewId();
-const long ConfigPanel::ID_STATICTEXT1 = wxNewId();
-const long ConfigPanel::ID_TEXTCTRL_PROJECTNUMBER = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_USEAUTOVERSION = wxNewId();
-const long ConfigPanel::ID_STATICTEXT8 = wxNewId();
-const long ConfigPanel::ID_TEXTCTRLOUTPUT_DIRECTORY = wxNewId();
-const long ConfigPanel::ID_STATICTEXT5 = wxNewId();
-const long ConfigPanel::ID_CHOICE_OUTPUT_LANGUAGE = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_EXTRACT_ALL = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_EXTRACTPRIVATE = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_EXTRACTSTATIC = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_WARNINGS = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_WARN_IF_DOC_ERROR = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_WARN_IF_UNDOCUMENTED = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_WARN_NO_PARAMDOC = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_ALPHABETICAL_INDEX = wxNewId();
-const long ConfigPanel::ID_PANEL3 = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_GENERATE_HTML = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_GENERATE_HTMLHELP = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_GENERATE_CHI = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_BINARY_TOC = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_GENERATE_LATEX = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_GENERATE_RTF = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_GENERATE_MAN = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_GENERATE_XML = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_GENERATE_AUTOGEN_DEF = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_GENERATE_PERLMOD = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_ENABLE_PREPROCESSING = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_CLASS_DIAGRAMS = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_HAVE_DOT = wxNewId();
-const long ConfigPanel::ID_PANEL4 = wxNewId();
-const long ConfigPanel::ID_STATICTEXT2 = wxNewId();
-const long ConfigPanel::ID_TEXTCTRL_PATHDOXYGEN = wxNewId();
-const long ConfigPanel::ID_BUTTON_BROWSEDOXYGEN = wxNewId();
-const long ConfigPanel::ID_STATICTEXT4 = wxNewId();
-const long ConfigPanel::ID_TEXTCTRL_PATHDOXYWIZARD = wxNewId();
-const long ConfigPanel::ID_BUTTON_BROWSEDOXYWIZARD = wxNewId();
-const long ConfigPanel::ID_STATICTEXT3 = wxNewId();
-const long ConfigPanel::ID_TEXTCTRL_PATHHHC = wxNewId();
-const long ConfigPanel::ID_BUTTON_BROWSEHHC = wxNewId();
-const long ConfigPanel::ID_STATICTEXT6 = wxNewId();
-const long ConfigPanel::ID_TEXTCTRL_PATHDOT = wxNewId();
-const long ConfigPanel::ID_BUTTON_BROWSEDOT = wxNewId();
-const long ConfigPanel::ID_STATICTEXT7 = wxNewId();
-const long ConfigPanel::ID_TEXTCTRL_PATHCHMVIEWER = wxNewId();
-const long ConfigPanel::ID_BUTTON_BROWSECHMVIEWER = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_OVERWRITEDOXYFILE = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_PROMPTB4OVERWRITING = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_USEATINTAGS = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_LOADTEMPLATE = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_USEINTERNALVIEWER = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_RUNHTML = wxNewId();
-const long ConfigPanel::ID_CHECKBOX_RUNCHM = wxNewId();
-const long ConfigPanel::ID_PANEL1 = wxNewId();
-const long ConfigPanel::ID_NOTEBOOK_PREFS = wxNewId();
-//*)
-
-BEGIN_EVENT_TABLE(ConfigPanel,wxPanel)
-	//(*EventTable(ConfigPanel)
-	//*)
-END_EVENT_TABLE()
-
-/*! \brief Constructor.
- */
-ConfigPanel::ConfigPanel(wxWindow* parent, DoxyBlocks *pOwner, wxWindowID /*id*/,const wxPoint& /*pos*/,const wxSize& /*size*/) :
-	m_pOwnerClass(pOwner)
-{
-	// ********************************************************************************************
-	// I don't use XRC for this plug-in because cbStyledTextCtrl isn't handled properly.
-	// This method still requires some adjustments. See below.
-	// ********************************************************************************************
-	//(*Initialize(ConfigPanel)
-	wxBoxSizer* BoxSizer4;
-	wxStaticBoxSizer* StaticBoxSizer2;
-	wxBoxSizer* BoxSizer6;
-	wxBoxSizer* BoxSizer19;
-	wxBoxSizer* BoxSizer15;
-	wxBoxSizer* BoxSizer20;
-	wxBoxSizer* BoxSizer5;
-	wxBoxSizer* BoxSizer10;
-	wxBoxSizer* BoxSizer7;
-	wxStaticBoxSizer* StaticBoxSizer12;
-	wxBoxSizer* BoxSizer8;
-	wxBoxSizer* BoxSizer21;
-	wxStaticText* StaticText2;
-	wxPanel* Panel4;
-	wxBoxSizer* BoxSizer13;
-	wxStaticBoxSizer* StaticBoxSizer4;
-	wxStaticText* StaticText6;
-	wxNotebook* NotebookPrefs;
-	wxStaticText* StaticText8;
-	wxPanel* Panel1;
-	wxStaticText* StaticText1;
-	wxStaticBoxSizer* StaticBoxSizer9;
-	wxBoxSizer* BoxSizer2;
-	wxStaticText* StaticText3;
-	wxBoxSizer* BoxSizer11;
-	wxBoxSizer* BoxSizer16;
-	wxStaticBoxSizer* StaticBoxSizer7;
-	wxBoxSizer* BoxSizer12;
-	wxBoxSizer* BoxSizer18;
-	wxPanel* Panel3;
-	wxStaticBoxSizer* StaticBoxSizer10;
-	wxBoxSizer* BoxSizer14;
-	wxStaticBoxSizer* StaticBoxSizer8;
-	wxStaticBoxSizer* StaticBoxSizer3;
-	wxStaticBoxSizer* StaticBoxSizer6;
-	wxStaticText* StaticText5;
-	wxStaticText* StaticText7;
-	wxBoxSizer* BoxSizer17;
-	wxStaticBoxSizer* StaticBoxSizer11;
-	wxBoxSizer* BoxSizer1;
-	wxBoxSizer* BoxSizer9;
-	wxPanel* Panel2;
-	wxStaticBoxSizer* StaticBoxSizer1;
-	wxBoxSizer* BoxSizer22;
-	wxBoxSizer* BoxSizer3;
-	wxStaticBoxSizer* StaticBoxSizer5;
-	wxStaticText* StaticText4;
-
-	Create(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("wxID_ANY"));
-	BoxSizer1 = new wxBoxSizer(wxVERTICAL);
-	NotebookPrefs = new wxNotebook(this, ID_NOTEBOOK_PREFS, wxDefaultPosition, wxDefaultSize, 0, _T("ID_NOTEBOOK_PREFS"));
-	Panel2 = new wxPanel(NotebookPrefs, ID_PANEL2, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL2"));
-	BoxSizer6 = new wxBoxSizer(wxVERTICAL);
-	BoxSizer2 = new wxBoxSizer(wxHORIZONTAL);
-	wxString __wxRadioBoxChoices_1[6] =
-	{
-	_("C/JavaDoc"),
-	_("C++ Exclamation"),
-	_("C++ Slash"),
-	_("Qt"),
-	_("Visible C Style"),
-	_("Visible C++ Style")
-	};
-	RadioBoxBlockComments = new wxRadioBox(Panel2, ID_RADIOBOX_BLOCKCOMMENTS, _("Block Comment Style"), wxDefaultPosition, wxDefaultSize, 6, __wxRadioBoxChoices_1, 1, wxRA_SPECIFY_COLS, wxDefaultValidator, _T("ID_RADIOBOX_BLOCKCOMMENTS"));
-	RadioBoxBlockComments->SetToolTip(_("Select your preferred block comment style."));
-	BoxSizer2->Add(RadioBoxBlockComments, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	StaticBoxSizer1 = new wxStaticBoxSizer(wxVERTICAL, Panel2, _("Block Comment Sample"));
-	TextCtrlBlockComment = new cbStyledTextCtrl(Panel2, ID_TEXTCTRL_BLOCKCOMMENT, wxDefaultPosition, wxSize(150,150));
-	TextCtrlBlockComment->SetToolTip(_("Sample code using the selected block comment style."));
-	// wxSmith doesn't handle cbStyledTextCtrl initialisation properly. Replace the line above with the commented one below.
-	// You will need to do this every time wxSmith rewrites this entry.
-	// TextCtrlBlockComment = new cbStyledTextCtrl(Panel2, ID_TEXTCTRL_BLOCKCOMMENT, wxDefaultPosition, wxSize(150,150));
-	StaticBoxSizer1->Add(TextCtrlBlockComment, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer2->Add(StaticBoxSizer1, 3, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer6->Add(BoxSizer2, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer10 = new wxBoxSizer(wxHORIZONTAL);
-	wxString __wxRadioBoxChoices_2[4] =
-	{
-	_("C/JavaDoc"),
-	_("C++ Exclamation"),
-	_("C++ Slash"),
-	_("Qt")
-	};
-	RadioBoxLineComments = new wxRadioBox(Panel2, ID_RADIOBOX_LINECOMMENTS, _("Line Comment Style"), wxDefaultPosition, wxDefaultSize, 4, __wxRadioBoxChoices_2, 1, wxRA_SPECIFY_COLS, wxDefaultValidator, _T("ID_RADIOBOX_LINECOMMENTS"));
-	RadioBoxLineComments->SetToolTip(_("Select your preferred line comment style."));
-	BoxSizer10->Add(RadioBoxLineComments, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	StaticBoxSizer3 = new wxStaticBoxSizer(wxVERTICAL, Panel2, _("Line Comment Sample"));
-	TextCtrlLineComment = new cbStyledTextCtrl(Panel2, ID_TEXTCTRL_LINECOMMENT, wxDefaultPosition, wxSize(150,150));
-	TextCtrlLineComment->SetToolTip(_("Sample code using the selected line comment style."));
-	// wxSmith doesn't handle cbStyledTextCtrl initialisation properly. Replace the line above with the commented one below.
-	// You will need to do this every time wxSmith rewrites this entry.
-	// TextCtrlLineComment = new cbStyledTextCtrl(Panel2, ID_TEXTCTRL_LINECOMMENT, wxDefaultPosition, wxSize(150,150));
-	StaticBoxSizer3->Add(TextCtrlLineComment, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer10->Add(StaticBoxSizer3, 3, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer6->Add(BoxSizer10, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	Panel2->SetSizer(BoxSizer6);
-	BoxSizer6->Fit(Panel2);
-	BoxSizer6->SetSizeHints(Panel2);
-	Panel3 = new wxPanel(NotebookPrefs, ID_PANEL3, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL3"));
-	BoxSizer4 = new wxBoxSizer(wxVERTICAL);
-	StaticBoxSizer2 = new wxStaticBoxSizer(wxVERTICAL, Panel3, _("Project"));
-	BoxSizer5 = new wxBoxSizer(wxHORIZONTAL);
-	StaticText1 = new wxStaticText(Panel3, ID_STATICTEXT1, _("PROJECT_NUMBER"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1"));
-	BoxSizer5->Add(StaticText1, 1, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	TextCtrlProjectNumber = new wxTextCtrl(Panel3, ID_TEXTCTRL_PROJECTNUMBER, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL_PROJECTNUMBER"));
-	TextCtrlProjectNumber->SetToolTip(_("The PROJECT_NUMBER tag can be used to enter a project or revision number.\nThis could be handy for archiving the generated documentation or\nif some version control system is used."));
-	BoxSizer5->Add(TextCtrlProjectNumber, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	CheckBoxUseAutoVersion = new wxCheckBox(Panel3, ID_CHECKBOX_USEAUTOVERSION, _("Use AutoVersion"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_USEAUTOVERSION"));
-	CheckBoxUseAutoVersion->SetValue(false);
-	CheckBoxUseAutoVersion->Disable();
-	CheckBoxUseAutoVersion->SetToolTip(_("Use the version number provided by the Autoversion plug-in.\nIf this option is selected, DoxyBlocks will extract the version number\nfrom the Autoversion header file.\nThe format used is MAJOR.MINOR.BUILD.\nThis option is disabled if Autoversioning is not enabled for the project."));
-	BoxSizer5->Add(CheckBoxUseAutoVersion, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	StaticBoxSizer2->Add(BoxSizer5, 1, wxALL|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer18 = new wxBoxSizer(wxHORIZONTAL);
-	StaticText8 = new wxStaticText(Panel3, ID_STATICTEXT8, _("OUTPUT_DIRECTORY"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT8"));
-	BoxSizer18->Add(StaticText8, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	TextCtrlOutputDirectory = new wxTextCtrl(Panel3, ID_TEXTCTRLOUTPUT_DIRECTORY, wxEmptyString, wxDefaultPosition, wxSize(252,21), 0, wxDefaultValidator, _T("ID_TEXTCTRLOUTPUT_DIRECTORY"));
-	TextCtrlOutputDirectory->SetToolTip(_("The OUTPUT_DIRECTORY tag is used to specify the (relative or\nabsolute) base path where the generated documentation will be put.\nIf a relative path is entered, it will be relative to the location\nwhere doxygen was started. If left blank the current directory will be used.\n\nDoxyBlocks will use the path name entered here to create a directory\nrelative to <project dir>. This allows you to create separate doxygen\ndirectories for projects that reside in the same directory, or just use a\ndifferent directory name. If this field is blank, documents will be created\nin <project dir>/doxygen. Enter directory names without dots, \nleading separators, volume names, etc. DoxyBlocks does validation on\nthe path name and will strip extraneous characters.\n\nExamples:\n[blank]                     -> <project dir>/doxygen.\n\"docs\"                      -> <project dir>/docs.\n\"docs/sub1/sub2\"  -> <project dir>/docs/sub1/sub2.\n\"doxygen/docs\"     -> <project dir>/doxygen/docs.\n"));
-	BoxSizer18->Add(TextCtrlOutputDirectory, 2, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	StaticBoxSizer2->Add(BoxSizer18, 1, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer20 = new wxBoxSizer(wxHORIZONTAL);
-	StaticText5 = new wxStaticText(Panel3, ID_STATICTEXT5, _("OUTPUT_LANGUAGE"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT5"));
-	BoxSizer20->Add(StaticText5, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	ChoiceOutputLanguage = new wxChoice(Panel3, ID_CHOICE_OUTPUT_LANGUAGE, wxDefaultPosition, wxDefaultSize, 0, 0, 0, wxDefaultValidator, _T("ID_CHOICE_OUTPUT_LANGUAGE"));
-	ChoiceOutputLanguage->Append(_("Afrikaans"));
-	ChoiceOutputLanguage->Append(_("Arabic"));
-	ChoiceOutputLanguage->Append(_("Brazilian"));
-	ChoiceOutputLanguage->Append(_("Catalan"));
-	ChoiceOutputLanguage->Append(_("Chinese"));
-	ChoiceOutputLanguage->Append(_("Chinese-Traditional"));
-	ChoiceOutputLanguage->Append(_("Croatian"));
-	ChoiceOutputLanguage->Append(_("Czech"));
-	ChoiceOutputLanguage->Append(_("Danish"));
-	ChoiceOutputLanguage->Append(_("Dutch"));
-	ChoiceOutputLanguage->Append(_("English"));
-	ChoiceOutputLanguage->Append(_("Esperanto"));
-	ChoiceOutputLanguage->Append(_("Farsi"));
-	ChoiceOutputLanguage->Append(_("Finnish"));
-	ChoiceOutputLanguage->Append(_("French"));
-	ChoiceOutputLanguage->Append(_("German"));
-	ChoiceOutputLanguage->Append(_("Greek"));
-	ChoiceOutputLanguage->Append(_("Hungarian"));
-	ChoiceOutputLanguage->Append(_("Italian"));
-	ChoiceOutputLanguage->Append(_("Japanese"));
-	ChoiceOutputLanguage->Append(_("Japanese-en"));
-	ChoiceOutputLanguage->Append(_("Korean"));
-	ChoiceOutputLanguage->Append(_("Korean-en"));
-	ChoiceOutputLanguage->Append(_("Lithuanian"));
-	ChoiceOutputLanguage->Append(_("Norwegian"));
-	ChoiceOutputLanguage->Append(_("Macedonian"));
-	ChoiceOutputLanguage->Append(_("Persian"));
-	ChoiceOutputLanguage->Append(_("Polish"));
-	ChoiceOutputLanguage->Append(_("Portuguese"));
-	ChoiceOutputLanguage->Append(_("Romanian"));
-	ChoiceOutputLanguage->Append(_("Russian"));
-	ChoiceOutputLanguage->Append(_("Serbian"));
-	ChoiceOutputLanguage->Append(_("Serbian-Cyrilic"));
-	ChoiceOutputLanguage->Append(_("Slovak,"));
-	ChoiceOutputLanguage->Append(_("Slovene"));
-	ChoiceOutputLanguage->Append(_("Spanish"));
-	ChoiceOutputLanguage->Append(_("Swedish"));
-	ChoiceOutputLanguage->Append(_("Ukrainian"));
-	ChoiceOutputLanguage->Append(_("Vietnamese"));
-	ChoiceOutputLanguage->SetToolTip(_("The OUTPUT_LANGUAGE tag is used to specify the language in which all\ndocumentation generated by doxygen is written. Doxygen will use this\ninformation to generate all constant output in the proper language.\nThe default language is English, other supported languages are:\nAfrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,\nCroatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,\nGreek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English\nmessages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,\nPolish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,\nSlovene, Spanish, Swedish, Ukrainian, and Vietnamese."));
-	BoxSizer20->Add(ChoiceOutputLanguage, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	StaticBoxSizer2->Add(BoxSizer20, 1, wxALL|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer4->Add(StaticBoxSizer2, 2, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	StaticBoxSizer5 = new wxStaticBoxSizer(wxHORIZONTAL, Panel3, _("Build"));
-	CheckBoxExtractAll = new wxCheckBox(Panel3, ID_CHECKBOX_EXTRACT_ALL, _("EXTRACT_ALL"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_EXTRACT_ALL"));
-	CheckBoxExtractAll->SetValue(false);
-	CheckBoxExtractAll->SetToolTip(_("If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in\ndocumentation are documented, even if no documentation was available.\nPrivate class members and static file members will be hidden unless\nthe EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES"));
-	StaticBoxSizer5->Add(CheckBoxExtractAll, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	CheckBoxExtractPrivate = new wxCheckBox(Panel3, ID_CHECKBOX_EXTRACTPRIVATE, _("EXTRACT_PRIVATE"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_EXTRACTPRIVATE"));
-	CheckBoxExtractPrivate->SetValue(false);
-	CheckBoxExtractPrivate->SetToolTip(_("If the EXTRACT_PRIVATE tag is set to YES all private members of a\nclass will be included in the documentation."));
-	StaticBoxSizer5->Add(CheckBoxExtractPrivate, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	CheckBoxExtractStatic = new wxCheckBox(Panel3, ID_CHECKBOX_EXTRACTSTATIC, _("EXTRACT_STATIC"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_EXTRACTSTATIC"));
-	CheckBoxExtractStatic->SetValue(false);
-	CheckBoxExtractStatic->SetToolTip(_("If the EXTRACT_STATIC tag is set to YES all static members of a file\nwill be included in the documentation.\n"));
-	StaticBoxSizer5->Add(CheckBoxExtractStatic, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	BoxSizer4->Add(StaticBoxSizer5, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	StaticBoxSizer10 = new wxStaticBoxSizer(wxVERTICAL, Panel3, _("Warnings"));
-	CheckBoxWarnings = new wxCheckBox(Panel3, ID_CHECKBOX_WARNINGS, _("WARNINGS"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_WARNINGS"));
-	CheckBoxWarnings->SetValue(false);
-	CheckBoxWarnings->SetToolTip(_("The WARNINGS tag can be used to turn on/off the warning messages that are\ngenerated by doxygen. "));
-	StaticBoxSizer10->Add(CheckBoxWarnings, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	BoxSizer11 = new wxBoxSizer(wxHORIZONTAL);
-	CheckBoxWarnIfDocError = new wxCheckBox(Panel3, ID_CHECKBOX_WARN_IF_DOC_ERROR, _("WARN_IF_DOC_ERROR"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_WARN_IF_DOC_ERROR"));
-	CheckBoxWarnIfDocError->SetValue(false);
-	CheckBoxWarnIfDocError->SetToolTip(_("If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for\npotential errors in the documentation, such as not documenting some\nparameters in a documented function, or documenting parameters that\ndon\'t exist or using markup commands wrongly."));
-	BoxSizer11->Add(CheckBoxWarnIfDocError, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	CheckBoxWarnIfUndocumented = new wxCheckBox(Panel3, ID_CHECKBOX_WARN_IF_UNDOCUMENTED, _("WARN_IF_UNDOCUMENTED"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_WARN_IF_UNDOCUMENTED"));
-	CheckBoxWarnIfUndocumented->SetValue(false);
-	CheckBoxWarnIfUndocumented->SetToolTip(_("If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings\nfor undocumented members. If EXTRACT_ALL is set to YES then this flag will\nautomatically be disabled."));
-	BoxSizer11->Add(CheckBoxWarnIfUndocumented, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	CheckBoxWarnNoParamdoc = new wxCheckBox(Panel3, ID_CHECKBOX_WARN_NO_PARAMDOC, _("WARN_NO_PARAMDOC"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_WARN_NO_PARAMDOC"));
-	CheckBoxWarnNoParamdoc->SetValue(false);
-	CheckBoxWarnNoParamdoc->SetToolTip(_("This WARN_NO_PARAMDOC option can be abled to get warnings for\nfunctions that are documented, but have no documentation for their parameters\nor return value. If set to NO (the default) doxygen will only warn about\nwrong or incomplete parameter documentation, but not about the absence of\ndocumentation."));
-	BoxSizer11->Add(CheckBoxWarnNoParamdoc, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	StaticBoxSizer10->Add(BoxSizer11, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer4->Add(StaticBoxSizer10, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	StaticBoxSizer6 = new wxStaticBoxSizer(wxVERTICAL, Panel3, _(" Alphabetical Class Index"));
-	CheckBoxAlphabeticalIndex = new wxCheckBox(Panel3, ID_CHECKBOX_ALPHABETICAL_INDEX, _("ALPHABETICAL_INDEX"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_ALPHABETICAL_INDEX"));
-	CheckBoxAlphabeticalIndex->SetValue(false);
-	CheckBoxAlphabeticalIndex->SetToolTip(_("If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index\nof all compounds will be generated. Enable this if the project\ncontains a lot of classes, structs, unions or interfaces.\n"));
-	StaticBoxSizer6->Add(CheckBoxAlphabeticalIndex, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	BoxSizer4->Add(StaticBoxSizer6, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	Panel3->SetSizer(BoxSizer4);
-	BoxSizer4->Fit(Panel3);
-	BoxSizer4->SetSizeHints(Panel3);
-	Panel4 = new wxPanel(NotebookPrefs, ID_PANEL4, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL4"));
-	BoxSizer16 = new wxBoxSizer(wxVERTICAL);
-	StaticBoxSizer7 = new wxStaticBoxSizer(wxVERTICAL, Panel4, _("Output"));
-	BoxSizer12 = new wxBoxSizer(wxVERTICAL);
-	CheckBoxGenerateHTML = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_HTML, _("GENERATE_HTML"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_HTML"));
-	CheckBoxGenerateHTML->SetValue(true);
-	CheckBoxGenerateHTML->SetToolTip(_("If the GENERATE_HTML tag is set to YES (the default) Doxygen will\ngenerate HTML output.\n"));
-	BoxSizer12->Add(CheckBoxGenerateHTML, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	BoxSizer17 = new wxBoxSizer(wxHORIZONTAL);
-	CheckBoxGenerateHTMLHelp = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_HTMLHELP, _("GENERATE_HTMLHELP"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_HTMLHELP"));
-	CheckBoxGenerateHTMLHelp->SetValue(false);
-	CheckBoxGenerateHTMLHelp->SetToolTip(_("If the GENERATE_HTMLHELP tag is set to YES, additional index files\nwill be generated that can be used as input for tools like the\nMicrosoft HTML help workshop to generate a compiled HTML help file (.chm)\nof the generated HTML documentation."));
-	BoxSizer17->Add(CheckBoxGenerateHTMLHelp, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	CheckBoxGenerateCHI = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_CHI, _("GENERATE_CHI"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_CHI"));
-	CheckBoxGenerateCHI->SetValue(false);
-	CheckBoxGenerateCHI->SetToolTip(_("If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag\ncontrols if a separate .chi index file is generated (YES) or that\nit should be included in the master .chm file (NO)."));
-	BoxSizer17->Add(CheckBoxGenerateCHI, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	CheckBoxBinaryTOC = new wxCheckBox(Panel4, ID_CHECKBOX_BINARY_TOC, _("BINARY_TOC"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_BINARY_TOC"));
-	CheckBoxBinaryTOC->SetValue(false);
-	CheckBoxBinaryTOC->SetToolTip(_("If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag\ncontrols whether a binary table of contents is generated (YES) or a\nnormal table of contents (NO) in the .chm file."));
-	BoxSizer17->Add(CheckBoxBinaryTOC, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	BoxSizer12->Add(BoxSizer17, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	StaticBoxSizer7->Add(BoxSizer12, 1, wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer14 = new wxBoxSizer(wxHORIZONTAL);
-	CheckBoxGenerateLatex = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_LATEX, _("GENERATE_LATEX"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_LATEX"));
-	CheckBoxGenerateLatex->SetValue(false);
-	CheckBoxGenerateLatex->SetToolTip(_("If the GENERATE_LATEX tag is set to YES (the default) Doxygen will\ngenerate Latex output.\n"));
-	BoxSizer14->Add(CheckBoxGenerateLatex, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	CheckBoxGenerateRTF = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_RTF, _("GENERATE_RTF"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_RTF"));
-	CheckBoxGenerateRTF->SetValue(false);
-	CheckBoxGenerateRTF->SetToolTip(_("If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output\nThe RTF output is optimized for Word 97 and may not look very pretty with\nother RTF readers or editors."));
-	BoxSizer14->Add(CheckBoxGenerateRTF, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	CheckBoxGenerateMan = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_MAN, _("GENERATE_MAN"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_MAN"));
-	CheckBoxGenerateMan->SetValue(true);
-	CheckBoxGenerateMan->SetToolTip(_("If the GENERATE_MAN tag is set to YES (the default) Doxygen will\ngenerate man pages"));
-	BoxSizer14->Add(CheckBoxGenerateMan, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	StaticBoxSizer7->Add(BoxSizer14, 1, wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer15 = new wxBoxSizer(wxHORIZONTAL);
-	CheckBoxGenerateXML = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_XML, _("GENERATE_XML"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_XML"));
-	CheckBoxGenerateXML->SetValue(false);
-	CheckBoxGenerateXML->SetToolTip(_("If the GENERATE_XML tag is set to YES Doxygen will\ngenerate an XML file that captures the structure of\nthe code including all documentation."));
-	BoxSizer15->Add(CheckBoxGenerateXML, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	CheckBoxGenerateAutogenDef = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_AUTOGEN_DEF, _("GENERATE_AUTOGEN_DEF"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_AUTOGEN_DEF"));
-	CheckBoxGenerateAutogenDef->SetValue(false);
-	CheckBoxGenerateAutogenDef->SetToolTip(_("If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will\ngenerate an AutoGen Definitions (see autogen.sf.net) file\nthat captures the structure of the code including all\ndocumentation. Note that this feature is still experimental\nand incomplete at the moment.\n"));
-	BoxSizer15->Add(CheckBoxGenerateAutogenDef, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	CheckBoxGeneratePerlMod = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_PERLMOD, _("GENERATE_PERLMOD"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_PERLMOD"));
-	CheckBoxGeneratePerlMod->SetValue(false);
-	CheckBoxGeneratePerlMod->SetToolTip(_("If the GENERATE_PERLMOD tag is set to YES Doxygen will\ngenerate a Perl module file that captures the structure of\nthe code including all documentation. Note that this\nfeature is still experimental and incomplete at the\nmoment."));
-	BoxSizer15->Add(CheckBoxGeneratePerlMod, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	StaticBoxSizer7->Add(BoxSizer15, 1, wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer16->Add(StaticBoxSizer7, 3, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	StaticBoxSizer8 = new wxStaticBoxSizer(wxHORIZONTAL, Panel4, _("Pre-processor"));
-	CheckBoxEnablePreprocessing = new wxCheckBox(Panel4, ID_CHECKBOX_ENABLE_PREPROCESSING, _("ENABLE_PREPROCESSING"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_ENABLE_PREPROCESSING"));
-	CheckBoxEnablePreprocessing->SetValue(false);
-	CheckBoxEnablePreprocessing->SetToolTip(_("If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will\nevaluate all C-preprocessor directives found in the sources and include\nfiles."));
-	StaticBoxSizer8->Add(CheckBoxEnablePreprocessing, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	BoxSizer16->Add(StaticBoxSizer8, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	StaticBoxSizer9 = new wxStaticBoxSizer(wxHORIZONTAL, Panel4, _("Dot"));
-	CheckBoxClassDiagrams = new wxCheckBox(Panel4, ID_CHECKBOX_CLASS_DIAGRAMS, _("CLASS_DIAGRAMS"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_CLASS_DIAGRAMS"));
-	CheckBoxClassDiagrams->SetValue(false);
-	CheckBoxClassDiagrams->SetToolTip(_("If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will\ngenerate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base\nor super classes. Setting the tag to NO turns the diagrams off. Note that\nthis option is superseded by the HAVE_DOT option below. This is only a\nfallback. It is recommended to install and use dot, since it yields more\npowerful graphs."));
-	StaticBoxSizer9->Add(CheckBoxClassDiagrams, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	CheckBoxHaveDot = new wxCheckBox(Panel4, ID_CHECKBOX_HAVE_DOT, _("HAVE_DOT"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_HAVE_DOT"));
-	CheckBoxHaveDot->SetValue(false);
-	CheckBoxHaveDot->SetToolTip(_("If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is\navailable from the path. This tool is part of Graphviz, a graph visualization\ntoolkit from AT&T and Lucent Bell Labs. The other options in this section\nhave no effect if this option is set to NO (the default)"));
-	StaticBoxSizer9->Add(CheckBoxHaveDot, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	BoxSizer16->Add(StaticBoxSizer9, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	Panel4->SetSizer(BoxSizer16);
-	BoxSizer16->Fit(Panel4);
-	BoxSizer16->SetSizeHints(Panel4);
-	Panel1 = new wxPanel(NotebookPrefs, ID_PANEL1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL1"));
-	BoxSizer7 = new wxBoxSizer(wxVERTICAL);
-	StaticBoxSizer4 = new wxStaticBoxSizer(wxVERTICAL, Panel1, _("Paths"));
-	BoxSizer8 = new wxBoxSizer(wxHORIZONTAL);
-	StaticText2 = new wxStaticText(Panel1, ID_STATICTEXT2, _("Path To doxygen"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT2"));
-	BoxSizer8->Add(StaticText2, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	TextCtrlPathDoxygen = new wxTextCtrl(Panel1, ID_TEXTCTRL_PATHDOXYGEN, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL_PATHDOXYGEN"));
-	TextCtrlPathDoxygen->SetToolTip(_("The path to the doxygen executable file.\nIf this field is blank, DoxyBlocks will assume that doxygen\nis available somewhere in your environment\'s path.\nYou can use macros such as $(CODEBLOCKS) in your path\nand they will be expanded automatically."));
-	BoxSizer8->Add(TextCtrlPathDoxygen, 3, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	ButtonBrowseDoxygen = new wxButton(Panel1, ID_BUTTON_BROWSEDOXYGEN, _("Browse"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON_BROWSEDOXYGEN"));
-	ButtonBrowseDoxygen->SetToolTip(_("Browse for doxygen."));
-	BoxSizer8->Add(ButtonBrowseDoxygen, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	StaticBoxSizer4->Add(BoxSizer8, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer9 = new wxBoxSizer(wxHORIZONTAL);
-	StaticText4 = new wxStaticText(Panel1, ID_STATICTEXT4, _("Path To doxywizard"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT4"));
-	BoxSizer9->Add(StaticText4, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	TextCtrlPathDoxywizard = new wxTextCtrl(Panel1, ID_TEXTCTRL_PATHDOXYWIZARD, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL_PATHDOXYWIZARD"));
-	TextCtrlPathDoxywizard->SetToolTip(_("The path to the doxywizard executable file.\nIf this field is blank, DoxyBlocks will assume that doxywizard\nis available somewhere in your environment\'s path.\nYou can use macros such as $(CODEBLOCKS) in your path\nand they will be expanded automatically."));
-	BoxSizer9->Add(TextCtrlPathDoxywizard, 3, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	ButtonBrowseDoxywizard = new wxButton(Panel1, ID_BUTTON_BROWSEDOXYWIZARD, _("Browse"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON_BROWSEDOXYWIZARD"));
-	ButtonBrowseDoxywizard->SetToolTip(_("Browse for doxywizard."));
-	BoxSizer9->Add(ButtonBrowseDoxywizard, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	StaticBoxSizer4->Add(BoxSizer9, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer3 = new wxBoxSizer(wxHORIZONTAL);
-	StaticText3 = new wxStaticText(Panel1, ID_STATICTEXT3, _("Path To HHC"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT3"));
-	BoxSizer3->Add(StaticText3, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	TextCtrlPathHHC = new wxTextCtrl(Panel1, ID_TEXTCTRL_PATHHHC, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL_PATHHHC"));
-	TextCtrlPathHHC->SetToolTip(_("The path to the HTML Help Compiler executable file.\nIf this field is blank, DoxyBlocks will assume that HHC\nis available somewhere in your environment\'s path.\nYou can use macros such as $(CODEBLOCKS) in your path\nand they will be expanded automatically."));
-	BoxSizer3->Add(TextCtrlPathHHC, 3, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	ButtonBrowseHHC = new wxButton(Panel1, ID_BUTTON_BROWSEHHC, _("Browse"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON_BROWSEHHC"));
-	ButtonBrowseHHC->SetToolTip(_("Browse for HHC."));
-	BoxSizer3->Add(ButtonBrowseHHC, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	StaticBoxSizer4->Add(BoxSizer3, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer13 = new wxBoxSizer(wxHORIZONTAL);
-	StaticText6 = new wxStaticText(Panel1, ID_STATICTEXT6, _("Path To Dot"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT6"));
-	BoxSizer13->Add(StaticText6, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	TextCtrlPathDot = new wxTextCtrl(Panel1, ID_TEXTCTRL_PATHDOT, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL_PATHDOT"));
-	TextCtrlPathDot->SetToolTip(_("The path to the dot executable file.\nIf this field is blank, DoxyBlocks will assume that dot\nis available somewhere in your environment\'s path.\nYou can use macros such as $(CODEBLOCKS) in your path\nand they will be expanded automatically."));
-	BoxSizer13->Add(TextCtrlPathDot, 3, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	ButtonBrowseDot = new wxButton(Panel1, ID_BUTTON_BROWSEDOT, _("Browse"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON_BROWSEDOT"));
-	ButtonBrowseDot->SetToolTip(_("Browse for Dot."));
-	BoxSizer13->Add(ButtonBrowseDot, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	StaticBoxSizer4->Add(BoxSizer13, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer19 = new wxBoxSizer(wxHORIZONTAL);
-	StaticText7 = new wxStaticText(Panel1, ID_STATICTEXT7, _("Path To CHM Viewer"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT7"));
-	BoxSizer19->Add(StaticText7, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	TextCtrlPathCHMViewer = new wxTextCtrl(Panel1, ID_TEXTCTRL_PATHCHMVIEWER, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL_PATHCHMVIEWER"));
-	TextCtrlPathCHMViewer->SetToolTip(_("The path to the CHM viewer executable file.\nOn Windows, if this field is blank, DoxyBlocks will use\nthe operating system\'s standard viewer.\nOn other operating systems, if this field is blank,\nDoxyBlocks will assume that a viewer is available\nsomewhere in your environment\'s path.\nYou can use macros such as $(CODEBLOCKS) in your path\nand they will be expanded automatically."));
-	BoxSizer19->Add(TextCtrlPathCHMViewer, 3, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	ButtonBrowseCHMViewer = new wxButton(Panel1, ID_BUTTON_BROWSECHMVIEWER, _("Browse"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON_BROWSECHMVIEWER"));
-	ButtonBrowseCHMViewer->SetToolTip(_("Browse for a CHM viewer."));
-	BoxSizer19->Add(ButtonBrowseCHMViewer, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	StaticBoxSizer4->Add(BoxSizer19, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	BoxSizer7->Add(StaticBoxSizer4, 3, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	StaticBoxSizer11 = new wxStaticBoxSizer(wxVERTICAL, Panel1, _("General Options"));
-	BoxSizer21 = new wxBoxSizer(wxHORIZONTAL);
-	CheckBoxOverwriteDoxyfile = new wxCheckBox(Panel1, ID_CHECKBOX_OVERWRITEDOXYFILE, _("Overwrite Doxyfile"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_OVERWRITEDOXYFILE"));
-	CheckBoxOverwriteDoxyfile->SetValue(false);
-	CheckBoxOverwriteDoxyfile->SetToolTip(_("Allow DoxyBlocks to overwrite the doxyfile.\nBy default, if a doxyfile already exists it is not overwritten to protect\nany changes that have been made outside DoxyBlocks however this\nbehaviour prevents changes made within DoxyBlocks being written to\nan existing doxyfile."));
-	BoxSizer21->Add(CheckBoxOverwriteDoxyfile, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	CheckBoxPromptBeforeOverwriting = new wxCheckBox(Panel1, ID_CHECKBOX_PROMPTB4OVERWRITING, _("Prompt Before Overwriting"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_PROMPTB4OVERWRITING"));
-	CheckBoxPromptBeforeOverwriting->SetValue(false);
-	CheckBoxPromptBeforeOverwriting->SetToolTip(_("Prompt before overwriting an existing doxyfile.\nWhen used in conjunction with \"Overwrite doxyfile\" this setting forces\nDoxyBlocks to prompt you before overwriting an existing doxyfile."));
-	BoxSizer21->Add(CheckBoxPromptBeforeOverwriting, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	CheckBoxUseAtInTags = new wxCheckBox(Panel1, ID_CHECKBOX_USEATINTAGS, _("Use \"@\" In Tags"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_USEATINTAGS"));
-	CheckBoxUseAtInTags->SetValue(false);
-	CheckBoxUseAtInTags->SetToolTip(_("Use \"@\" in document tags instead of \"\\\".\nThis option causes DoxyBlocks to create document tags like\n\"@brief\" and \"@param\" rather than \"\\brief\" and \"\\param\"."));
-	BoxSizer21->Add(CheckBoxUseAtInTags, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	StaticBoxSizer11->Add(BoxSizer21, 1, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 5);
-	BoxSizer22 = new wxBoxSizer(wxHORIZONTAL);
-	CheckBoxLoadTemplate = new wxCheckBox(Panel1, ID_CHECKBOX_LOADTEMPLATE, _("Load Settings Template If No Saved Settings Exist"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_LOADTEMPLATE"));
-	CheckBoxLoadTemplate->SetValue(false);
-	CheckBoxLoadTemplate->SetToolTip(_("This option allows you to use your preferred settings as the default settings by loading a previously saved settings template, if one exists, rather than using the system default settings when loading a project that doesn\'t contain saved DoxyBlocks settings. DoxyBlocks falls back to the default settings if a template is not found."));
-	BoxSizer22->Add(CheckBoxLoadTemplate, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	StaticBoxSizer11->Add(BoxSizer22, 1, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 5);
-	BoxSizer7->Add(StaticBoxSizer11, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	StaticBoxSizer12 = new wxStaticBoxSizer(wxHORIZONTAL, Panel1, _("HTML"));
-	CheckBoxUseInternalViewer = new wxCheckBox(Panel1, ID_CHECKBOX_USEINTERNALVIEWER, _("Use Internal Viewer"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_USEINTERNALVIEWER"));
-	CheckBoxUseInternalViewer->SetValue(false);
-	CheckBoxUseInternalViewer->SetToolTip(_("Use the internal viewer to view HTML docs.\nIf this option is not set DoxyBlocks will use the system\'s default\nbrowser.\nThis setting has no effect if GENERATE_HTML is not set."));
-	StaticBoxSizer12->Add(CheckBoxUseInternalViewer, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	CheckBoxRunHTML = new wxCheckBox(Panel1, ID_CHECKBOX_RUNHTML, _("Run HTML After Compilation"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_RUNHTML"));
-	CheckBoxRunHTML->SetValue(false);
-	CheckBoxRunHTML->SetToolTip(_("Run the HTML docs after compilation.\nIf \"Use Internal Viewer\" is set DoxyBlocks will use Code::Blocks\' internal\nviewer. If not, it will use the system\'s default browser.\nThis setting has no effect if GENERATE_HTML is not set."));
-	StaticBoxSizer12->Add(CheckBoxRunHTML, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	CheckBoxRunCHM = new wxCheckBox(Panel1, ID_CHECKBOX_RUNCHM, _("Run CHM After Compilation"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_RUNCHM"));
-	CheckBoxRunCHM->SetValue(false);
-	CheckBoxRunCHM->SetToolTip(_("Run the compiled help after it\'s compiled.\nThis setting currently only has effect on Windows.\nIf no CHM file exists this setting is ignored.\nThis setting has no effect if GENERATE_HTML is not set."));
-	StaticBoxSizer12->Add(CheckBoxRunCHM, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
-	BoxSizer7->Add(StaticBoxSizer12, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	Panel1->SetSizer(BoxSizer7);
-	BoxSizer7->Fit(Panel1);
-	BoxSizer7->SetSizeHints(Panel1);
-	NotebookPrefs->AddPage(Panel2, _("Comment Style"), false);
-	NotebookPrefs->AddPage(Panel3, _("Doxyfile Defaults"), false);
-	NotebookPrefs->AddPage(Panel4, _("Doxyfile Defaults 2"), false);
-	NotebookPrefs->AddPage(Panel1, _("General"), false);
-	BoxSizer1->Add(NotebookPrefs, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
-	SetSizer(BoxSizer1);
-	BoxSizer1->Fit(this);
-	BoxSizer1->SetSizeHints(this);
-
-	Connect(ID_RADIOBOX_BLOCKCOMMENTS,wxEVT_COMMAND_RADIOBOX_SELECTED,(wxObjectEventFunction)&ConfigPanel::OnRadioBoxBlockCommentsSelect);
-	Connect(ID_RADIOBOX_LINECOMMENTS,wxEVT_COMMAND_RADIOBOX_SELECTED,(wxObjectEventFunction)&ConfigPanel::OnRadioBoxLineCommentsSelect);
-	Connect(ID_CHECKBOX_USEAUTOVERSION,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnCheckBoxUseAutoversionClick);
-	Connect(ID_CHECKBOX_WARNINGS,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnCheckBoxWarningsClick);
-	Connect(ID_CHECKBOX_GENERATE_HTML,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnCheckBoxGenerateHTMLClick);
-	Connect(ID_BUTTON_BROWSEDOXYGEN,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnButtonBrowseDoxygenClick);
-	Connect(ID_BUTTON_BROWSEDOXYWIZARD,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnButtonBrowseDoxywizardClick);
-	Connect(ID_BUTTON_BROWSEHHC,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnButtonBrowseHHCClick);
-	Connect(ID_BUTTON_BROWSEDOT,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnButtonBrowseDotClick);
-	Connect(ID_BUTTON_BROWSECHMVIEWER,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnButtonBrowseCHMViewerClick);
-	Connect(ID_CHECKBOX_OVERWRITEDOXYFILE,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnCheckBoxOverwriteDoxyfileClick);
-	Connect(ID_CHECKBOX_USEATINTAGS,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnCheckBoxUseAtInTagsClick);
-	//*)
-
-}
-
-/*! \brief Destructor
- */
-ConfigPanel::~ConfigPanel()
-{
-	//(*Destroy(ConfigPanel)
-	//*)
-}
-
-/*! \brief Initialise dependent control states.
- *
- * \return void
- *
- * This function must be called after the setters have been called so that initial
- * states are set first.
- */
-void ConfigPanel::Init()
-{
-	//	If the project uses autoversioning, enable the "Use AutoVersioning" checkbox.
+/**************************************************************************//**
+ * \file		ConfigPanel.cpp
+ * \author	Gary Harris
+ * \date		01-02-2010
+ *
+ * DoxyBlocks - doxygen integration for Code::Blocks.					\n
+ * Copyright (C) 2010 Gary Harris.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ *****************************************************************************/
+#include "ConfigPanel.h"
+#include <sdk.h> // Code::Blocks SDK
+
+//(*InternalHeaders(ConfigPanel)
+#include <wx/intl.h>
+#include <wx/string.h>
+//*)
+#include <wx/filedlg.h>
+#include <editorcolourset.h>
+#include <editormanager.h>
+#include "configmanager.h"
+#include <wx/fontutil.h>
+#include "tinyxml/tinyxml.h"
+#include "version.h"
+
+
+//(*IdInit(ConfigPanel)
+const long ConfigPanel::ID_RADIOBOX_BLOCKCOMMENTS = wxNewId();
+const long ConfigPanel::ID_TEXTCTRL_BLOCKCOMMENT = wxNewId();
+const long ConfigPanel::ID_RADIOBOX_LINECOMMENTS = wxNewId();
+const long ConfigPanel::ID_TEXTCTRL_LINECOMMENT = wxNewId();
+const long ConfigPanel::ID_PANEL2 = wxNewId();
+const long ConfigPanel::ID_STATICTEXT1 = wxNewId();
+const long ConfigPanel::ID_TEXTCTRL_PROJECTNUMBER = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_USEAUTOVERSION = wxNewId();
+const long ConfigPanel::ID_STATICTEXT8 = wxNewId();
+const long ConfigPanel::ID_TEXTCTRLOUTPUT_DIRECTORY = wxNewId();
+const long ConfigPanel::ID_STATICTEXT5 = wxNewId();
+const long ConfigPanel::ID_CHOICE_OUTPUT_LANGUAGE = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_EXTRACT_ALL = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_EXTRACTPRIVATE = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_EXTRACTSTATIC = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_WARNINGS = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_WARN_IF_DOC_ERROR = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_WARN_IF_UNDOCUMENTED = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_WARN_NO_PARAMDOC = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_ALPHABETICAL_INDEX = wxNewId();
+const long ConfigPanel::ID_PANEL3 = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_GENERATE_HTML = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_GENERATE_HTMLHELP = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_GENERATE_CHI = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_BINARY_TOC = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_GENERATE_LATEX = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_GENERATE_RTF = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_GENERATE_MAN = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_GENERATE_XML = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_GENERATE_AUTOGEN_DEF = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_GENERATE_PERLMOD = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_ENABLE_PREPROCESSING = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_CLASS_DIAGRAMS = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_HAVE_DOT = wxNewId();
+const long ConfigPanel::ID_PANEL4 = wxNewId();
+const long ConfigPanel::ID_STATICTEXT2 = wxNewId();
+const long ConfigPanel::ID_TEXTCTRL_PATHDOXYGEN = wxNewId();
+const long ConfigPanel::ID_BUTTON_BROWSEDOXYGEN = wxNewId();
+const long ConfigPanel::ID_STATICTEXT4 = wxNewId();
+const long ConfigPanel::ID_TEXTCTRL_PATHDOXYWIZARD = wxNewId();
+const long ConfigPanel::ID_BUTTON_BROWSEDOXYWIZARD = wxNewId();
+const long ConfigPanel::ID_STATICTEXT3 = wxNewId();
+const long ConfigPanel::ID_TEXTCTRL_PATHHHC = wxNewId();
+const long ConfigPanel::ID_BUTTON_BROWSEHHC = wxNewId();
+const long ConfigPanel::ID_STATICTEXT6 = wxNewId();
+const long ConfigPanel::ID_TEXTCTRL_PATHDOT = wxNewId();
+const long ConfigPanel::ID_BUTTON_BROWSEDOT = wxNewId();
+const long ConfigPanel::ID_STATICTEXT7 = wxNewId();
+const long ConfigPanel::ID_TEXTCTRL_PATHCHMVIEWER = wxNewId();
+const long ConfigPanel::ID_BUTTON_BROWSECHMVIEWER = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_OVERWRITEDOXYFILE = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_PROMPTB4OVERWRITING = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_USEATINTAGS = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_LOADTEMPLATE = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_USEINTERNALVIEWER = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_RUNHTML = wxNewId();
+const long ConfigPanel::ID_CHECKBOX_RUNCHM = wxNewId();
+const long ConfigPanel::ID_PANEL1 = wxNewId();
+const long ConfigPanel::ID_NOTEBOOK_PREFS = wxNewId();
+//*)
+
+BEGIN_EVENT_TABLE(ConfigPanel,wxPanel)
+	//(*EventTable(ConfigPanel)
+	//*)
+END_EVENT_TABLE()
+
+/*! \brief Constructor.
+ */
+ConfigPanel::ConfigPanel(wxWindow* parent, DoxyBlocks *pOwner, wxWindowID /*id*/,const wxPoint& /*pos*/,const wxSize& /*size*/) :
+	m_pOwnerClass(pOwner)
+{
+	// ********************************************************************************************
+	// I don't use XRC for this plug-in because cbStyledTextCtrl isn't handled properly.
+	// This method still requires some adjustments. See below.
+	// ********************************************************************************************
+	//(*Initialize(ConfigPanel)
+	wxBoxSizer* BoxSizer4;
+	wxStaticBoxSizer* StaticBoxSizer2;
+	wxBoxSizer* BoxSizer6;
+	wxBoxSizer* BoxSizer19;
+	wxBoxSizer* BoxSizer15;
+	wxBoxSizer* BoxSizer20;
+	wxBoxSizer* BoxSizer5;
+	wxBoxSizer* BoxSizer10;
+	wxBoxSizer* BoxSizer7;
+	wxStaticBoxSizer* StaticBoxSizer12;
+	wxBoxSizer* BoxSizer8;
+	wxBoxSizer* BoxSizer21;
+	wxStaticText* StaticText2;
+	wxPanel* Panel4;
+	wxBoxSizer* BoxSizer13;
+	wxStaticBoxSizer* StaticBoxSizer4;
+	wxStaticText* StaticText6;
+	wxNotebook* NotebookPrefs;
+	wxStaticText* StaticText8;
+	wxPanel* Panel1;
+	wxStaticText* StaticText1;
+	wxStaticBoxSizer* StaticBoxSizer9;
+	wxBoxSizer* BoxSizer2;
+	wxStaticText* StaticText3;
+	wxBoxSizer* BoxSizer11;
+	wxBoxSizer* BoxSizer16;
+	wxStaticBoxSizer* StaticBoxSizer7;
+	wxBoxSizer* BoxSizer12;
+	wxBoxSizer* BoxSizer18;
+	wxPanel* Panel3;
+	wxStaticBoxSizer* StaticBoxSizer10;
+	wxBoxSizer* BoxSizer14;
+	wxStaticBoxSizer* StaticBoxSizer8;
+	wxStaticBoxSizer* StaticBoxSizer3;
+	wxStaticBoxSizer* StaticBoxSizer6;
+	wxStaticText* StaticText5;
+	wxStaticText* StaticText7;
+	wxBoxSizer* BoxSizer17;
+	wxStaticBoxSizer* StaticBoxSizer11;
+	wxBoxSizer* BoxSizer1;
+	wxBoxSizer* BoxSizer9;
+	wxPanel* Panel2;
+	wxStaticBoxSizer* StaticBoxSizer1;
+	wxBoxSizer* BoxSizer22;
+	wxBoxSizer* BoxSizer3;
+	wxStaticBoxSizer* StaticBoxSizer5;
+	wxStaticText* StaticText4;
+
+	Create(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("wxID_ANY"));
+	BoxSizer1 = new wxBoxSizer(wxVERTICAL);
+	NotebookPrefs = new wxNotebook(this, ID_NOTEBOOK_PREFS, wxDefaultPosition, wxDefaultSize, 0, _T("ID_NOTEBOOK_PREFS"));
+	Panel2 = new wxPanel(NotebookPrefs, ID_PANEL2, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL2"));
+	BoxSizer6 = new wxBoxSizer(wxVERTICAL);
+	BoxSizer2 = new wxBoxSizer(wxHORIZONTAL);
+	wxString __wxRadioBoxChoices_1[6] =
+	{
+	_("C/JavaDoc"),
+	_("C++ Exclamation"),
+	_("C++ Slash"),
+	_("Qt"),
+	_("Visible C Style"),
+	_("Visible C++ Style")
+	};
+	RadioBoxBlockComments = new wxRadioBox(Panel2, ID_RADIOBOX_BLOCKCOMMENTS, _("Block Comment Style"), wxDefaultPosition, wxDefaultSize, 6, __wxRadioBoxChoices_1, 1, wxRA_SPECIFY_COLS, wxDefaultValidator, _T("ID_RADIOBOX_BLOCKCOMMENTS"));
+	RadioBoxBlockComments->SetToolTip(_("Select your preferred block comment style."));
+	BoxSizer2->Add(RadioBoxBlockComments, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	StaticBoxSizer1 = new wxStaticBoxSizer(wxVERTICAL, Panel2, _("Block Comment Sample"));
+	TextCtrlBlockComment = new cbStyledTextCtrl(Panel2, ID_TEXTCTRL_BLOCKCOMMENT, wxDefaultPosition, wxSize(150,150));
+	TextCtrlBlockComment->SetToolTip(_("Sample code using the selected block comment style."));
+	// wxSmith doesn't handle cbStyledTextCtrl initialisation properly. Replace the line above with the commented one below.
+	// You will need to do this every time wxSmith rewrites this entry.
+	// TextCtrlBlockComment = new cbStyledTextCtrl(Panel2, ID_TEXTCTRL_BLOCKCOMMENT, wxDefaultPosition, wxSize(150,150));
+	StaticBoxSizer1->Add(TextCtrlBlockComment, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer2->Add(StaticBoxSizer1, 3, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer6->Add(BoxSizer2, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer10 = new wxBoxSizer(wxHORIZONTAL);
+	wxString __wxRadioBoxChoices_2[4] =
+	{
+	_("C/JavaDoc"),
+	_("C++ Exclamation"),
+	_("C++ Slash"),
+	_("Qt")
+	};
+	RadioBoxLineComments = new wxRadioBox(Panel2, ID_RADIOBOX_LINECOMMENTS, _("Line Comment Style"), wxDefaultPosition, wxDefaultSize, 4, __wxRadioBoxChoices_2, 1, wxRA_SPECIFY_COLS, wxDefaultValidator, _T("ID_RADIOBOX_LINECOMMENTS"));
+	RadioBoxLineComments->SetToolTip(_("Select your preferred line comment style."));
+	BoxSizer10->Add(RadioBoxLineComments, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	StaticBoxSizer3 = new wxStaticBoxSizer(wxVERTICAL, Panel2, _("Line Comment Sample"));
+	TextCtrlLineComment = new cbStyledTextCtrl(Panel2, ID_TEXTCTRL_LINECOMMENT, wxDefaultPosition, wxSize(150,150));
+	TextCtrlLineComment->SetToolTip(_("Sample code using the selected line comment style."));
+	// wxSmith doesn't handle cbStyledTextCtrl initialisation properly. Replace the line above with the commented one below.
+	// You will need to do this every time wxSmith rewrites this entry.
+	// TextCtrlLineComment = new cbStyledTextCtrl(Panel2, ID_TEXTCTRL_LINECOMMENT, wxDefaultPosition, wxSize(150,150));
+	StaticBoxSizer3->Add(TextCtrlLineComment, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer10->Add(StaticBoxSizer3, 3, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer6->Add(BoxSizer10, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	Panel2->SetSizer(BoxSizer6);
+	BoxSizer6->Fit(Panel2);
+	BoxSizer6->SetSizeHints(Panel2);
+	Panel3 = new wxPanel(NotebookPrefs, ID_PANEL3, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL3"));
+	BoxSizer4 = new wxBoxSizer(wxVERTICAL);
+	StaticBoxSizer2 = new wxStaticBoxSizer(wxVERTICAL, Panel3, _("Project"));
+	BoxSizer5 = new wxBoxSizer(wxHORIZONTAL);
+	StaticText1 = new wxStaticText(Panel3, ID_STATICTEXT1, _("PROJECT_NUMBER"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1"));
+	BoxSizer5->Add(StaticText1, 1, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	TextCtrlProjectNumber = new wxTextCtrl(Panel3, ID_TEXTCTRL_PROJECTNUMBER, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL_PROJECTNUMBER"));
+	TextCtrlProjectNumber->SetToolTip(_("The PROJECT_NUMBER tag can be used to enter a project or revision number.\nThis could be handy for archiving the generated documentation or\nif some version control system is used."));
+	BoxSizer5->Add(TextCtrlProjectNumber, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	CheckBoxUseAutoVersion = new wxCheckBox(Panel3, ID_CHECKBOX_USEAUTOVERSION, _("Use AutoVersion"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_USEAUTOVERSION"));
+	CheckBoxUseAutoVersion->SetValue(false);
+	CheckBoxUseAutoVersion->Disable();
+	CheckBoxUseAutoVersion->SetToolTip(_("Use the version number provided by the Autoversion plug-in.\nIf this option is selected, DoxyBlocks will extract the version number\nfrom the Autoversion header file.\nThe format used is MAJOR.MINOR.BUILD.\nThis option is disabled if Autoversioning is not enabled for the project."));
+	BoxSizer5->Add(CheckBoxUseAutoVersion, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	StaticBoxSizer2->Add(BoxSizer5, 1, wxALL|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer18 = new wxBoxSizer(wxHORIZONTAL);
+	StaticText8 = new wxStaticText(Panel3, ID_STATICTEXT8, _("OUTPUT_DIRECTORY"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT8"));
+	BoxSizer18->Add(StaticText8, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	TextCtrlOutputDirectory = new wxTextCtrl(Panel3, ID_TEXTCTRLOUTPUT_DIRECTORY, wxEmptyString, wxDefaultPosition, wxSize(252,21), 0, wxDefaultValidator, _T("ID_TEXTCTRLOUTPUT_DIRECTORY"));
+	TextCtrlOutputDirectory->SetToolTip(_("The OUTPUT_DIRECTORY tag is used to specify the (relative or\nabsolute) base path where the generated documentation will be put.\nIf a relative path is entered, it will be relative to the location\nwhere doxygen was started. If left blank the current directory will be used.\n\nDoxyBlocks will use the path name entered here to create a directory\nrelative to <project dir>. This allows you to create separate doxygen\ndirectories for projects that reside in the same directory, or just use a\ndifferent directory name. If this field is blank, documents will be created\nin <project dir>/doxygen. Enter directory names without dots, \nleading separators, volume names, etc. DoxyBlocks does validation on\nthe path name and will strip extraneous characters.\n\nExamples:\n[blank]                     -> <project dir>/doxygen.\n\"docs\"                      -> <project dir>/docs.\n\"docs/sub1/sub2\"  -> <project dir>/docs/sub1/sub2.\n\"doxygen/docs\"     -> <project dir>/doxygen/docs.\n"));
+	BoxSizer18->Add(TextCtrlOutputDirectory, 2, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	StaticBoxSizer2->Add(BoxSizer18, 1, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer20 = new wxBoxSizer(wxHORIZONTAL);
+	StaticText5 = new wxStaticText(Panel3, ID_STATICTEXT5, _("OUTPUT_LANGUAGE"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT5"));
+	BoxSizer20->Add(StaticText5, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	ChoiceOutputLanguage = new wxChoice(Panel3, ID_CHOICE_OUTPUT_LANGUAGE, wxDefaultPosition, wxDefaultSize, 0, 0, 0, wxDefaultValidator, _T("ID_CHOICE_OUTPUT_LANGUAGE"));
+	ChoiceOutputLanguage->Append(_("Afrikaans"));
+	ChoiceOutputLanguage->Append(_("Arabic"));
+	ChoiceOutputLanguage->Append(_("Brazilian"));
+	ChoiceOutputLanguage->Append(_("Catalan"));
+	ChoiceOutputLanguage->Append(_("Chinese"));
+	ChoiceOutputLanguage->Append(_("Chinese-Traditional"));
+	ChoiceOutputLanguage->Append(_("Croatian"));
+	ChoiceOutputLanguage->Append(_("Czech"));
+	ChoiceOutputLanguage->Append(_("Danish"));
+	ChoiceOutputLanguage->Append(_("Dutch"));
+	ChoiceOutputLanguage->Append(_("English"));
+	ChoiceOutputLanguage->Append(_("Esperanto"));
+	ChoiceOutputLanguage->Append(_("Farsi"));
+	ChoiceOutputLanguage->Append(_("Finnish"));
+	ChoiceOutputLanguage->Append(_("French"));
+	ChoiceOutputLanguage->Append(_("German"));
+	ChoiceOutputLanguage->Append(_("Greek"));
+	ChoiceOutputLanguage->Append(_("Hungarian"));
+	ChoiceOutputLanguage->Append(_("Italian"));
+	ChoiceOutputLanguage->Append(_("Japanese"));
+	ChoiceOutputLanguage->Append(_("Japanese-en"));
+	ChoiceOutputLanguage->Append(_("Korean"));
+	ChoiceOutputLanguage->Append(_("Korean-en"));
+	ChoiceOutputLanguage->Append(_("Lithuanian"));
+	ChoiceOutputLanguage->Append(_("Norwegian"));
+	ChoiceOutputLanguage->Append(_("Macedonian"));
+	ChoiceOutputLanguage->Append(_("Persian"));
+	ChoiceOutputLanguage->Append(_("Polish"));
+	ChoiceOutputLanguage->Append(_("Portuguese"));
+	ChoiceOutputLanguage->Append(_("Romanian"));
+	ChoiceOutputLanguage->Append(_("Russian"));
+	ChoiceOutputLanguage->Append(_("Serbian"));
+	ChoiceOutputLanguage->Append(_("Serbian-Cyrilic"));
+	ChoiceOutputLanguage->Append(_("Slovak,"));
+	ChoiceOutputLanguage->Append(_("Slovene"));
+	ChoiceOutputLanguage->Append(_("Spanish"));
+	ChoiceOutputLanguage->Append(_("Swedish"));
+	ChoiceOutputLanguage->Append(_("Ukrainian"));
+	ChoiceOutputLanguage->Append(_("Vietnamese"));
+	ChoiceOutputLanguage->SetToolTip(_("The OUTPUT_LANGUAGE tag is used to specify the language in which all\ndocumentation generated by doxygen is written. Doxygen will use this\ninformation to generate all constant output in the proper language.\nThe default language is English, other supported languages are:\nAfrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,\nCroatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,\nGreek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English\nmessages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,\nPolish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,\nSlovene, Spanish, Swedish, Ukrainian, and Vietnamese."));
+	BoxSizer20->Add(ChoiceOutputLanguage, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	StaticBoxSizer2->Add(BoxSizer20, 1, wxALL|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer4->Add(StaticBoxSizer2, 2, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	StaticBoxSizer5 = new wxStaticBoxSizer(wxHORIZONTAL, Panel3, _("Build"));
+	CheckBoxExtractAll = new wxCheckBox(Panel3, ID_CHECKBOX_EXTRACT_ALL, _("EXTRACT_ALL"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_EXTRACT_ALL"));
+	CheckBoxExtractAll->SetValue(false);
+	CheckBoxExtractAll->SetToolTip(_("If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in\ndocumentation are documented, even if no documentation was available.\nPrivate class members and static file members will be hidden unless\nthe EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES"));
+	StaticBoxSizer5->Add(CheckBoxExtractAll, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	CheckBoxExtractPrivate = new wxCheckBox(Panel3, ID_CHECKBOX_EXTRACTPRIVATE, _("EXTRACT_PRIVATE"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_EXTRACTPRIVATE"));
+	CheckBoxExtractPrivate->SetValue(false);
+	CheckBoxExtractPrivate->SetToolTip(_("If the EXTRACT_PRIVATE tag is set to YES all private members of a\nclass will be included in the documentation."));
+	StaticBoxSizer5->Add(CheckBoxExtractPrivate, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	CheckBoxExtractStatic = new wxCheckBox(Panel3, ID_CHECKBOX_EXTRACTSTATIC, _("EXTRACT_STATIC"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_EXTRACTSTATIC"));
+	CheckBoxExtractStatic->SetValue(false);
+	CheckBoxExtractStatic->SetToolTip(_("If the EXTRACT_STATIC tag is set to YES all static members of a file\nwill be included in the documentation.\n"));
+	StaticBoxSizer5->Add(CheckBoxExtractStatic, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	BoxSizer4->Add(StaticBoxSizer5, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	StaticBoxSizer10 = new wxStaticBoxSizer(wxVERTICAL, Panel3, _("Warnings"));
+	CheckBoxWarnings = new wxCheckBox(Panel3, ID_CHECKBOX_WARNINGS, _("WARNINGS"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_WARNINGS"));
+	CheckBoxWarnings->SetValue(false);
+	CheckBoxWarnings->SetToolTip(_("The WARNINGS tag can be used to turn on/off the warning messages that are\ngenerated by doxygen. "));
+	StaticBoxSizer10->Add(CheckBoxWarnings, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	BoxSizer11 = new wxBoxSizer(wxHORIZONTAL);
+	CheckBoxWarnIfDocError = new wxCheckBox(Panel3, ID_CHECKBOX_WARN_IF_DOC_ERROR, _("WARN_IF_DOC_ERROR"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_WARN_IF_DOC_ERROR"));
+	CheckBoxWarnIfDocError->SetValue(false);
+	CheckBoxWarnIfDocError->SetToolTip(_("If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for\npotential errors in the documentation, such as not documenting some\nparameters in a documented function, or documenting parameters that\ndon\'t exist or using markup commands wrongly."));
+	BoxSizer11->Add(CheckBoxWarnIfDocError, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	CheckBoxWarnIfUndocumented = new wxCheckBox(Panel3, ID_CHECKBOX_WARN_IF_UNDOCUMENTED, _("WARN_IF_UNDOCUMENTED"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_WARN_IF_UNDOCUMENTED"));
+	CheckBoxWarnIfUndocumented->SetValue(false);
+	CheckBoxWarnIfUndocumented->SetToolTip(_("If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings\nfor undocumented members. If EXTRACT_ALL is set to YES then this flag will\nautomatically be disabled."));
+	BoxSizer11->Add(CheckBoxWarnIfUndocumented, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	CheckBoxWarnNoParamdoc = new wxCheckBox(Panel3, ID_CHECKBOX_WARN_NO_PARAMDOC, _("WARN_NO_PARAMDOC"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_WARN_NO_PARAMDOC"));
+	CheckBoxWarnNoParamdoc->SetValue(false);
+	CheckBoxWarnNoParamdoc->SetToolTip(_("This WARN_NO_PARAMDOC option can be abled to get warnings for\nfunctions that are documented, but have no documentation for their parameters\nor return value. If set to NO (the default) doxygen will only warn about\nwrong or incomplete parameter documentation, but not about the absence of\ndocumentation."));
+	BoxSizer11->Add(CheckBoxWarnNoParamdoc, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	StaticBoxSizer10->Add(BoxSizer11, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer4->Add(StaticBoxSizer10, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	StaticBoxSizer6 = new wxStaticBoxSizer(wxVERTICAL, Panel3, _(" Alphabetical Class Index"));
+	CheckBoxAlphabeticalIndex = new wxCheckBox(Panel3, ID_CHECKBOX_ALPHABETICAL_INDEX, _("ALPHABETICAL_INDEX"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_ALPHABETICAL_INDEX"));
+	CheckBoxAlphabeticalIndex->SetValue(false);
+	CheckBoxAlphabeticalIndex->SetToolTip(_("If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index\nof all compounds will be generated. Enable this if the project\ncontains a lot of classes, structs, unions or interfaces.\n"));
+	StaticBoxSizer6->Add(CheckBoxAlphabeticalIndex, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	BoxSizer4->Add(StaticBoxSizer6, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	Panel3->SetSizer(BoxSizer4);
+	BoxSizer4->Fit(Panel3);
+	BoxSizer4->SetSizeHints(Panel3);
+	Panel4 = new wxPanel(NotebookPrefs, ID_PANEL4, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL4"));
+	BoxSizer16 = new wxBoxSizer(wxVERTICAL);
+	StaticBoxSizer7 = new wxStaticBoxSizer(wxVERTICAL, Panel4, _("Output"));
+	BoxSizer12 = new wxBoxSizer(wxVERTICAL);
+	CheckBoxGenerateHTML = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_HTML, _("GENERATE_HTML"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_HTML"));
+	CheckBoxGenerateHTML->SetValue(true);
+	CheckBoxGenerateHTML->SetToolTip(_("If the GENERATE_HTML tag is set to YES (the default) Doxygen will\ngenerate HTML output.\n"));
+	BoxSizer12->Add(CheckBoxGenerateHTML, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	BoxSizer17 = new wxBoxSizer(wxHORIZONTAL);
+	CheckBoxGenerateHTMLHelp = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_HTMLHELP, _("GENERATE_HTMLHELP"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_HTMLHELP"));
+	CheckBoxGenerateHTMLHelp->SetValue(false);
+	CheckBoxGenerateHTMLHelp->SetToolTip(_("If the GENERATE_HTMLHELP tag is set to YES, additional index files\nwill be generated that can be used as input for tools like the\nMicrosoft HTML help workshop to generate a compiled HTML help file (.chm)\nof the generated HTML documentation."));
+	BoxSizer17->Add(CheckBoxGenerateHTMLHelp, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	CheckBoxGenerateCHI = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_CHI, _("GENERATE_CHI"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_CHI"));
+	CheckBoxGenerateCHI->SetValue(false);
+	CheckBoxGenerateCHI->SetToolTip(_("If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag\ncontrols if a separate .chi index file is generated (YES) or that\nit should be included in the master .chm file (NO)."));
+	BoxSizer17->Add(CheckBoxGenerateCHI, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	CheckBoxBinaryTOC = new wxCheckBox(Panel4, ID_CHECKBOX_BINARY_TOC, _("BINARY_TOC"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_BINARY_TOC"));
+	CheckBoxBinaryTOC->SetValue(false);
+	CheckBoxBinaryTOC->SetToolTip(_("If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag\ncontrols whether a binary table of contents is generated (YES) or a\nnormal table of contents (NO) in the .chm file."));
+	BoxSizer17->Add(CheckBoxBinaryTOC, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	BoxSizer12->Add(BoxSizer17, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	StaticBoxSizer7->Add(BoxSizer12, 1, wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer14 = new wxBoxSizer(wxHORIZONTAL);
+	CheckBoxGenerateLatex = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_LATEX, _("GENERATE_LATEX"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_LATEX"));
+	CheckBoxGenerateLatex->SetValue(false);
+	CheckBoxGenerateLatex->SetToolTip(_("If the GENERATE_LATEX tag is set to YES (the default) Doxygen will\ngenerate Latex output.\n"));
+	BoxSizer14->Add(CheckBoxGenerateLatex, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	CheckBoxGenerateRTF = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_RTF, _("GENERATE_RTF"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_RTF"));
+	CheckBoxGenerateRTF->SetValue(false);
+	CheckBoxGenerateRTF->SetToolTip(_("If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output\nThe RTF output is optimized for Word 97 and may not look very pretty with\nother RTF readers or editors."));
+	BoxSizer14->Add(CheckBoxGenerateRTF, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	CheckBoxGenerateMan = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_MAN, _("GENERATE_MAN"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_MAN"));
+	CheckBoxGenerateMan->SetValue(true);
+	CheckBoxGenerateMan->SetToolTip(_("If the GENERATE_MAN tag is set to YES (the default) Doxygen will\ngenerate man pages"));
+	BoxSizer14->Add(CheckBoxGenerateMan, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	StaticBoxSizer7->Add(BoxSizer14, 1, wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer15 = new wxBoxSizer(wxHORIZONTAL);
+	CheckBoxGenerateXML = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_XML, _("GENERATE_XML"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_XML"));
+	CheckBoxGenerateXML->SetValue(false);
+	CheckBoxGenerateXML->SetToolTip(_("If the GENERATE_XML tag is set to YES Doxygen will\ngenerate an XML file that captures the structure of\nthe code including all documentation."));
+	BoxSizer15->Add(CheckBoxGenerateXML, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	CheckBoxGenerateAutogenDef = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_AUTOGEN_DEF, _("GENERATE_AUTOGEN_DEF"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_AUTOGEN_DEF"));
+	CheckBoxGenerateAutogenDef->SetValue(false);
+	CheckBoxGenerateAutogenDef->SetToolTip(_("If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will\ngenerate an AutoGen Definitions (see autogen.sf.net) file\nthat captures the structure of the code including all\ndocumentation. Note that this feature is still experimental\nand incomplete at the moment.\n"));
+	BoxSizer15->Add(CheckBoxGenerateAutogenDef, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	CheckBoxGeneratePerlMod = new wxCheckBox(Panel4, ID_CHECKBOX_GENERATE_PERLMOD, _("GENERATE_PERLMOD"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_GENERATE_PERLMOD"));
+	CheckBoxGeneratePerlMod->SetValue(false);
+	CheckBoxGeneratePerlMod->SetToolTip(_("If the GENERATE_PERLMOD tag is set to YES Doxygen will\ngenerate a Perl module file that captures the structure of\nthe code including all documentation. Note that this\nfeature is still experimental and incomplete at the\nmoment."));
+	BoxSizer15->Add(CheckBoxGeneratePerlMod, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	StaticBoxSizer7->Add(BoxSizer15, 1, wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer16->Add(StaticBoxSizer7, 3, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	StaticBoxSizer8 = new wxStaticBoxSizer(wxHORIZONTAL, Panel4, _("Pre-processor"));
+	CheckBoxEnablePreprocessing = new wxCheckBox(Panel4, ID_CHECKBOX_ENABLE_PREPROCESSING, _("ENABLE_PREPROCESSING"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_ENABLE_PREPROCESSING"));
+	CheckBoxEnablePreprocessing->SetValue(false);
+	CheckBoxEnablePreprocessing->SetToolTip(_("If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will\nevaluate all C-preprocessor directives found in the sources and include\nfiles."));
+	StaticBoxSizer8->Add(CheckBoxEnablePreprocessing, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	BoxSizer16->Add(StaticBoxSizer8, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	StaticBoxSizer9 = new wxStaticBoxSizer(wxHORIZONTAL, Panel4, _("Dot"));
+	CheckBoxClassDiagrams = new wxCheckBox(Panel4, ID_CHECKBOX_CLASS_DIAGRAMS, _("CLASS_DIAGRAMS"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_CLASS_DIAGRAMS"));
+	CheckBoxClassDiagrams->SetValue(false);
+	CheckBoxClassDiagrams->SetToolTip(_("If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will\ngenerate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base\nor super classes. Setting the tag to NO turns the diagrams off. Note that\nthis option is superseded by the HAVE_DOT option below. This is only a\nfallback. It is recommended to install and use dot, since it yields more\npowerful graphs."));
+	StaticBoxSizer9->Add(CheckBoxClassDiagrams, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	CheckBoxHaveDot = new wxCheckBox(Panel4, ID_CHECKBOX_HAVE_DOT, _("HAVE_DOT"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_HAVE_DOT"));
+	CheckBoxHaveDot->SetValue(false);
+	CheckBoxHaveDot->SetToolTip(_("If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is\navailable from the path. This tool is part of Graphviz, a graph visualization\ntoolkit from AT&T and Lucent Bell Labs. The other options in this section\nhave no effect if this option is set to NO (the default)"));
+	StaticBoxSizer9->Add(CheckBoxHaveDot, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	BoxSizer16->Add(StaticBoxSizer9, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	Panel4->SetSizer(BoxSizer16);
+	BoxSizer16->Fit(Panel4);
+	BoxSizer16->SetSizeHints(Panel4);
+	Panel1 = new wxPanel(NotebookPrefs, ID_PANEL1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL1"));
+	BoxSizer7 = new wxBoxSizer(wxVERTICAL);
+	StaticBoxSizer4 = new wxStaticBoxSizer(wxVERTICAL, Panel1, _("Paths"));
+	BoxSizer8 = new wxBoxSizer(wxHORIZONTAL);
+	StaticText2 = new wxStaticText(Panel1, ID_STATICTEXT2, _("Path To doxygen"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT2"));
+	BoxSizer8->Add(StaticText2, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	TextCtrlPathDoxygen = new wxTextCtrl(Panel1, ID_TEXTCTRL_PATHDOXYGEN, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL_PATHDOXYGEN"));
+	TextCtrlPathDoxygen->SetToolTip(_("The path to the doxygen executable file.\nIf this field is blank, DoxyBlocks will assume that doxygen\nis available somewhere in your environment\'s path.\nYou can use macros such as $(CODEBLOCKS) in your path\nand they will be expanded automatically."));
+	BoxSizer8->Add(TextCtrlPathDoxygen, 3, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	ButtonBrowseDoxygen = new wxButton(Panel1, ID_BUTTON_BROWSEDOXYGEN, _("Browse"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON_BROWSEDOXYGEN"));
+	ButtonBrowseDoxygen->SetToolTip(_("Browse for doxygen."));
+	BoxSizer8->Add(ButtonBrowseDoxygen, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	StaticBoxSizer4->Add(BoxSizer8, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer9 = new wxBoxSizer(wxHORIZONTAL);
+	StaticText4 = new wxStaticText(Panel1, ID_STATICTEXT4, _("Path To doxywizard"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT4"));
+	BoxSizer9->Add(StaticText4, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	TextCtrlPathDoxywizard = new wxTextCtrl(Panel1, ID_TEXTCTRL_PATHDOXYWIZARD, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL_PATHDOXYWIZARD"));
+	TextCtrlPathDoxywizard->SetToolTip(_("The path to the doxywizard executable file.\nIf this field is blank, DoxyBlocks will assume that doxywizard\nis available somewhere in your environment\'s path.\nYou can use macros such as $(CODEBLOCKS) in your path\nand they will be expanded automatically."));
+	BoxSizer9->Add(TextCtrlPathDoxywizard, 3, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	ButtonBrowseDoxywizard = new wxButton(Panel1, ID_BUTTON_BROWSEDOXYWIZARD, _("Browse"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON_BROWSEDOXYWIZARD"));
+	ButtonBrowseDoxywizard->SetToolTip(_("Browse for doxywizard."));
+	BoxSizer9->Add(ButtonBrowseDoxywizard, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	StaticBoxSizer4->Add(BoxSizer9, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer3 = new wxBoxSizer(wxHORIZONTAL);
+	StaticText3 = new wxStaticText(Panel1, ID_STATICTEXT3, _("Path To HHC"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT3"));
+	BoxSizer3->Add(StaticText3, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	TextCtrlPathHHC = new wxTextCtrl(Panel1, ID_TEXTCTRL_PATHHHC, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL_PATHHHC"));
+	TextCtrlPathHHC->SetToolTip(_("The path to the HTML Help Compiler executable file.\nIf this field is blank, DoxyBlocks will assume that HHC\nis available somewhere in your environment\'s path.\nYou can use macros such as $(CODEBLOCKS) in your path\nand they will be expanded automatically."));
+	BoxSizer3->Add(TextCtrlPathHHC, 3, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	ButtonBrowseHHC = new wxButton(Panel1, ID_BUTTON_BROWSEHHC, _("Browse"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON_BROWSEHHC"));
+	ButtonBrowseHHC->SetToolTip(_("Browse for HHC."));
+	BoxSizer3->Add(ButtonBrowseHHC, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	StaticBoxSizer4->Add(BoxSizer3, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer13 = new wxBoxSizer(wxHORIZONTAL);
+	StaticText6 = new wxStaticText(Panel1, ID_STATICTEXT6, _("Path To Dot"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT6"));
+	BoxSizer13->Add(StaticText6, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	TextCtrlPathDot = new wxTextCtrl(Panel1, ID_TEXTCTRL_PATHDOT, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL_PATHDOT"));
+	TextCtrlPathDot->SetToolTip(_("The path to the dot executable file.\nIf this field is blank, DoxyBlocks will assume that dot\nis available somewhere in your environment\'s path.\nYou can use macros such as $(CODEBLOCKS) in your path\nand they will be expanded automatically."));
+	BoxSizer13->Add(TextCtrlPathDot, 3, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	ButtonBrowseDot = new wxButton(Panel1, ID_BUTTON_BROWSEDOT, _("Browse"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON_BROWSEDOT"));
+	ButtonBrowseDot->SetToolTip(_("Browse for Dot."));
+	BoxSizer13->Add(ButtonBrowseDot, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	StaticBoxSizer4->Add(BoxSizer13, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer19 = new wxBoxSizer(wxHORIZONTAL);
+	StaticText7 = new wxStaticText(Panel1, ID_STATICTEXT7, _("Path To CHM Viewer"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT7"));
+	BoxSizer19->Add(StaticText7, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	TextCtrlPathCHMViewer = new wxTextCtrl(Panel1, ID_TEXTCTRL_PATHCHMVIEWER, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL_PATHCHMVIEWER"));
+	TextCtrlPathCHMViewer->SetToolTip(_("The path to the CHM viewer executable file.\nOn Windows, if this field is blank, DoxyBlocks will use\nthe operating system\'s standard viewer.\nOn other operating systems, if this field is blank,\nDoxyBlocks will assume that a viewer is available\nsomewhere in your environment\'s path.\nYou can use macros such as $(CODEBLOCKS) in your path\nand they will be expanded automatically."));
+	BoxSizer19->Add(TextCtrlPathCHMViewer, 3, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	ButtonBrowseCHMViewer = new wxButton(Panel1, ID_BUTTON_BROWSECHMVIEWER, _("Browse"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON_BROWSECHMVIEWER"));
+	ButtonBrowseCHMViewer->SetToolTip(_("Browse for a CHM viewer."));
+	BoxSizer19->Add(ButtonBrowseCHMViewer, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	StaticBoxSizer4->Add(BoxSizer19, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	BoxSizer7->Add(StaticBoxSizer4, 3, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	StaticBoxSizer11 = new wxStaticBoxSizer(wxVERTICAL, Panel1, _("General Options"));
+	BoxSizer21 = new wxBoxSizer(wxHORIZONTAL);
+	CheckBoxOverwriteDoxyfile = new wxCheckBox(Panel1, ID_CHECKBOX_OVERWRITEDOXYFILE, _("Overwrite Doxyfile"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_OVERWRITEDOXYFILE"));
+	CheckBoxOverwriteDoxyfile->SetValue(false);
+	CheckBoxOverwriteDoxyfile->SetToolTip(_("Allow DoxyBlocks to overwrite the doxyfile.\nBy default, if a doxyfile already exists it is not overwritten to protect\nany changes that have been made outside DoxyBlocks however this\nbehaviour prevents changes made within DoxyBlocks being written to\nan existing doxyfile."));
+	BoxSizer21->Add(CheckBoxOverwriteDoxyfile, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	CheckBoxPromptBeforeOverwriting = new wxCheckBox(Panel1, ID_CHECKBOX_PROMPTB4OVERWRITING, _("Prompt Before Overwriting"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_PROMPTB4OVERWRITING"));
+	CheckBoxPromptBeforeOverwriting->SetValue(false);
+	CheckBoxPromptBeforeOverwriting->SetToolTip(_("Prompt before overwriting an existing doxyfile.\nWhen used in conjunction with \"Overwrite doxyfile\" this setting forces\nDoxyBlocks to prompt you before overwriting an existing doxyfile."));
+	BoxSizer21->Add(CheckBoxPromptBeforeOverwriting, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	CheckBoxUseAtInTags = new wxCheckBox(Panel1, ID_CHECKBOX_USEATINTAGS, _("Use \"@\" In Tags"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_USEATINTAGS"));
+	CheckBoxUseAtInTags->SetValue(false);
+	CheckBoxUseAtInTags->SetToolTip(_("Use \"@\" in document tags instead of \"\\\".\nThis option causes DoxyBlocks to create document tags like\n\"@brief\" and \"@param\" rather than \"\\brief\" and \"\\param\"."));
+	BoxSizer21->Add(CheckBoxUseAtInTags, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	StaticBoxSizer11->Add(BoxSizer21, 1, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 5);
+	BoxSizer22 = new wxBoxSizer(wxHORIZONTAL);
+	CheckBoxLoadTemplate = new wxCheckBox(Panel1, ID_CHECKBOX_LOADTEMPLATE, _("Load Settings Template If No Saved Settings Exist"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_LOADTEMPLATE"));
+	CheckBoxLoadTemplate->SetValue(false);
+	CheckBoxLoadTemplate->SetToolTip(_("This option allows you to use your preferred settings as the default settings by loading a previously saved settings template, if one exists, rather than using the system default settings when loading a project that doesn\'t contain saved DoxyBlocks settings. DoxyBlocks falls back to the default settings if a template is not found."));
+	BoxSizer22->Add(CheckBoxLoadTemplate, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	StaticBoxSizer11->Add(BoxSizer22, 1, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 5);
+	BoxSizer7->Add(StaticBoxSizer11, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	StaticBoxSizer12 = new wxStaticBoxSizer(wxHORIZONTAL, Panel1, _("HTML"));
+	CheckBoxUseInternalViewer = new wxCheckBox(Panel1, ID_CHECKBOX_USEINTERNALVIEWER, _("Use Internal Viewer"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_USEINTERNALVIEWER"));
+	CheckBoxUseInternalViewer->SetValue(false);
+	CheckBoxUseInternalViewer->SetToolTip(_("Use the internal viewer to view HTML docs.\nIf this option is not set DoxyBlocks will use the system\'s default\nbrowser.\nThis setting has no effect if GENERATE_HTML is not set."));
+	StaticBoxSizer12->Add(CheckBoxUseInternalViewer, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	CheckBoxRunHTML = new wxCheckBox(Panel1, ID_CHECKBOX_RUNHTML, _("Run HTML After Compilation"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_RUNHTML"));
+	CheckBoxRunHTML->SetValue(false);
+	CheckBoxRunHTML->SetToolTip(_("Run the HTML docs after compilation.\nIf \"Use Internal Viewer\" is set DoxyBlocks will use Code::Blocks\' internal\nviewer. If not, it will use the system\'s default browser.\nThis setting has no effect if GENERATE_HTML is not set."));
+	StaticBoxSizer12->Add(CheckBoxRunHTML, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	CheckBoxRunCHM = new wxCheckBox(Panel1, ID_CHECKBOX_RUNCHM, _("Run CHM After Compilation"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX_RUNCHM"));
+	CheckBoxRunCHM->SetValue(false);
+	CheckBoxRunCHM->SetToolTip(_("Run the compiled help after it\'s compiled.\nThis setting currently only has effect on Windows.\nIf no CHM file exists this setting is ignored.\nThis setting has no effect if GENERATE_HTML is not set."));
+	StaticBoxSizer12->Add(CheckBoxRunCHM, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+	BoxSizer7->Add(StaticBoxSizer12, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	Panel1->SetSizer(BoxSizer7);
+	BoxSizer7->Fit(Panel1);
+	BoxSizer7->SetSizeHints(Panel1);
+	NotebookPrefs->AddPage(Panel2, _("Comment Style"), false);
+	NotebookPrefs->AddPage(Panel3, _("Doxyfile Defaults"), false);
+	NotebookPrefs->AddPage(Panel4, _("Doxyfile Defaults 2"), false);
+	NotebookPrefs->AddPage(Panel1, _("General"), false);
+	BoxSizer1->Add(NotebookPrefs, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
+	SetSizer(BoxSizer1);
+	BoxSizer1->Fit(this);
+	BoxSizer1->SetSizeHints(this);
+
+	Connect(ID_RADIOBOX_BLOCKCOMMENTS,wxEVT_COMMAND_RADIOBOX_SELECTED,(wxObjectEventFunction)&ConfigPanel::OnRadioBoxBlockCommentsSelect);
+	Connect(ID_RADIOBOX_LINECOMMENTS,wxEVT_COMMAND_RADIOBOX_SELECTED,(wxObjectEventFunction)&ConfigPanel::OnRadioBoxLineCommentsSelect);
+	Connect(ID_CHECKBOX_USEAUTOVERSION,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnCheckBoxUseAutoversionClick);
+	Connect(ID_CHECKBOX_WARNINGS,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnCheckBoxWarningsClick);
+	Connect(ID_CHECKBOX_GENERATE_HTML,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnCheckBoxGenerateHTMLClick);
+	Connect(ID_BUTTON_BROWSEDOXYGEN,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnButtonBrowseDoxygenClick);
+	Connect(ID_BUTTON_BROWSEDOXYWIZARD,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnButtonBrowseDoxywizardClick);
+	Connect(ID_BUTTON_BROWSEHHC,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnButtonBrowseHHCClick);
+	Connect(ID_BUTTON_BROWSEDOT,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnButtonBrowseDotClick);
+	Connect(ID_BUTTON_BROWSECHMVIEWER,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnButtonBrowseCHMViewerClick);
+	Connect(ID_CHECKBOX_OVERWRITEDOXYFILE,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnCheckBoxOverwriteDoxyfileClick);
+	Connect(ID_CHECKBOX_USEATINTAGS,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&ConfigPanel::OnCheckBoxUseAtInTagsClick);
+	//*)
+
+}
+
+/*! \brief Destructor
+ */
+ConfigPanel::~ConfigPanel()
+{
+	//(*Destroy(ConfigPanel)
+	//*)
+}
+
+/*! \brief Initialise dependent control states.
+ *
+ * \return void
+ *
+ * This function must be called after the setters have been called so that initial
+ * states are set first.
+ */
+void ConfigPanel::Init()
+{
+	//	If the project uses autoversioning, enable the "Use AutoVersioning" checkbox.
 	if(m_bAutoVersioning){
 		CheckBoxUseAutoVersion->Enable(true);
-	}
-	if(!CheckBoxOverwriteDoxyfile->IsChecked()){
-		CheckBoxPromptBeforeOverwriting->Enable(false);
-	}
-	WriteBlockComment(TextCtrlBlockComment, RadioBoxBlockComments->GetSelection(), CheckBoxUseAtInTags->GetValue());
-	WriteLineComment(TextCtrlLineComment, RadioBoxLineComments->GetSelection());
-	InitSTC(TextCtrlBlockComment);
-	InitSTC(TextCtrlLineComment);
+	}
+	if(!CheckBoxOverwriteDoxyfile->IsChecked()){
+		CheckBoxPromptBeforeOverwriting->Enable(false);
+	}
+	WriteBlockComment(TextCtrlBlockComment, RadioBoxBlockComments->GetSelection(), CheckBoxUseAtInTags->GetValue());
+	WriteLineComment(TextCtrlLineComment, RadioBoxLineComments->GetSelection());
+	InitSTC(TextCtrlBlockComment);
+	InitSTC(TextCtrlLineComment);
 	if(m_bAutoVersioning){
-		CheckBoxUseAutoVersion->SetValue(m_bUseAutoVersion);
-		// If "Use AutoVersion" is enabled, disable the version text box so that manual entry is
-		// disallowed but the detected version is still visible.
+		CheckBoxUseAutoVersion->SetValue(m_bUseAutoVersion);
+		// If "Use AutoVersion" is enabled, disable the version text box so that manual entry is
+		// disallowed but the detected version is still visible.
 		if(m_bUseAutoVersion){
-			TextCtrlProjectNumber->Enable(false);
-		}
-	}
-
-    if(CheckBoxGenerateHTML->IsChecked()){
-		CheckBoxGenerateHTMLHelp->Enable(true);
-		CheckBoxGenerateCHI->Enable(true);
-		CheckBoxBinaryTOC->Enable(true);
-    }
-    else{
-		CheckBoxGenerateHTMLHelp->Enable(false);
-		CheckBoxGenerateCHI->Enable(false);
-		CheckBoxBinaryTOC->Enable(false);
-    }
-
+			TextCtrlProjectNumber->Enable(false);
+		}
+	}
+
+    if(CheckBoxGenerateHTML->IsChecked()){
+		CheckBoxGenerateHTMLHelp->Enable(true);
+		CheckBoxGenerateCHI->Enable(true);
+		CheckBoxBinaryTOC->Enable(true);
+    }
+    else{
+		CheckBoxGenerateHTMLHelp->Enable(false);
+		CheckBoxGenerateCHI->Enable(false);
+		CheckBoxBinaryTOC->Enable(false);
+    }
+
     if(CheckBoxWarnings->IsChecked()){
-    	CheckBoxWarnIfDocError->Enable(true);
-    	CheckBoxWarnIfUndocumented->Enable(true);
+    	CheckBoxWarnIfDocError->Enable(true);
+    	CheckBoxWarnIfUndocumented->Enable(true);
     	CheckBoxWarnNoParamdoc->Enable(true);
-    }
-    else{
-    	CheckBoxWarnIfDocError->Enable(false);
-    	CheckBoxWarnIfUndocumented->Enable(false);
+    }
+    else{
+    	CheckBoxWarnIfDocError->Enable(false);
+    	CheckBoxWarnIfUndocumented->Enable(false);
     	CheckBoxWarnNoParamdoc->Enable(false);
-    }
-}
-
-/*! \brief Initialise a wxStyledTextControl.
- *
- * \param	stc	cbStyledTextCtrl*	The text editor control.
- *
- * This function initialises the styled text controls used for the comment samples.
- * It sets the lexer, margin, font and other parameters and colourises the text.
- */
-void ConfigPanel::InitSTC(cbStyledTextCtrl *stc)
-{
-	stc->SetLexer(wxSCI_LEX_CPP);
-	stc->SetMarginType(0, wxSCI_MARGIN_NUMBER);
-    stc->SetMarginWidth(0, 32);
-    stc->SetTabWidth(4);
-    // Try to stop flickering.
-    stc->SetBufferedDraw(true);
-    stc->SetReadOnly(true);
-    stc->SetUseHorizontalScrollBar(false);
-
-	// Colourise.
-	EditorColourSet* theme = Manager::Get()->GetEditorManager()->GetColourSet();
-    ConfigManager* cfg = Manager::Get()->GetConfigManager(wxT("editor"));
-    if(theme){
-        wxString sFont = cfg->Read(wxT("/font"), wxEmptyString);
-
-		wxFont fnt(10, wxMODERN, wxNORMAL, wxNORMAL);
-		if (!sFont.IsEmpty()){
-			wxNativeFontInfo nfi;
-			nfi.FromString(sFont);
-			fnt.SetNativeFontInfo(nfi);
-		}
-        if(stc){
-            stc->StyleSetFont(wxSCI_STYLE_DEFAULT, fnt);
-			theme->Apply(theme->GetHighlightLanguage(wxT("C/C++")), stc);
-        }
-    }
-}
-
-/*! \brief Write the block comment sample, based on the radio box selection.
- *
- * \param	stc						cbStyledTextCtrl*	The text editor control.
- * \param	iBlockComment 	int						The comment style.
- * \param 	bUseAtInTags 		bool						Whether or not to use "@" in tags rather than "\".
- *
- */
-void ConfigPanel::WriteBlockComment(cbStyledTextCtrl *stc, int iBlockComment, bool bUseAtInTags)
-{
-    wxString sTagChar = bUseAtInTags ? wxT("@") : wxT("\\");
-    wxString sSpace(wxT(" "));
-	// Comment strings.
-	wxString sBrief(sSpace + _("This is a brief description."));
-	wxString sParam1(wxString(wxT("\tp1 ")) + _("The first parameter."));
-	wxString sParam2(wxString(wxT("\tp2 "))  + _("The second parameter."));
-	wxString sReturn(wxString(wxT("\t")) + _("Return value."));
-	wxString sDetailed(sSpace + _("This is a detailed description."));
-	wxString sFunction(wxT("wxString Function(wxInt32 p1, wxString p2)"));
-	wxString sBrace(wxT("{"));
-    wxString sTagBrief(sSpace + sTagChar + wxT("brief"));
-    wxString sTagParam(sSpace + sTagChar + wxT("param"));
-    wxString sTagReturn(sSpace + sTagChar + wxT("return"));
-	wxString sStartComment;
-	wxString sMidComment;
-	wxString sEndComment;
-
-	// Allow for the greater space used by C++ slashes. I like things neat. :-)
-	if(iBlockComment == 1 || iBlockComment == 2 || iBlockComment == 5){
-		sReturn = wxString(wxT("\t\t")) + _("Return value.");
-	}
-	switch(iBlockComment){
-		case 0:			//C/Javadoc.
-			sStartComment = wxT("/**");
-			sMidComment = wxT(" *");
-			sEndComment = wxT(" */");
-			break;
-		case 1:			// C++ exclamation.
-			sStartComment = wxT("//!");
-			sMidComment = wxT("//!");
-			sEndComment = wxT("//!");
-			break;
-		case 2:			// C++ slash.
-			sStartComment = wxT("///");
-			sMidComment = wxT("///");
-			sEndComment = wxT("///");
-			break;
-		case 3:			// Qt.
-			sStartComment = wxT("/*!");
-			sMidComment = wxT(" *");
-			sEndComment = wxT(" */");
-			break;
-		case 4:			// Visible C.
-			sStartComment = wxT("/********************************************//**");
-			sMidComment = wxT(" *");
-			sEndComment = wxT(" ***********************************************/");
-			break;
-		case 5:			// Visible C++.
-			sStartComment = wxT("/////////////////////////////////////////////////");
-			sMidComment = wxT("///");
-			sEndComment = wxT("/////////////////////////////////////////////////");
-			break;
-	}
-	if(iBlockComment == 4 || iBlockComment == 5){
-		stc->AddText(sStartComment);
-		stc->NewLine();
-		stc->AddText(sMidComment + sTagBrief + sBrief);
-	}
-	else{
-		stc->AddText(sStartComment + sTagBrief + sBrief);
-	}
-	// Use NewLine() to get the correct line ending chars.
-	stc->NewLine();
-	stc->AddText(sMidComment);
-	stc->NewLine();
-	stc->AddText(sMidComment +sTagParam + sParam1);
-	stc->NewLine();
-	stc->AddText(sMidComment + sTagParam + sParam2);
-	stc->NewLine();
-	stc->AddText(sMidComment + sTagReturn + sReturn);
-	stc->NewLine();
-	stc->AddText(sMidComment);
-	stc->NewLine();
-	stc->AddText(sMidComment + sDetailed);
-	stc->NewLine();
-	stc->AddText(sEndComment);
-	stc->NewLine();
-	stc->AddText(sFunction);
-	stc->NewLine();
-	stc->AddText(sBrace);
-
-	stc->ScrollToLine(0);
-}
-
-/*! \brief Write the line comment sample, based on the radio box selection.
- *
- * \param	stc						cbStyledTextCtrl*	The text editor control.
- * \param	iLineComment 		int						The comment style.
- *
- */
-void ConfigPanel::WriteLineComment(cbStyledTextCtrl *stc, int iLineComment)
-{
-	// Comment strings.
-	wxString sGlobal(wxT("wxInt32\tiGlob;\t"));
-	wxString sComment(_("This is an inline comment."));
-	wxString sEnum(wxT("enum Enum{"));
-	wxString sVal1(wxT("\tval1\t\t\t\t\t"));
-	wxString sVal2(wxT("\tval2\t\t\t\t\t"));
-	wxString sFunction(wxT("wxString Function(wxInt32 p1, wxString p2)"));
-	wxString sFuncVal(wxT("\twxInt32\tiVal;\t"));
-	wxString sOpenBrace(wxT("{"));
-	wxString sCloseBrace(wxT("}"));
-	wxString sStartComment;
-	wxString sEndComment;
-
-	switch(iLineComment){
-		case 0:			//C/Javadoc.
-			sStartComment = wxT("/**< ");
-			sEndComment = wxT(" */");
-			break;
-		case 1:			// C++ exclamation.
-			sStartComment = wxT("//!< ");
-			break;
-		case 2:			// C++ slash.
-			sStartComment = wxT("///< ");
-			break;
-		case 3:			// Qt.
-			sStartComment = wxT("/*!< ");
-			sEndComment = wxT(" */");
-			break;
-	}
-	stc->AddText(sGlobal + sStartComment + sComment + sEndComment);
-	// Use NewLine() to get the correct line ending chars.
-	stc->NewLine();
-	stc->NewLine();
-	stc->AddText(sEnum);
-	stc->NewLine();
-	stc->AddText(sVal1 + sStartComment + sComment + sEndComment);
-	stc->NewLine();
-	stc->AddText(sVal2 + sStartComment + sComment + sEndComment);
-	stc->NewLine();
-	stc->AddText(sCloseBrace);
-	stc->NewLine();
-	stc->NewLine();
-	stc->AddText(sFunction);
-	stc->NewLine();
-	stc->AddText(sOpenBrace);
-	stc->NewLine();
-	stc->AddText(sFuncVal + sStartComment + sComment + sEndComment);
-}
-
-/*! \brief Apply configuration changes.
- *
- * Virtual routine required by cbConfigurationPanel
- */
-void ConfigPanel::OnApply()
-{
-	m_pOwnerClass->OnDialogueDone(this);
- }
-
-/*! \brief Get the base name for the images to be displayed in the settings image list.
- *
- * \return wxString	The bitmap base name.
- *
- * Virtual routine required by cbConfigurationPanel
- */
-wxString ConfigPanel::GetBitmapBaseName() const
-{
-    wxString pngName = wxT("generic-plugin");
-    #ifdef __WXGTK__
-     if ( ::wxFileExists(ConfigManager::GetDataFolder() + wxT("/images/settings/DoxyBlocks.png")) )
-    #else
-     if ( ::wxFileExists(ConfigManager::GetDataFolder() + wxT("\\images\\settings\\DoxyBlocks.png")) )
-    #endif
-    	pngName = wxT("DoxyBlocks");
-    return pngName;
-}
-
-/*! \brief The doxygen path browse button was clicked.
- *
- * \param 	event	A wxCommandEvent reference.
- *
- */
+    }
+}
+
+/*! \brief Initialise a wxStyledTextControl.
+ *
+ * \param	stc	cbStyledTextCtrl*	The text editor control.
+ *
+ * This function initialises the styled text controls used for the comment samples.
+ * It sets the lexer, margin, font and other parameters and colourises the text.
+ */
+void ConfigPanel::InitSTC(cbStyledTextCtrl *stc)
+{
+	stc->SetLexer(wxSCI_LEX_CPP);
+	stc->SetMarginType(0, wxSCI_MARGIN_NUMBER);
+    stc->SetMarginWidth(0, 32);
+    stc->SetTabWidth(4);
+    // Try to stop flickering.
+    stc->SetBufferedDraw(true);
+    stc->SetReadOnly(true);
+    stc->SetUseHorizontalScrollBar(false);
+
+	// Colourise.
+	EditorColourSet* theme = Manager::Get()->GetEditorManager()->GetColourSet();
+    ConfigManager* cfg = Manager::Get()->GetConfigManager(wxT("editor"));
+    if(theme){
+        wxString sFont = cfg->Read(wxT("/font"), wxEmptyString);
+
+		wxFont fnt(10, wxMODERN, wxNORMAL, wxNORMAL);
+		if (!sFont.IsEmpty()){
+			wxNativeFontInfo nfi;
+			nfi.FromString(sFont);
+			fnt.SetNativeFontInfo(nfi);
+		}
+        if(stc){
+            stc->StyleSetFont(wxSCI_STYLE_DEFAULT, fnt);
+			theme->Apply(theme->GetHighlightLanguage(wxT("C/C++")), stc);
+        }
+    }
+}
+
+/*! \brief Write the block comment sample, based on the radio box selection.
+ *
+ * \param	stc						cbStyledTextCtrl*	The text editor control.
+ * \param	iBlockComment 	int						The comment style.
+ * \param 	bUseAtInTags 		bool						Whether or not to use "@" in tags rather than "\".
+ *
+ */
+void ConfigPanel::WriteBlockComment(cbStyledTextCtrl *stc, int iBlockComment, bool bUseAtInTags)
+{
+    wxString sTagChar = bUseAtInTags ? wxT("@") : wxT("\\");
+    wxString sSpace(wxT(" "));
+	// Comment strings.
+	wxString sBrief(sSpace + _("This is a brief description."));
+	wxString sParam1(wxString(wxT("\tp1 ")) + _("The first parameter."));
+	wxString sParam2(wxString(wxT("\tp2 "))  + _("The second parameter."));
+	wxString sReturn(wxString(wxT("\t")) + _("Return value."));
+	wxString sDetailed(sSpace + _("This is a detailed description."));
+	wxString sFunction(wxT("wxString Function(wxInt32 p1, wxString p2)"));
+	wxString sBrace(wxT("{"));
+    wxString sTagBrief(sSpace + sTagChar + wxT("brief"));
+    wxString sTagParam(sSpace + sTagChar + wxT("param"));
+    wxString sTagReturn(sSpace + sTagChar + wxT("return"));
+	wxString sStartComment;
+	wxString sMidComment;
+	wxString sEndComment;
+
+	// Allow for the greater space used by C++ slashes. I like things neat. :-)
+	if(iBlockComment == 1 || iBlockComment == 2 || iBlockComment == 5){
+		sReturn = wxString(wxT("\t\t")) + _("Return value.");
+	}
+	switch(iBlockComment){
+		case 0:			//C/Javadoc.
+			sStartComment = wxT("/**");
+			sMidComment = wxT(" *");
+			sEndComment = wxT(" */");
+			break;
+		case 1:			// C++ exclamation.
+			sStartComment = wxT("//!");
+			sMidComment = wxT("//!");
+			sEndComment = wxT("//!");
+			break;
+		case 2:			// C++ slash.
+			sStartComment = wxT("///");
+			sMidComment = wxT("///");
+			sEndComment = wxT("///");
+			break;
+		case 3:			// Qt.
+			sStartComment = wxT("/*!");
+			sMidComment = wxT(" *");
+			sEndComment = wxT(" */");
+			break;
+		case 4:			// Visible C.
+			sStartComment = wxT("/********************************************//**");
+			sMidComment = wxT(" *");
+			sEndComment = wxT(" ***********************************************/");
+			break;
+		case 5:			// Visible C++.
+			sStartComment = wxT("/////////////////////////////////////////////////");
+			sMidComment = wxT("///");
+			sEndComment = wxT("/////////////////////////////////////////////////");
+			break;
+	}
+	if(iBlockComment == 4 || iBlockComment == 5){
+		stc->AddText(sStartComment);
+		stc->NewLine();
+		stc->AddText(sMidComment + sTagBrief + sBrief);
+	}
+	else{
+		stc->AddText(sStartComment + sTagBrief + sBrief);
+	}
+	// Use NewLine() to get the correct line ending chars.
+	stc->NewLine();
+	stc->AddText(sMidComment);
+	stc->NewLine();
+	stc->AddText(sMidComment +sTagParam + sParam1);
+	stc->NewLine();
+	stc->AddText(sMidComment + sTagParam + sParam2);
+	stc->NewLine();
+	stc->AddText(sMidComment + sTagReturn + sReturn);
+	stc->NewLine();
+	stc->AddText(sMidComment);
+	stc->NewLine();
+	stc->AddText(sMidComment + sDetailed);
+	stc->NewLine();
+	stc->AddText(sEndComment);
+	stc->NewLine();
+	stc->AddText(sFunction);
+	stc->NewLine();
+	stc->AddText(sBrace);
+
+	stc->ScrollToLine(0);
+}
+
+/*! \brief Write the line comment sample, based on the radio box selection.
+ *
+ * \param	stc						cbStyledTextCtrl*	The text editor control.
+ * \param	iLineComment 		int						The comment style.
+ *
+ */
+void ConfigPanel::WriteLineComment(cbStyledTextCtrl *stc, int iLineComment)
+{
+	// Comment strings.
+	wxString sGlobal(wxT("wxInt32\tiGlob;\t"));
+	wxString sComment(_("This is an inline comment."));
+	wxString sEnum(wxT("enum Enum{"));
+	wxString sVal1(wxT("\tval1\t\t\t\t\t"));
+	wxString sVal2(wxT("\tval2\t\t\t\t\t"));
+	wxString sFunction(wxT("wxString Function(wxInt32 p1, wxString p2)"));
+	wxString sFuncVal(wxT("\twxInt32\tiVal;\t"));
+	wxString sOpenBrace(wxT("{"));
+	wxString sCloseBrace(wxT("}"));
+	wxString sStartComment;
+	wxString sEndComment;
+
+	switch(iLineComment){
+		case 0:			//C/Javadoc.
+			sStartComment = wxT("/**< ");
+			sEndComment = wxT(" */");
+			break;
+		case 1:			// C++ exclamation.
+			sStartComment = wxT("//!< ");
+			break;
+		case 2:			// C++ slash.
+			sStartComment = wxT("///< ");
+			break;
+		case 3:			// Qt.
+			sStartComment = wxT("/*!< ");
+			sEndComment = wxT(" */");
+			break;
+	}
+	stc->AddText(sGlobal + sStartComment + sComment + sEndComment);
+	// Use NewLine() to get the correct line ending chars.
+	stc->NewLine();
+	stc->NewLine();
+	stc->AddText(sEnum);
+	stc->NewLine();
+	stc->AddText(sVal1 + sStartComment + sComment + sEndComment);
+	stc->NewLine();
+	stc->AddText(sVal2 + sStartComment + sComment + sEndComment);
+	stc->NewLine();
+	stc->AddText(sCloseBrace);
+	stc->NewLine();
+	stc->NewLine();
+	stc->AddText(sFunction);
+	stc->NewLine();
+	stc->AddText(sOpenBrace);
+	stc->NewLine();
+	stc->AddText(sFuncVal + sStartComment + sComment + sEndComment);
+}
+
+/*! \brief Apply configuration changes.
+ *
+ * Virtual routine required by cbConfigurationPanel
+ */
+void ConfigPanel::OnApply()
+{
+	m_pOwnerClass->OnDialogueDone(this);
+ }
+
+/*! \brief Get the base name for the images to be displayed in the settings image list.
+ *
+ * \return wxString	The bitmap base name.
+ *
+ * Virtual routine required by cbConfigurationPanel
+ */
+wxString ConfigPanel::GetBitmapBaseName() const
+{
+    wxString pngName = wxT("generic-plugin");
+    #ifdef __WXGTK__
+     if ( ::wxFileExists(ConfigManager::GetDataFolder() + wxT("/images/settings/DoxyBlocks.png")) )
+    #else
+     if ( ::wxFileExists(ConfigManager::GetDataFolder() + wxT("\\images\\settings\\DoxyBlocks.png")) )
+    #endif
+    	pngName = wxT("DoxyBlocks");
+    return pngName;
+}
+
+/*! \brief The doxygen path browse button was clicked.
+ *
+ * \param 	event	A wxCommandEvent reference.
+ *
+ */
 void ConfigPanel::OnButtonBrowseDoxygenClick(wxCommandEvent& WXUNUSED(event))
-{
-	wxString sPathDoxygen = GetApplicationPath();
-    if(!sPathDoxygen.empty()){
-		TextCtrlPathDoxygen->SetValue(sPathDoxygen);
-    }
-}
-
-/*! \brief The doxywizard path browse button was clicked.
- *
- * \param 	event	wxCommandEvent&	A wxCommandEvent object.
- *
- */
+{
+	wxString sPathDoxygen = GetApplicationPath();
+    if(!sPathDoxygen.empty()){
+		TextCtrlPathDoxygen->SetValue(sPathDoxygen);
+    }
+}
+
+/*! \brief The doxywizard path browse button was clicked.
+ *
+ * \param 	event	wxCommandEvent&	A wxCommandEvent object.
+ *
+ */
 void ConfigPanel::OnButtonBrowseDoxywizardClick(wxCommandEvent& WXUNUSED(event))
-{
-	wxString sPathDoxywizard = GetApplicationPath();
-    if(!sPathDoxywizard.empty()){
-		TextCtrlPathDoxywizard->SetValue(sPathDoxywizard);
-    }
-}
-
-/*! \brief The HHC path browse button was clicked.
- *
- * \param 	event	wxCommandEvent&	A wxCommandEvent object.
- *
- */
+{
+	wxString sPathDoxywizard = GetApplicationPath();
+    if(!sPathDoxywizard.empty()){
+		TextCtrlPathDoxywizard->SetValue(sPathDoxywizard);
+    }
+}
+
+/*! \brief The HHC path browse button was clicked.
+ *
+ * \param 	event	wxCommandEvent&	A wxCommandEvent object.
+ *
+ */
 void ConfigPanel::OnButtonBrowseHHCClick(wxCommandEvent& WXUNUSED(event))
-{
-	wxString sPathHHC = GetApplicationPath();
-    if(!sPathHHC.empty()){
-		TextCtrlPathHHC->SetValue(sPathHHC);
-    }
-}
-
-/*! \brief The Dot path browse button was clicked.
- *
- * \param 	event	wxCommandEvent&	A wxCommandEvent object.
- *
- */
+{
+	wxString sPathHHC = GetApplicationPath();
+    if(!sPathHHC.empty()){
+		TextCtrlPathHHC->SetValue(sPathHHC);
+    }
+}
+
+/*! \brief The Dot path browse button was clicked.
+ *
+ * \param 	event	wxCommandEvent&	A wxCommandEvent object.
+ *
+ */
 void ConfigPanel::OnButtonBrowseDotClick(wxCommandEvent& WXUNUSED(event))
+{
+	wxString sPathDot = GetApplicationPath();
+    if(!sPathDot.empty()){
+		TextCtrlPathDot->SetValue(sPathDot);
+    }
+}
+
+/*! \brief The CHM Viewer path browse button was clicked.
+ *
+ * \param 	event	wxCommandEvent&	A wxCommandEvent object.
+ *
+ */
+void ConfigPanel::OnButtonBrowseCHMViewerClick(wxCommandEvent& WXUNUSED(event))
 {
-	wxString sPathDot = GetApplicationPath();
-    if(!sPathDot.empty()){
-		TextCtrlPathDot->SetValue(sPathDot);
-    }
+	wxString sPathCHMViewer = GetApplicationPath();
+    if(!sPathCHMViewer.empty()){
+		TextCtrlPathCHMViewer->SetValue(sPathCHMViewer);
+    }
 }
-
-/*! \brief The CHM Viewer path browse button was clicked.
- *
- * \param 	event	wxCommandEvent&	A wxCommandEvent object.
- *
- */
-void ConfigPanel::OnButtonBrowseCHMViewerClick(wxCommandEvent& WXUNUSED(event))
-{
-	wxString sPathCHMViewer = GetApplicationPath();
-    if(!sPathCHMViewer.empty()){
-		TextCtrlPathCHMViewer->SetValue(sPathCHMViewer);
-    }
-}
-
-/*! \brief Display a file dialogue and return the selected path.
- *
- * \return 	wxString	The application path.
- *
- */
-wxString ConfigPanel::GetApplicationPath()
-{
-#ifdef __WXMSW__
-	// Windows executables.
-	wxString sAppFiles(_("Executable Files (*.exe)|*.exe"));
-#else
-	// Everyone else.
-	wxString sAppFiles(_("All Files (*.*)|*.*"));
-#endif
-	return wxFileSelector(_("Path to application file"), wxEmptyString, wxEmptyString, wxEmptyString, sAppFiles, wxFD_OPEN|wxFD_FILE_MUST_EXIST, this);
-}
-
-/*! \brief A block comment radio button was selected.
- *
- * \param 	event	wxCommandEvent&	A wxCommandEvent object.
- *
- */
-void ConfigPanel::OnRadioBoxBlockCommentsSelect(wxCommandEvent& event)
-{
-	// We can't clear or write while readonly is set. :-(
-	TextCtrlBlockComment->SetReadOnly(false);
-	TextCtrlBlockComment->ClearAll();
-	bool bUseAtInTags = CheckBoxUseAtInTags->IsChecked();
-	WriteBlockComment(TextCtrlBlockComment, event.GetSelection(), bUseAtInTags);
-	TextCtrlBlockComment->SetReadOnly(true);
-}
-
-/*! \brief A line comment radio button was selected.
- *
- * \param 	event	wxCommandEvent&	A wxCommandEvent object.
- *
- */
-void ConfigPanel::OnRadioBoxLineCommentsSelect(wxCommandEvent& event)
-{
-	// We can't clear or write while readonly is set. :-(
-	TextCtrlLineComment->SetReadOnly(false);
-	TextCtrlLineComment->ClearAll();
-	WriteLineComment(TextCtrlLineComment, event.GetSelection());
-	TextCtrlLineComment->SetReadOnly(true);
-}
-
-/*! \brief The Generate HTML check box was clicked. Enable or disable dependent checkboxes.
- *
- * \param 	event	wxCommandEvent&	A wxCommandEvent object.
- *
- */
-void ConfigPanel::OnCheckBoxGenerateHTMLClick(wxCommandEvent& event)
-{
-	if(event.IsChecked()){
-		CheckBoxGenerateHTMLHelp->Enable(true);
-		CheckBoxGenerateCHI->Enable(true);
-		CheckBoxBinaryTOC->Enable(true);
-	}
-	else{
-		CheckBoxGenerateHTMLHelp->Enable(false);
-		CheckBoxGenerateCHI->Enable(false);
-		CheckBoxBinaryTOC->Enable(false);
-	}
-}
-
-/*! \brief The Overwrite Doxyfile check box was clicked. Enable or disable dependent checkboxes.
- *
- * \param 	event	wxCommandEvent&	A wxCommandEvent object.
- *
- */
-void ConfigPanel::OnCheckBoxOverwriteDoxyfileClick(wxCommandEvent& event)
-{
-	if(event.IsChecked()){
-		CheckBoxPromptBeforeOverwriting->Enable(true);
-	}
-	else{
-		CheckBoxPromptBeforeOverwriting->Enable(false);
-	}
-}
-
-/*! \brief The Warnings check box was clicked. Enable or disable dependent checkboxes.
- *
- * \param 	event	wxCommandEvent&	A wxCommandEvent object.
- *
- */
-void ConfigPanel::OnCheckBoxWarningsClick(wxCommandEvent& event)
-{
-	if(event.IsChecked()){
-		CheckBoxWarnIfDocError->Enable(true);
-		CheckBoxWarnIfUndocumented->Enable(true);
-		CheckBoxWarnNoParamdoc->Enable(true);
-	}
-	else{
-		CheckBoxWarnIfDocError->Enable(false);
-		CheckBoxWarnIfUndocumented->Enable(false);
-		CheckBoxWarnNoParamdoc->Enable(false);
-	}
-}
-
-/*! \brief The "Use AutoVersion" checkbox was clicked. Update the "Project Number" text control.
- *
- * \param 	event	wxCommandEvent&	A wxCommandEvent object.
- * \return 	void
- *
- * This function disables the "Project Number" text control if "Use AutoVersion" is selected.
- * This prevents manual entry but allows the detected version number to still be visible.
- */
+
+/*! \brief Display a file dialogue and return the selected path.
+ *
+ * \return 	wxString	The application path.
+ *
+ */
+wxString ConfigPanel::GetApplicationPath()
+{
+#ifdef __WXMSW__
+	// Windows executables.
+	wxString sAppFiles(_("Executable Files (*.exe)|*.exe"));
+#else
+	// Everyone else.
+	wxString sAppFiles(_("All Files (*.*)|*.*"));
+#endif
+	return wxFileSelector(_("Path to application file"), wxEmptyString, wxEmptyString, wxEmptyString, sAppFiles, wxFD_OPEN|wxFD_FILE_MUST_EXIST, this);
+}
+
+/*! \brief A block comment radio button was selected.
+ *
+ * \param 	event	wxCommandEvent&	A wxCommandEvent object.
+ *
+ */
+void ConfigPanel::OnRadioBoxBlockCommentsSelect(wxCommandEvent& event)
+{
+	// We can't clear or write while readonly is set. :-(
+	TextCtrlBlockComment->SetReadOnly(false);
+	TextCtrlBlockComment->ClearAll();
+	bool bUseAtInTags = CheckBoxUseAtInTags->IsChecked();
+	WriteBlockComment(TextCtrlBlockComment, event.GetSelection(), bUseAtInTags);
+	TextCtrlBlockComment->SetReadOnly(true);
+}
+
+/*! \brief A line comment radio button was selected.
+ *
+ * \param 	event	wxCommandEvent&	A wxCommandEvent object.
+ *
+ */
+void ConfigPanel::OnRadioBoxLineCommentsSelect(wxCommandEvent& event)
+{
+	// We can't clear or write while readonly is set. :-(
+	TextCtrlLineComment->SetReadOnly(false);
+	TextCtrlLineComment->ClearAll();
+	WriteLineComment(TextCtrlLineComment, event.GetSelection());
+	TextCtrlLineComment->SetReadOnly(true);
+}
+
+/*! \brief The Generate HTML check box was clicked. Enable or disable dependent checkboxes.
+ *
+ * \param 	event	wxCommandEvent&	A wxCommandEvent object.
+ *
+ */
+void ConfigPanel::OnCheckBoxGenerateHTMLClick(wxCommandEvent& event)
+{
+	if(event.IsChecked()){
+		CheckBoxGenerateHTMLHelp->Enable(true);
+		CheckBoxGenerateCHI->Enable(true);
+		CheckBoxBinaryTOC->Enable(true);
+	}
+	else{
+		CheckBoxGenerateHTMLHelp->Enable(false);
+		CheckBoxGenerateCHI->Enable(false);
+		CheckBoxBinaryTOC->Enable(false);
+	}
+}
+
+/*! \brief The Overwrite Doxyfile check box was clicked. Enable or disable dependent checkboxes.
+ *
+ * \param 	event	wxCommandEvent&	A wxCommandEvent object.
+ *
+ */
+void ConfigPanel::OnCheckBoxOverwriteDoxyfileClick(wxCommandEvent& event)
+{
+	if(event.IsChecked()){
+		CheckBoxPromptBeforeOverwriting->Enable(true);
+	}
+	else{
+		CheckBoxPromptBeforeOverwriting->Enable(false);
+	}
+}
+
+/*! \brief The Warnings check box was clicked. Enable or disable dependent checkboxes.
+ *
+ * \param 	event	wxCommandEvent&	A wxCommandEvent object.
+ *
+ */
+void ConfigPanel::OnCheckBoxWarningsClick(wxCommandEvent& event)
+{
+	if(event.IsChecked()){
+		CheckBoxWarnIfDocError->Enable(true);
+		CheckBoxWarnIfUndocumented->Enable(true);
+		CheckBoxWarnNoParamdoc->Enable(true);
+	}
+	else{
+		CheckBoxWarnIfDocError->Enable(false);
+		CheckBoxWarnIfUndocumented->Enable(false);
+		CheckBoxWarnNoParamdoc->Enable(false);
+	}
+}
+
+/*! \brief The "Use AutoVersion" checkbox was clicked. Update the "Project Number" text control.
+ *
+ * \param 	event	wxCommandEvent&	A wxCommandEvent object.
+ * \return 	void
+ *
+ * This function disables the "Project Number" text control if "Use AutoVersion" is selected.
+ * This prevents manual entry but allows the detected version number to still be visible.
+ */
 void ConfigPanel::OnCheckBoxUseAutoversionClick(wxCommandEvent& event)
 {
-	if(event.IsChecked()){
-		TextCtrlProjectNumber->Enable(false);
-	}
-	else{
-		TextCtrlProjectNumber->Enable(true);
-	}
+	if(event.IsChecked()){
+		TextCtrlProjectNumber->Enable(false);
+	}
+	else{
+		TextCtrlProjectNumber->Enable(true);
+	}
 }
 
-/*! \brief The "Use @ In Tags" checkbox was clicked. Refresh the block comment sample with the new tag.
- *
- * \param 	event	wxCommandEvent&	A wxCommandEvent object.
- * \return 	void
- *
- */
+/*! \brief The "Use @ In Tags" checkbox was clicked. Refresh the block comment sample with the new tag.
+ *
+ * \param 	event	wxCommandEvent&	A wxCommandEvent object.
+ * \return 	void
+ *
+ */
 void ConfigPanel::OnCheckBoxUseAtInTagsClick(wxCommandEvent& WXUNUSED(event))
-{
-	bool bUseAltInTags = CheckBoxUseAtInTags->IsChecked();
-	int iBlockComment = RadioBoxBlockComments->GetSelection();
-	// We can't clear or write while readonly is set. :-(
-	TextCtrlBlockComment->SetReadOnly(false);
-	TextCtrlBlockComment->ClearAll();
+{
+	bool bUseAltInTags = CheckBoxUseAtInTags->IsChecked();
+	int iBlockComment = RadioBoxBlockComments->GetSelection();
+	// We can't clear or write while readonly is set. :-(
+	TextCtrlBlockComment->SetReadOnly(false);
+	TextCtrlBlockComment->ClearAll();
 	WriteBlockComment(TextCtrlBlockComment, iBlockComment, bUseAltInTags);
-	TextCtrlBlockComment->SetReadOnly(true);
+	TextCtrlBlockComment->SetReadOnly(true);
 }
-
+
Index: src/plugins/contrib/DoxyBlocks/DoxyBlocks.cbp
===================================================================
--- src/plugins/contrib/DoxyBlocks/DoxyBlocks.cbp	(revision 7025)
+++ src/plugins/contrib/DoxyBlocks/DoxyBlocks.cbp	(working copy)
@@ -106,7 +106,7 @@
 			</AutoVersioning>
 			<DoxyBlocks>
 				<comment_style block="3" line="1" />
-				<doxyfile_project project_number="1.6.614" use_auto_version="1" />
+				<doxyfile_project project_number="1.7.655" use_auto_version="1" />
 				<doxyfile_build extract_private="1" extract_static="1" />
 				<doxyfile_warnings warn_if_undocumented="1" />
 				<doxyfile_output html_help="1" />
Index: src/plugins/contrib/DoxyBlocks/DoxyBlocks.h
===================================================================
--- src/plugins/contrib/DoxyBlocks/DoxyBlocks.h	(revision 7025)
+++ src/plugins/contrib/DoxyBlocks/DoxyBlocks.h	(working copy)
@@ -234,7 +234,7 @@
  *
  *
  * \author 	Gary Harris.
- * \date    	2 February, 2011
+ * \date    	6 February, 2011
  *
  * \section intro Introduction
  * DoxyBlocks is a plugin for Code::Blocks that integrates doxygen into the IDE. It allows you to create documentation, insert comment blocks and run HTML or CHM documents.
@@ -255,13 +255,17 @@
  * \li Thanks for your contribution.
  *
  * \section comments Comments & Feedback
- * Your input is welcome. Please direct all comments, suggestions and feedback to the Code::Blocks forum thread at: http://forums.codeblocks.org/index.php/topic,12052.
+ * Your input is welcomed. Please direct all comments, suggestions and feedback to the Code::Blocks forum thread at: http://forums.codeblocks.org/index.php/topic,12052.
  *
  * \section changes Changes
- * \li Updated:	doxygen support to v1.7.3.
+ * \li Fixed:	Hard coded doxygen directory name.
+ * \li Updated:	Directory creation code.
  *
  *
  * \section history History
+ * Version 1.6.614 - 2 Feb 2011.
+ * \li Updated:	doxygen support to v1.7.3.
+ *
  * Version 1.6.606 - 12 July 2010.
  * \li Fixed:	Fixed some additional inclusions and other minor factors for contrib inclusion.
  *
Index: src/plugins/contrib/DoxyBlocks/doxyblocks.mo
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: src/plugins/contrib/DoxyBlocks/doxyblocks.po
===================================================================
--- src/plugins/contrib/DoxyBlocks/doxyblocks.po	(revision 7025)
+++ src/plugins/contrib/DoxyBlocks/doxyblocks.po	(working copy)
@@ -2,7 +2,7 @@
 msgstr ""
 "Project-Id-Version: DoxyBlocks\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-17 11:52-0600\n"
+"POT-Creation-Date: 2010-07-12 19:25-0600\n"
 "PO-Revision-Date: \n"
 "Last-Translator: Gary Harris <garyjharris@sourceforge.com>\n"
 "Language-Team: \n"
@@ -22,86 +22,86 @@
 msgid "Writing line comment..."
 msgstr ""
 
-#: ConfigPanel.cpp:154
-#: ConfigPanel.cpp:176
+#: ConfigPanel.cpp:172
+#: ConfigPanel.cpp:194
 msgid "C/JavaDoc"
 msgstr ""
 
-#: ConfigPanel.cpp:155
-#: ConfigPanel.cpp:177
+#: ConfigPanel.cpp:173
+#: ConfigPanel.cpp:195
 msgid "C++ Exclamation"
 msgstr ""
 
-#: ConfigPanel.cpp:156
-#: ConfigPanel.cpp:178
+#: ConfigPanel.cpp:174
+#: ConfigPanel.cpp:196
 msgid "C++ Slash"
 msgstr ""
 
-#: ConfigPanel.cpp:157
-#: ConfigPanel.cpp:179
+#: ConfigPanel.cpp:175
+#: ConfigPanel.cpp:197
 msgid "Qt"
 msgstr ""
 
-#: ConfigPanel.cpp:158
+#: ConfigPanel.cpp:176
 msgid "Visible C Style"
 msgstr ""
 
-#: ConfigPanel.cpp:159
+#: ConfigPanel.cpp:177
 msgid "Visible C++ Style"
 msgstr ""
 
-#: ConfigPanel.cpp:161
+#: ConfigPanel.cpp:179
 msgid "Block Comment Style"
 msgstr ""
 
-#: ConfigPanel.cpp:162
+#: ConfigPanel.cpp:180
 msgid "Select your preferred block comment style."
 msgstr ""
 
-#: ConfigPanel.cpp:164
+#: ConfigPanel.cpp:182
 msgid "Block Comment Sample"
 msgstr ""
 
-#: ConfigPanel.cpp:166
+#: ConfigPanel.cpp:184
 msgid "Sample code using the selected block comment style."
 msgstr ""
 
-#: ConfigPanel.cpp:181
+#: ConfigPanel.cpp:199
 msgid "Line Comment Style"
 msgstr ""
 
-#: ConfigPanel.cpp:182
+#: ConfigPanel.cpp:200
 msgid "Select your preferred line comment style."
 msgstr ""
 
-#: ConfigPanel.cpp:184
+#: ConfigPanel.cpp:202
 msgid "Line Comment Sample"
 msgstr ""
 
-#: ConfigPanel.cpp:186
+#: ConfigPanel.cpp:204
 msgid "Sample code using the selected line comment style."
 msgstr ""
 
-#: ConfigPanel.cpp:198
+#: ConfigPanel.cpp:216
 msgid "Project"
 msgstr ""
 
-#: ConfigPanel.cpp:200
+#: ConfigPanel.cpp:218
 msgid "PROJECT_NUMBER"
 msgstr ""
 
-#: ConfigPanel.cpp:203
+#: ConfigPanel.cpp:221
 msgid ""
 "The PROJECT_NUMBER tag can be used to enter a project or revision number.\n"
 "This could be handy for archiving the generated documentation or\n"
 "if some version control system is used."
 msgstr ""
 
-#: ConfigPanel.cpp:205
+#: ConfigPanel.cpp:223
 msgid "Use AutoVersion"
 msgstr ""
 
-#: ConfigPanel.cpp:208
+#: ConfigPanel.cpp:226
 msgid ""
 "Use the version number provided by the Autoversion plug-in.\n"
 "If this option is selected, DoxyBlocks will extract the version number\n"
@@ -110,11 +110,11 @@
 "This option is disabled if Autoversioning is not enabled for the project."
 msgstr ""
 
-#: ConfigPanel.cpp:212
+#: ConfigPanel.cpp:230
 msgid "OUTPUT_DIRECTORY"
 msgstr ""
 
-#: ConfigPanel.cpp:215
+#: ConfigPanel.cpp:233
 msgid ""
 "The OUTPUT_DIRECTORY tag is used to specify the (relative or\n"
 "absolute) base path where the generated documentation will be put.\n"
@@ -122,176 +122,181 @@
 "where doxygen was started. If left blank the current directory will be used.\n"
 "\n"
 "DoxyBlocks will use the path name entered here to create a directory\n"
-"relative to <project dir>/doxygen. This allows you to\n"
-"create separate doxygen directories for projects that reside in the\n"
-"same directory, or just use a different directory name. If this field\n"
-"is blank, documents will be created in <project dir>/doxygen.\n"
-"You can enter a directory name without separators, etc.\n"
-"DoxyBlocks does validation on the path name and will strip dots,\n"
-"slashes, etc."
+"relative to <project dir>. This allows you to create separate doxygen\n"
+"directories for projects that reside in the same directory, or just use a\n"
+"different directory name. If this field is blank, documents will be created\n"
+"in <project dir>/doxygen. Enter directory names without dots, \n"
+"leading separators, volume names, etc. DoxyBlocks does validation on\n"
+"the path name and will strip extraneous characters.\n"
+"\n"
+"Examples:\n"
+"[blank]                     -> <project dir>/doxygen.\n"
+"\"docs\"                      -> <project dir>/docs.\n"
+"\"docs/sub1/sub2\"  -> <project dir>/docs/sub1/sub2.\n"
+"\"doxygen/docs\"     -> <project dir>/doxygen/docs.\n"
 msgstr ""
 
-#: ConfigPanel.cpp:219
+#: ConfigPanel.cpp:237
 msgid "OUTPUT_LANGUAGE"
 msgstr ""
 
-#: ConfigPanel.cpp:222
+#: ConfigPanel.cpp:240
 msgid "Afrikaans"
 msgstr ""
 
-#: ConfigPanel.cpp:223
+#: ConfigPanel.cpp:241
 msgid "Arabic"
 msgstr ""
 
-#: ConfigPanel.cpp:224
+#: ConfigPanel.cpp:242
 msgid "Brazilian"
 msgstr ""
 
-#: ConfigPanel.cpp:225
+#: ConfigPanel.cpp:243
 msgid "Catalan"
 msgstr ""
 
-#: ConfigPanel.cpp:226
+#: ConfigPanel.cpp:244
 msgid "Chinese"
 msgstr ""
 
-#: ConfigPanel.cpp:227
+#: ConfigPanel.cpp:245
 msgid "Chinese-Traditional"
 msgstr ""
 
-#: ConfigPanel.cpp:228
+#: ConfigPanel.cpp:246
 msgid "Croatian"
 msgstr ""
 
-#: ConfigPanel.cpp:229
+#: ConfigPanel.cpp:247
 msgid "Czech"
 msgstr ""
 
-#: ConfigPanel.cpp:230
+#: ConfigPanel.cpp:248
 msgid "Danish"
 msgstr ""
 
-#: ConfigPanel.cpp:231
+#: ConfigPanel.cpp:249
 msgid "Dutch"
 msgstr ""
 
-#: ConfigPanel.cpp:232
+#: ConfigPanel.cpp:250
 msgid "English"
 msgstr ""
 
-#: ConfigPanel.cpp:233
+#: ConfigPanel.cpp:251
 msgid "Esperanto"
 msgstr ""
 
-#: ConfigPanel.cpp:234
+#: ConfigPanel.cpp:252
 msgid "Farsi"
 msgstr ""
 
-#: ConfigPanel.cpp:235
+#: ConfigPanel.cpp:253
 msgid "Finnish"
 msgstr ""
 
-#: ConfigPanel.cpp:236
+#: ConfigPanel.cpp:254
 msgid "French"
 msgstr ""
 
-#: ConfigPanel.cpp:237
+#: ConfigPanel.cpp:255
 msgid "German"
 msgstr ""
 
-#: ConfigPanel.cpp:238
+#: ConfigPanel.cpp:256
 msgid "Greek"
 msgstr ""
 
-#: ConfigPanel.cpp:239
+#: ConfigPanel.cpp:257
 msgid "Hungarian"
 msgstr ""
 
-#: ConfigPanel.cpp:240
+#: ConfigPanel.cpp:258
 msgid "Italian"
 msgstr ""
 
-#: ConfigPanel.cpp:241
+#: ConfigPanel.cpp:259
 msgid "Japanese"
 msgstr ""
 
-#: ConfigPanel.cpp:242
+#: ConfigPanel.cpp:260
 msgid "Japanese-en"
 msgstr ""
 
-#: ConfigPanel.cpp:243
+#: ConfigPanel.cpp:261
 msgid "Korean"
 msgstr ""
 
-#: ConfigPanel.cpp:244
+#: ConfigPanel.cpp:262
 msgid "Korean-en"
 msgstr ""
 
-#: ConfigPanel.cpp:245
+#: ConfigPanel.cpp:263
 msgid "Lithuanian"
 msgstr ""
 
-#: ConfigPanel.cpp:246
+#: ConfigPanel.cpp:264
 msgid "Norwegian"
 msgstr ""
 
-#: ConfigPanel.cpp:247
+#: ConfigPanel.cpp:265
 msgid "Macedonian"
 msgstr ""
 
-#: ConfigPanel.cpp:248
+#: ConfigPanel.cpp:266
 msgid "Persian"
 msgstr ""
 
-#: ConfigPanel.cpp:249
+#: ConfigPanel.cpp:267
 msgid "Polish"
 msgstr ""
 
-#: ConfigPanel.cpp:250
+#: ConfigPanel.cpp:268
 msgid "Portuguese"
 msgstr ""
 
-#: ConfigPanel.cpp:251
+#: ConfigPanel.cpp:269
 msgid "Romanian"
 msgstr ""
 
-#: ConfigPanel.cpp:252
+#: ConfigPanel.cpp:270
 msgid "Russian"
 msgstr ""
 
-#: ConfigPanel.cpp:253
+#: ConfigPanel.cpp:271
 msgid "Serbian"
 msgstr ""
 
-#: ConfigPanel.cpp:254
+#: ConfigPanel.cpp:272
 msgid "Serbian-Cyrilic"
 msgstr ""
 
-#: ConfigPanel.cpp:255
+#: ConfigPanel.cpp:273
 msgid "Slovak,"
 msgstr ""
 
-#: ConfigPanel.cpp:256
+#: ConfigPanel.cpp:274
 msgid "Slovene"
 msgstr ""
 
-#: ConfigPanel.cpp:257
+#: ConfigPanel.cpp:275
 msgid "Spanish"
 msgstr ""
 
-#: ConfigPanel.cpp:258
+#: ConfigPanel.cpp:276
 msgid "Swedish"
 msgstr ""
 
-#: ConfigPanel.cpp:259
+#: ConfigPanel.cpp:277
 msgid "Ukrainian"
 msgstr ""
 
-#: ConfigPanel.cpp:260
+#: ConfigPanel.cpp:278
 msgid "Vietnamese"
 msgstr ""
 
-#: ConfigPanel.cpp:261
+#: ConfigPanel.cpp:279
 msgid ""
 "The OUTPUT_LANGUAGE tag is used to specify the language in which all\n"
 "documentation generated by doxygen is written. Doxygen will use this\n"
@@ -305,15 +310,15 @@
 "Slovene, Spanish, Swedish, Ukrainian, and Vietnamese."
 msgstr ""
 
-#: ConfigPanel.cpp:265
+#: ConfigPanel.cpp:283
 msgid "Build"
 msgstr ""
 
-#: ConfigPanel.cpp:266
+#: ConfigPanel.cpp:284
 msgid "EXTRACT_ALL"
 msgstr ""
 
-#: ConfigPanel.cpp:268
+#: ConfigPanel.cpp:286
 msgid ""
 "If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in\n"
 "documentation are documented, even if no documentation was available.\n"
@@ -321,45 +326,45 @@
 "the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES"
 msgstr ""
 
-#: ConfigPanel.cpp:270
+#: ConfigPanel.cpp:288
 msgid "EXTRACT_PRIVATE"
 msgstr ""
 
-#: ConfigPanel.cpp:272
+#: ConfigPanel.cpp:290
 msgid ""
 "If the EXTRACT_PRIVATE tag is set to YES all private members of a\n"
 "class will be included in the documentation."
 msgstr ""
 
-#: ConfigPanel.cpp:274
+#: ConfigPanel.cpp:292
 msgid "EXTRACT_STATIC"
 msgstr ""
 
-#: ConfigPanel.cpp:276
+#: ConfigPanel.cpp:294
 msgid ""
 "If the EXTRACT_STATIC tag is set to YES all static members of a file\n"
 "will be included in the documentation.\n"
 msgstr ""
 
-#: ConfigPanel.cpp:279
+#: ConfigPanel.cpp:297
 msgid "Warnings"
 msgstr ""
 
-#: ConfigPanel.cpp:280
+#: ConfigPanel.cpp:298
 msgid "WARNINGS"
 msgstr ""
 
-#: ConfigPanel.cpp:282
+#: ConfigPanel.cpp:300
 msgid ""
 "The WARNINGS tag can be used to turn on/off the warning messages that are\n"
 "generated by doxygen. "
 msgstr ""
 
-#: ConfigPanel.cpp:285
+#: ConfigPanel.cpp:303
 msgid "WARN_IF_DOC_ERROR"
 msgstr ""
 
-#: ConfigPanel.cpp:287
+#: ConfigPanel.cpp:305
 msgid ""
 "If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for\n"
 "potential errors in the documentation, such as not documenting some\n"
@@ -367,22 +372,22 @@
 "don't exist or using markup commands wrongly."
 msgstr ""
 
-#: ConfigPanel.cpp:289
+#: ConfigPanel.cpp:307
 msgid "WARN_IF_UNDOCUMENTED"
 msgstr ""
 
-#: ConfigPanel.cpp:291
+#: ConfigPanel.cpp:309
 msgid ""
 "If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings\n"
 "for undocumented members. If EXTRACT_ALL is set to YES then this flag will\n"
 "automatically be disabled."
 msgstr ""
 
-#: ConfigPanel.cpp:293
+#: ConfigPanel.cpp:311
 msgid "WARN_NO_PARAMDOC"
 msgstr ""
 
-#: ConfigPanel.cpp:295
+#: ConfigPanel.cpp:313
 msgid ""
 "This WARN_NO_PARAMDOC option can be abled to get warnings for\n"
 "functions that are documented, but have no documentation for their parameters\n"
@@ -391,40 +396,40 @@
 "documentation."
 msgstr ""
 
-#: ConfigPanel.cpp:299
+#: ConfigPanel.cpp:317
 msgid " Alphabetical Class Index"
 msgstr ""
 
-#: ConfigPanel.cpp:300
+#: ConfigPanel.cpp:318
 msgid "ALPHABETICAL_INDEX"
 msgstr ""
 
-#: ConfigPanel.cpp:302
+#: ConfigPanel.cpp:320
 msgid ""
 "If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index\n"
 "of all compounds will be generated. Enable this if the project\n"
 "contains a lot of classes, structs, unions or interfaces.\n"
 msgstr ""
 
-#: ConfigPanel.cpp:310
+#: ConfigPanel.cpp:328
 msgid "Output"
 msgstr ""
 
-#: ConfigPanel.cpp:312
+#: ConfigPanel.cpp:330
 msgid "GENERATE_HTML"
 msgstr ""
 
-#: ConfigPanel.cpp:314
+#: ConfigPanel.cpp:332
 msgid ""
 "If the GENERATE_HTML tag is set to YES (the default) Doxygen will\n"
 "generate HTML output.\n"
 msgstr ""
 
-#: ConfigPanel.cpp:317
+#: ConfigPanel.cpp:335
 msgid "GENERATE_HTMLHELP"
 msgstr ""
 
-#: ConfigPanel.cpp:319
+#: ConfigPanel.cpp:337
 msgid ""
 "If the GENERATE_HTMLHELP tag is set to YES, additional index files\n"
 "will be generated that can be used as input for tools like the\n"
@@ -432,75 +437,75 @@
 "of the generated HTML documentation."
 msgstr ""
 
-#: ConfigPanel.cpp:321
+#: ConfigPanel.cpp:339
 msgid "GENERATE_CHI"
 msgstr ""
 
-#: ConfigPanel.cpp:323
+#: ConfigPanel.cpp:341
 msgid ""
 "If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag\n"
 "controls if a separate .chi index file is generated (YES) or that\n"
 "it should be included in the master .chm file (NO)."
 msgstr ""
 
-#: ConfigPanel.cpp:325
+#: ConfigPanel.cpp:343
 msgid "BINARY_TOC"
 msgstr ""
 
-#: ConfigPanel.cpp:327
+#: ConfigPanel.cpp:345
 msgid ""
 "If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag\n"
 "controls whether a binary table of contents is generated (YES) or a\n"
 "normal table of contents (NO) in the .chm file."
 msgstr ""
 
-#: ConfigPanel.cpp:332
+#: ConfigPanel.cpp:350
 msgid "GENERATE_LATEX"
 msgstr ""
 
-#: ConfigPanel.cpp:334
+#: ConfigPanel.cpp:352
 msgid ""
 "If the GENERATE_LATEX tag is set to YES (the default) Doxygen will\n"
 "generate Latex output.\n"
 msgstr ""
 
-#: ConfigPanel.cpp:336
+#: ConfigPanel.cpp:354
 msgid "GENERATE_RTF"
 msgstr ""
 
-#: ConfigPanel.cpp:338
+#: ConfigPanel.cpp:356
 msgid ""
 "If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output\n"
 "The RTF output is optimized for Word 97 and may not look very pretty with\n"
 "other RTF readers or editors."
 msgstr ""
 
-#: ConfigPanel.cpp:340
+#: ConfigPanel.cpp:358
 msgid "GENERATE_MAN"
 msgstr ""
 
-#: ConfigPanel.cpp:342
+#: ConfigPanel.cpp:360
 msgid ""
 "If the GENERATE_MAN tag is set to YES (the default) Doxygen will\n"
 "generate man pages"
 msgstr ""
 
-#: ConfigPanel.cpp:346
+#: ConfigPanel.cpp:364
 msgid "GENERATE_XML"
 msgstr ""
 
-#: ConfigPanel.cpp:348
+#: ConfigPanel.cpp:366
 msgid ""
 "If the GENERATE_XML tag is set to YES Doxygen will\n"
 "generate an XML file that captures the structure of\n"
 "the code including all documentation."
 msgstr ""
 
-#: ConfigPanel.cpp:350
+#: ConfigPanel.cpp:368
 msgid "GENERATE_AUTOGEN_DEF"
 msgstr ""
 
-#: ConfigPanel.cpp:352
+#: ConfigPanel.cpp:370
 msgid ""
 "If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will\n"
 "generate an AutoGen Definitions (see autogen.sf.net) file\n"
@@ -509,11 +514,11 @@
 "and incomplete at the moment.\n"
 msgstr ""
 
-#: ConfigPanel.cpp:354
+#: ConfigPanel.cpp:372
 msgid "GENERATE_PERLMOD"
 msgstr ""
 
-#: ConfigPanel.cpp:356
+#: ConfigPanel.cpp:374
 msgid ""
 "If the GENERATE_PERLMOD tag is set to YES Doxygen will\n"
 "generate a Perl module file that captures the structure of\n"
@@ -522,30 +527,30 @@
 "moment."
 msgstr ""
 
-#: ConfigPanel.cpp:360
+#: ConfigPanel.cpp:378
 msgid "Pre-processor"
 msgstr ""
 
-#: ConfigPanel.cpp:361
+#: ConfigPanel.cpp:379
 msgid "ENABLE_PREPROCESSING"
 msgstr ""
 
-#: ConfigPanel.cpp:363
+#: ConfigPanel.cpp:381
 msgid ""
 "If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will\n"
 "evaluate all C-preprocessor directives found in the sources and include\n"
 "files."
 msgstr ""
 
-#: ConfigPanel.cpp:366
+#: ConfigPanel.cpp:384
 msgid "Dot"
 msgstr ""
 
-#: ConfigPanel.cpp:367
+#: ConfigPanel.cpp:385
 msgid "CLASS_DIAGRAMS"
 msgstr ""
 
-#: ConfigPanel.cpp:369
+#: ConfigPanel.cpp:387
 msgid ""
 "If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will\n"
 "generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base\n"
@@ -555,11 +560,11 @@
 "powerful graphs."
 msgstr ""
 
-#: ConfigPanel.cpp:371
+#: ConfigPanel.cpp:389
 msgid "HAVE_DOT"
 msgstr ""
 
-#: ConfigPanel.cpp:373
+#: ConfigPanel.cpp:391
 msgid ""
 "If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is\n"
 "available from the path. This tool is part of Graphviz, a graph visualization\n"
@@ -567,15 +572,15 @@
 "have no effect if this option is set to NO (the default)"
 msgstr ""
 
-#: ConfigPanel.cpp:381
+#: ConfigPanel.cpp:399
 msgid "Paths"
 msgstr ""
 
-#: ConfigPanel.cpp:383
+#: ConfigPanel.cpp:401
 msgid "Path To doxygen"
 msgstr ""
 
-#: ConfigPanel.cpp:386
+#: ConfigPanel.cpp:404
 msgid ""
 "The path to the doxygen executable file.\n"
 "If this field is blank, DoxyBlocks will assume that doxygen\n"
@@ -584,23 +589,23 @@
 "and they will be expanded automatically."
 msgstr ""
 
-#: ConfigPanel.cpp:388
-#: ConfigPanel.cpp:398
-#: ConfigPanel.cpp:408
-#: ConfigPanel.cpp:418
-#: ConfigPanel.cpp:428
+#: ConfigPanel.cpp:406
+#: ConfigPanel.cpp:416
+#: ConfigPanel.cpp:426
+#: ConfigPanel.cpp:436
+#: ConfigPanel.cpp:446
 msgid "Browse"
 msgstr ""
 
-#: ConfigPanel.cpp:389
+#: ConfigPanel.cpp:407
 msgid "Browse for doxygen."
 msgstr ""
 
-#: ConfigPanel.cpp:393
+#: ConfigPanel.cpp:411
 msgid "Path To doxywizard"
 msgstr ""
 
-#: ConfigPanel.cpp:396
+#: ConfigPanel.cpp:414
 msgid ""
 "The path to the doxywizard executable file.\n"
 "If this field is blank, DoxyBlocks will assume that doxywizard\n"
@@ -609,15 +614,15 @@
 "and they will be expanded automatically."
 msgstr ""
 
-#: ConfigPanel.cpp:399
+#: ConfigPanel.cpp:417
 msgid "Browse for doxywizard."
 msgstr ""
 
-#: ConfigPanel.cpp:403
+#: ConfigPanel.cpp:421
 msgid "Path To HHC"
 msgstr ""
 
-#: ConfigPanel.cpp:406
+#: ConfigPanel.cpp:424
 msgid ""
 "The path to the HTML Help Compiler executable file.\n"
 "If this field is blank, DoxyBlocks will assume that HHC\n"
@@ -626,15 +631,15 @@
 "and they will be expanded automatically."
 msgstr ""
 
-#: ConfigPanel.cpp:409
+#: ConfigPanel.cpp:427
 msgid "Browse for HHC."
 msgstr ""
 
-#: ConfigPanel.cpp:413
+#: ConfigPanel.cpp:431
 msgid "Path To Dot"
 msgstr ""
 
-#: ConfigPanel.cpp:416
+#: ConfigPanel.cpp:434
 msgid ""
 "The path to the dot executable file.\n"
 "If this field is blank, DoxyBlocks will assume that dot\n"
@@ -643,15 +648,15 @@
 "and they will be expanded automatically."
 msgstr ""
 
-#: ConfigPanel.cpp:419
+#: ConfigPanel.cpp:437
 msgid "Browse for Dot."
 msgstr ""
 
-#: ConfigPanel.cpp:423
+#: ConfigPanel.cpp:441
 msgid "Path To CHM Viewer"
 msgstr ""
 
-#: ConfigPanel.cpp:426
+#: ConfigPanel.cpp:444
 msgid ""
 "The path to the CHM viewer executable file.\n"
 "On Windows, if this field is blank, DoxyBlocks will use\n"
@@ -663,19 +668,19 @@
 "and they will be expanded automatically."
 msgstr ""
 
-#: ConfigPanel.cpp:429
+#: ConfigPanel.cpp:447
 msgid "Browse for a CHM viewer."
 msgstr ""
 
-#: ConfigPanel.cpp:433
+#: ConfigPanel.cpp:451
 msgid "General Options"
 msgstr ""
 
-#: ConfigPanel.cpp:434
+#: ConfigPanel.cpp:453
 msgid "Overwrite Doxyfile"
 msgstr ""
 
-#: ConfigPanel.cpp:436
+#: ConfigPanel.cpp:455
 msgid ""
 "Allow DoxyBlocks to overwrite the doxyfile.\n"
 "By default, if a doxyfile already exists it is not overwritten to protect\n"
@@ -684,37 +689,45 @@
 "an existing doxyfile."
 msgstr ""
 
-#: ConfigPanel.cpp:438
+#: ConfigPanel.cpp:457
 msgid "Prompt Before Overwriting"
 msgstr ""
 
-#: ConfigPanel.cpp:440
+#: ConfigPanel.cpp:459
 msgid ""
 "Prompt before overwriting an existing doxyfile.\n"
 "When used in conjunction with \"Overwrite doxyfile\" this setting forces\n"
 "DoxyBlocks to prompt you before overwriting an existing doxyfile."
 msgstr ""
 
-#: ConfigPanel.cpp:442
+#: ConfigPanel.cpp:461
 msgid "Use \"@\" In Tags"
 msgstr ""
 
-#: ConfigPanel.cpp:444
+#: ConfigPanel.cpp:463
 msgid ""
 "Use \"@\" in document tags instead of \"\\\".\n"
 "This option causes DoxyBlocks to create document tags like\n"
 "\"@brief\" and \"@param\" rather than \"\\brief\" and \"\\param\"."
 msgstr ""
 
-#: ConfigPanel.cpp:447
+#: ConfigPanel.cpp:467
+msgid "Load Settings Template If No Saved Settings Exist"
+msgstr ""
+
+#: ConfigPanel.cpp:469
+msgid "This option allows you to use your preferred settings as the default settings by loading a previously saved settings template, if one exists, rather than using the system default settings when loading a project that doesn't contain saved DoxyBlocks settings. DoxyBlocks falls back to the default settings if a template is not found."
+msgstr ""
+
+#: ConfigPanel.cpp:473
 msgid "HTML"
 msgstr ""
 
-#: ConfigPanel.cpp:448
+#: ConfigPanel.cpp:474
 msgid "Use Internal Viewer"
 msgstr ""
 
-#: ConfigPanel.cpp:450
+#: ConfigPanel.cpp:476
 msgid ""
 "Use the internal viewer to view HTML docs.\n"
 "If this option is not set DoxyBlocks will use the system's default\n"
@@ -722,11 +735,11 @@
 "This setting has no effect if GENERATE_HTML is not set."
 msgstr ""
 
-#: ConfigPanel.cpp:452
+#: ConfigPanel.cpp:478
 msgid "Run HTML After Compilation"
 msgstr ""
 
-#: ConfigPanel.cpp:454
+#: ConfigPanel.cpp:480
 msgid ""
 "Run the HTML docs after compilation.\n"
 "If \"Use Internal Viewer\" is set DoxyBlocks will use Code::Blocks' internal\n"
@@ -734,11 +747,11 @@
 "This setting has no effect if GENERATE_HTML is not set."
 msgstr ""
 
-#: ConfigPanel.cpp:456
+#: ConfigPanel.cpp:482
 msgid "Run CHM After Compilation"
 msgstr ""
 
-#: ConfigPanel.cpp:458
+#: ConfigPanel.cpp:484
 msgid ""
 "Run the compiled help after it's compiled.\n"
 "This setting currently only has effect on Windows.\n"
@@ -746,357 +759,358 @@
 "This setting has no effect if GENERATE_HTML is not set."
 msgstr ""
 
-#: ConfigPanel.cpp:464
+#: ConfigPanel.cpp:490
 msgid "Comment Style"
 msgstr ""
 
-#: ConfigPanel.cpp:465
+#: ConfigPanel.cpp:491
 msgid "Doxyfile Defaults"
 msgstr ""
 
-#: ConfigPanel.cpp:466
+#: ConfigPanel.cpp:492
 msgid "Doxyfile Defaults 2"
 msgstr ""
 
-#: ConfigPanel.cpp:467
+#: ConfigPanel.cpp:493
 msgid "General"
 msgstr ""
 
-#: ConfigPanel.cpp:598
+#: ConfigPanel.cpp:624
 msgid "This is a brief description."
 msgstr ""
 
-#: ConfigPanel.cpp:599
+#: ConfigPanel.cpp:625
 msgid "The first parameter."
 msgstr ""
 
-#: ConfigPanel.cpp:600
+#: ConfigPanel.cpp:626
 msgid "The second parameter."
 msgstr ""
 
-#: ConfigPanel.cpp:601
-#: ConfigPanel.cpp:614
+#: ConfigPanel.cpp:627
+#: ConfigPanel.cpp:640
 msgid "Return value."
 msgstr ""
 
-#: ConfigPanel.cpp:602
+#: ConfigPanel.cpp:628
 msgid "This is a detailed description."
 msgstr ""
 
-#: ConfigPanel.cpp:689
+#: ConfigPanel.cpp:715
 msgid "This is an inline comment."
 msgstr ""
 
-#: ConfigPanel.cpp:837
+#: ConfigPanel.cpp:867
 msgid "Executable Files (*.exe)|*.exe"
 msgstr ""
 
-#: ConfigPanel.cpp:840
+#: ConfigPanel.cpp:870
 msgid "All Files (*.*)|*.*"
 msgstr ""
 
-#: ConfigPanel.cpp:842
+#: ConfigPanel.cpp:872
 msgid "Path to application file"
 msgstr ""
 
-#: DoxyBlocks.cpp:309
-#: ConfigPanel.h:524
+#: DoxyBlocks.cpp:322
+#: ConfigPanel.h:518
 msgid "DoxyBlocks"
 msgstr ""
 
-#: DoxyBlocks.cpp:383
+#: DoxyBlocks.cpp:397
 msgid "No active project found. Settings not saved."
 msgstr ""
 
-#: DoxyBlocks.cpp:396
+#: DoxyBlocks.cpp:409
 msgid "P&lugins"
 msgstr ""
 
-#: DoxyBlocks.cpp:402
+#: DoxyBlocks.cpp:415
 msgid "&Doxywizard...\tCtrl-Alt-D"
 msgstr ""
 
-#: DoxyBlocks.cpp:402
+#: DoxyBlocks.cpp:415
 msgid "Run doxywizard."
 msgstr ""
 
-#: DoxyBlocks.cpp:405
+#: DoxyBlocks.cpp:418
 msgid "&Extract documentation\tCtrl-Alt-E"
 msgstr ""
 
-#: DoxyBlocks.cpp:405
+#: DoxyBlocks.cpp:418
 msgid "Extract documentation for the current project."
 msgstr ""
 
-#: DoxyBlocks.cpp:409
+#: DoxyBlocks.cpp:422
 msgid "&Block comment\tCtrl-Alt-B"
 msgstr ""
 
-#: DoxyBlocks.cpp:409
-#: DoxyBlocks.cpp:419
-#: DoxyBlocks.cpp:460
+#: DoxyBlocks.cpp:422
+#: DoxyBlocks.cpp:432
+#: DoxyBlocks.cpp:473
 msgid "Insert a comment block at the current line."
 msgstr ""
 
-#: DoxyBlocks.cpp:412
+#: DoxyBlocks.cpp:425
 msgid "&Line comment\tCtrl-Alt-L"
 msgstr ""
 
-#: DoxyBlocks.cpp:412
-#: DoxyBlocks.cpp:463
+#: DoxyBlocks.cpp:425
+#: DoxyBlocks.cpp:476
 msgid "Insert a line comment at the current cursor position."
 msgstr ""
 
-#: DoxyBlocks.cpp:416
+#: DoxyBlocks.cpp:429
 msgid "Run &HTML\tCtrl-Alt-H"
 msgstr ""
 
-#: DoxyBlocks.cpp:416
+#: DoxyBlocks.cpp:429
 msgid "Run HTML documentation."
 msgstr ""
 
-#: DoxyBlocks.cpp:419
+#: DoxyBlocks.cpp:432
 msgid "Run &CHM\tCtrl-Alt-C"
 msgstr ""
 
-#: DoxyBlocks.cpp:423
+#: DoxyBlocks.cpp:436
 msgid "Open &preferences...\tCtrl-Alt-P"
 msgstr ""
 
-#: DoxyBlocks.cpp:423
+#: DoxyBlocks.cpp:436
 msgid "Open DoxyBlocks' preferences."
 msgstr ""
 
-#: DoxyBlocks.cpp:427
+#: DoxyBlocks.cpp:440
 msgid "L&oad settings template"
 msgstr ""
 
-#: DoxyBlocks.cpp:427
+#: DoxyBlocks.cpp:440
 msgid "Load saved settings template."
 msgstr ""
 
-#: DoxyBlocks.cpp:430
+#: DoxyBlocks.cpp:443
 msgid "&Save settings template"
 msgstr ""
 
-#: DoxyBlocks.cpp:430
+#: DoxyBlocks.cpp:443
 msgid "Save current settings for future use."
 msgstr ""
 
-#: DoxyBlocks.cpp:460
+#: DoxyBlocks.cpp:473
 msgid "&Block Comment"
 msgstr ""
 
-#: DoxyBlocks.cpp:463
+#: DoxyBlocks.cpp:476
 msgid "&Line Comment"
 msgstr ""
 
-#: DoxyBlocks.cpp:488
+#: DoxyBlocks.cpp:501
 msgid "Doxywizard"
 msgstr ""
 
-#: DoxyBlocks.cpp:488
+#: DoxyBlocks.cpp:501
 msgid "Run doxywizard"
 msgstr ""
 
-#: DoxyBlocks.cpp:489
+#: DoxyBlocks.cpp:502
 msgid "Document project"
 msgstr ""
 
-#: DoxyBlocks.cpp:489
+#: DoxyBlocks.cpp:502
 msgid "Extract documentation for the current project"
 msgstr ""
 
-#: DoxyBlocks.cpp:491
+#: DoxyBlocks.cpp:504
 msgid "Block Comment"
 msgstr ""
 
-#: DoxyBlocks.cpp:491
+#: DoxyBlocks.cpp:504
 msgid "Insert a comment block at the current line"
 msgstr ""
 
-#: DoxyBlocks.cpp:492
+#: DoxyBlocks.cpp:505
 msgid "Line Comment"
 msgstr ""
 
-#: DoxyBlocks.cpp:492
+#: DoxyBlocks.cpp:505
 msgid "Insert a line comment at the current cursor position"
 msgstr ""
 
-#: DoxyBlocks.cpp:494
+#: DoxyBlocks.cpp:507
 msgid "Run HTML"
 msgstr ""
 
-#: DoxyBlocks.cpp:494
+#: DoxyBlocks.cpp:507
 msgid "Run HTML documentation"
 msgstr ""
 
-#: DoxyBlocks.cpp:495
+#: DoxyBlocks.cpp:508
 msgid "Run CHM"
 msgstr ""
 
-#: DoxyBlocks.cpp:495
+#: DoxyBlocks.cpp:508
 msgid "Run HTML Help documentation"
 msgstr ""
 
-#: DoxyBlocks.cpp:497
+#: DoxyBlocks.cpp:510
 msgid "Open Preferences"
 msgstr ""
 
-#: DoxyBlocks.cpp:497
+#: DoxyBlocks.cpp:510
 msgid "Open DoxyBlocks' preferences"
 msgstr ""
 
-#: DoxyBlocks.cpp:526
+#: DoxyBlocks.cpp:539
 msgid "Running doxywizard..."
 msgstr ""
 
-#: DoxyBlocks.cpp:551
-#: DoxyBlocks.cpp:712
-#: ExtractDocs.cpp:578
+#: DoxyBlocks.cpp:564
+#: DoxyBlocks.cpp:729
+#: ExtractDocs.cpp:603
 #, c-format
 msgid "Execution of '%s' failed."
 msgstr ""
 
-#: DoxyBlocks.cpp:552
-#: ExtractDocs.cpp:579
+#: DoxyBlocks.cpp:565
+#: ExtractDocs.cpp:604
 msgid "Please ensure that the doxygen 'bin' directory is in your path or provide the specific path in DoxyBlocks' preferences.\n"
 msgstr ""
 
-#: DoxyBlocks.cpp:557
-#: DoxyBlocks.cpp:715
+#: DoxyBlocks.cpp:570
+#: DoxyBlocks.cpp:732
 #, c-format
 msgid "Process %ld (%s) launched."
 msgstr ""
 
-#: DoxyBlocks.cpp:610
+#: DoxyBlocks.cpp:624
 msgid "You need to open a project before using DoxyBlocks."
 msgstr ""
 
-#: DoxyBlocks.cpp:611
+#: DoxyBlocks.cpp:625
 msgid "Error"
 msgstr ""
 
-#: DoxyBlocks.cpp:630
-#: DoxyBlocks.cpp:677
+#: DoxyBlocks.cpp:644
+#: DoxyBlocks.cpp:694
 msgid "Unable to get the doxygen document path."
 msgstr ""
 
-#: DoxyBlocks.cpp:642
+#: DoxyBlocks.cpp:656
 msgid "Internal viewer launched with path "
 msgstr ""
 
-#: DoxyBlocks.cpp:645
+#: DoxyBlocks.cpp:659
 msgid "Error getting MIME handler for "
 msgstr ""
 
-#: DoxyBlocks.cpp:650
+#: DoxyBlocks.cpp:664
 msgid "Unable to launch the default browser."
 msgstr ""
 
-#: DoxyBlocks.cpp:653
+#: DoxyBlocks.cpp:667
 msgid "Default browser launched with URL "
 msgstr ""
 
-#: DoxyBlocks.cpp:658
+#: DoxyBlocks.cpp:672
 msgid "Index.html not found at "
 msgstr ""
 
-#: DoxyBlocks.cpp:673
+#: DoxyBlocks.cpp:689
 msgid "Unable to get the project name."
 msgstr ""
 
-#: DoxyBlocks.cpp:719
+#: DoxyBlocks.cpp:736
 msgid "HTML Help not found at "
 msgstr ""
 
-#: DoxyBlocks.cpp:776
+#: DoxyBlocks.cpp:765
+#: ExtractDocs.cpp:59
+msgid "Failed to get the active project!"
+msgstr ""
+
+#: DoxyBlocks.cpp:808
 msgid "Unable to get the AutoVersion header path."
 msgstr ""
 
-#: DoxyBlocks.cpp:813
+#: DoxyBlocks.cpp:846
 msgid "Unable to open the version header."
 msgstr ""
 
-#: DoxyBlocks.cpp:817
+#: DoxyBlocks.cpp:850
 msgid "Version header "
 msgstr ""
 
-#: DoxyBlocks.cpp:817
+#: DoxyBlocks.cpp:850
 msgid " not found."
 msgstr ""
 
-#: DoxyBlocks.cpp:1162
+#: DoxyBlocks.cpp:1209
 msgid "Settings template saved."
 msgstr ""
 
-#: DoxyBlocks.cpp:1165
+#: DoxyBlocks.cpp:1212
 msgid "Error savings settings template."
 msgstr ""
 
-#: DoxyBlocks.cpp:1177
+#: DoxyBlocks.cpp:1224
 msgid "Settings template loaded."
 msgstr ""
 
-#: DoxyBlocks.cpp:1180
+#: DoxyBlocks.cpp:1227
 msgid "Settings template not found."
 msgstr ""
 
-#: ExtractDocs.cpp:57
-msgid "Failed to get the active project!"
-msgstr ""
-
-#: ExtractDocs.cpp:75
+#: ExtractDocs.cpp:77
 msgid "Extracting documentation for "
 msgstr ""
 
-#: ExtractDocs.cpp:76
+#: ExtractDocs.cpp:78
 msgid "DoxyBlocks is working, please wait a few moments..."
 msgstr ""
 
-#: ExtractDocs.cpp:79
+#: ExtractDocs.cpp:81
 msgid "Running doxygen. Please wait..."
 msgstr ""
 
-#: ExtractDocs.cpp:83
+#: ExtractDocs.cpp:85
 msgid ""
 "\n"
 "Done.\n"
 msgstr ""
 
-#: ExtractDocs.cpp:106
+#: ExtractDocs.cpp:123
 msgid "Found existing doxyfile..."
 msgstr ""
 
-#: ExtractDocs.cpp:111
+#: ExtractDocs.cpp:128
 msgid "Overwrite existing doxyfile?"
 msgstr ""
 
-#: ExtractDocs.cpp:122
+#: ExtractDocs.cpp:139
 msgid "Writing doxyfile..."
 msgstr ""
 
-#: ExtractDocs.cpp:166
+#: ExtractDocs.cpp:183
 msgid "Base configuration for doxygen, generated by DoxyBlocks"
 msgstr ""
 
-#: ExtractDocs.cpp:167
+#: ExtractDocs.cpp:184
 msgid "You may change these defaults to suit your purposes"
 msgstr ""
 
-#: ExtractDocs.cpp:517
+#: ExtractDocs.cpp:542
 msgid "Failed. "
 msgstr ""
 
-#: ExtractDocs.cpp:517
+#: ExtractDocs.cpp:542
 msgid " was not created."
 msgstr ""
 
-#: ExtractDocs.cpp:547
+#: ExtractDocs.cpp:572
 msgid "Failed to open "
 msgstr ""
 
-#: ExtractDocs.cpp:550
+#: ExtractDocs.cpp:575
 msgid ""
 "\n"
 "Contents of doxygen's log file:"
Index: src/plugins/contrib/DoxyBlocks/ExtractDocs.cpp
===================================================================
--- src/plugins/contrib/DoxyBlocks/ExtractDocs.cpp	(revision 7025)
+++ src/plugins/contrib/DoxyBlocks/ExtractDocs.cpp	(working copy)
@@ -175,7 +175,7 @@
 		wxString sHaveDot = BoolToString(m_pConfig->GetHaveDot());
 		wxString sPathDot = pMacMngr->ReplaceMacros(m_pConfig->GetPathDot());
 
-        // Create a full doxygen 1.7.1 config file without comments.
+        // Create a full doxygen 1.7.3 config file without comments.
         wxString sText;
 		wxString nl = wxT("\n");
 		wxString qnl = wxT("\"\n");
@@ -192,8 +192,8 @@
 		sText +=  wxT("DOXYFILE_ENCODING      = UTF-8\n");
         sText +=  wxT("PROJECT_NAME           = ") + sPrjName + nl;
 		sText +=  wxT("PROJECT_NUMBER         = ") + sPrjNum + nl;
-		sText +=  wxT("PROJECT_BRIEF          =\n");
-		sText +=  wxT("PROJECT_LOGO           =\n");
+		sText +=  wxT("PROJECT_BRIEF          =\n");
+		sText +=  wxT("PROJECT_LOGO           =\n");
         sText +=  wxT("OUTPUT_DIRECTORY       =\n");
 		sText +=  wxT("CREATE_SUBDIRS         = NO\n");
 		sText +=  wxT("OUTPUT_LANGUAGE        = ") + sLanguage + nl;
@@ -251,7 +251,7 @@
 		sText +=  wxT("SORT_MEMBERS_CTORS_1ST = NO\n");
 		sText +=  wxT("SORT_GROUP_NAMES       = NO\n");
 		sText +=  wxT("SORT_BY_SCOPE_NAME     = NO\n");
-		sText +=  wxT("STRICT_PROTO_MATCHING  = NO\n");
+		sText +=  wxT("STRICT_PROTO_MATCHING  = NO\n");
 		sText +=  wxT("GENERATE_TODOLIST      = YES\n");
 		sText +=  wxT("GENERATE_TESTLIST      = YES\n");
 		sText +=  wxT("GENERATE_BUGLIST       = YES\n");
@@ -294,7 +294,7 @@
 		sText +=  wxT("INPUT_FILTER           =\n");
 		sText +=  wxT("FILTER_PATTERNS        =\n");
 		sText +=  wxT("FILTER_SOURCE_FILES    = NO\n");
-		sText +=  wxT("FILTER_SOURCE_PATTERNS =\n");
+		sText +=  wxT("FILTER_SOURCE_PATTERNS =\n");
 
 		sText +=  wxT("#---------------------------------------------------------------------------\n");
 		sText +=  wxT("# configuration options related to source browsing\n");
@@ -365,8 +365,8 @@
 		sText +=  wxT("EXT_LINKS_IN_WINDOW    = NO\n");
 		sText +=  wxT("FORMULA_FONTSIZE       = 10\n");
 		sText +=  wxT("FORMULA_TRANSPARENT    = YES\n");
-		sText +=  wxT("USE_MATHJAX            = NO\n");
-		sText +=  wxT("MATHJAX_RELPATH        = http://www.mathjax.org/mathjax\n");
+		sText +=  wxT("USE_MATHJAX            = NO\n");
+		sText +=  wxT("MATHJAX_RELPATH        = http://www.mathjax.org/mathjax\n");
 		sText +=  wxT("SEARCHENGINE           = YES\n");
 		sText +=  wxT("SERVER_BASED_SEARCH    = NO\n");
 
@@ -378,7 +378,7 @@
 		sText +=  wxT("LATEX_CMD_NAME         = latex\n");
 		sText +=  wxT("MAKEINDEX_CMD_NAME     = makeindex\n");
 		sText +=  wxT("COMPACT_LATEX          = NO\n");
-		sText +=  wxT("PAPER_TYPE             = a4\n");
+		sText +=  wxT("PAPER_TYPE             = a4\n");
 		sText +=  wxT("EXTRA_PACKAGES         =\n");
 		sText +=  wxT("LATEX_HEADER           =\n");
 		sText +=  wxT("PDF_HYPERLINKS         = YES\n");
@@ -457,7 +457,7 @@
 		sText +=  wxT("HIDE_UNDOC_RELATIONS   = YES\n");
 		sText +=  wxT("HAVE_DOT               = ") + sHaveDot + nl;
 		sText +=  wxT("DOT_NUM_THREADS        = 0\n");
-		sText +=  wxT("DOT_FONTNAME           = Helvetica\n");
+		sText +=  wxT("DOT_FONTNAME           = Helvetica\n");
 		sText +=  wxT("DOT_FONTSIZE           = 10\n");
 		sText +=  wxT("DOT_FONTPATH           =\n");
 		sText +=  wxT("CLASS_GRAPH            = YES\n");
@@ -479,7 +479,7 @@
 			sText +=  wxT("DOT_PATH               =\n");
 		}
 		sText +=  wxT("DOTFILE_DIRS           =\n");
-		sText +=  wxT("MSCFILE_DIRS           =\n");
+		sText +=  wxT("MSCFILE_DIRS           =\n");
 		sText +=  wxT("DOT_GRAPH_MAX_NODES    = 50\n");
 		sText +=  wxT("MAX_DOT_GRAPH_DEPTH    = 0\n");
 		sText +=  wxT("DOT_TRANSPARENT        = NO\n");
@@ -501,7 +501,8 @@
  *
  * \param	prj	cbProject*		The project.
  * \return	int	0 on success, -1 on failure.
- *
+ * \todo Revisit the path management code and add support for allowing the docs to be created in a different location
+ * to the doxyfile via the OUTPUT_PATH setting e.g. using something like ../docs.
  */
 int DoxyBlocks::GenerateDocuments(cbProject *prj)
 {
@@ -523,25 +524,27 @@
 	wxString sPrjName = fnProject.GetName();
 	wxString sOutputDir = m_pConfig->GetOutputDirectory();
 	wxString sDoxygenDir = wxT("doxygen");
-	// Create the main doxygen dir.
-	if(!wxDirExists(sDoxygenDir)){
-		wxMkdir(sDoxygenDir);
-	}
+	wxString sCfgBaseFile = wxT("doxyfile");
+	wxString sLogFile     = wxT("doxygen.log");
+
 	if(!sOutputDir.IsEmpty()){
 		sDoxygenDir = sOutputDir;
-		// Create the sub-dir.
-		if(!wxDirExists(sDoxygenDir)){
-			wxMkdir(sDoxygenDir);
-		}
 	}
 
-	 wxString sCfgBaseFile = wxT("doxyfile");
-	 wxString sLogFile     = wxT("doxygen.log");
-	 wxFileName fnDoxyfile(sDoxygenDir + wxFileName::GetPathSeparator() + sCfgBaseFile);
-	 wxFileName fnDoxygenLog(sDoxygenDir + wxFileName::GetPathSeparator() + sLogFile);
-	 fnDoxyfile.Normalize();
-	 fnDoxygenLog.Normalize();
+	wxFileName fnOutput(sDoxygenDir, wxT(""));
+	wxFileName fnDoxyfile(sDoxygenDir + wxFileName::GetPathSeparator() + sCfgBaseFile);
+	wxFileName fnDoxygenLog(sDoxygenDir + wxFileName::GetPathSeparator() + sLogFile);
+	fnOutput.Normalize();
+	fnDoxyfile.Normalize();
+	fnDoxygenLog.Normalize();
 
+	if (!fnOutput.Mkdir(wxS_DEFAULT, wxPATH_MKDIR_FULL)){
+		wxString sMsg = _("Failed. ") + fnOutput.GetFullPath() + _(" was not created.");
+		AppendToLog(sMsg, LOG_WARNING);
+		wxSetWorkingDirectory(sOldPath);
+		return -1;
+	}
+
 	// I'm in the project directory, now create the doxygen configuration files
 	WriteConfigFiles(prj, sPrjName, sPrjPath, sDoxygenDir, fnDoxyfile, fnDoxygenLog);
 
Index: src/plugins/contrib/DoxyBlocks/version.h
===================================================================
--- src/plugins/contrib/DoxyBlocks/version.h	(revision 7025)
+++ src/plugins/contrib/DoxyBlocks/version.h	(working copy)
@@ -2,32 +2,32 @@
 #define VERSION_H
 
 namespace AutoVersion{
-
+	
 	//Date Version Types
-	static const char DATE[] = "02";
+	static const char DATE[] = "06";
 	static const char MONTH[] = "02";
 	static const char YEAR[] = "2011";
 	static const char UBUNTU_VERSION_STYLE[] = "11.02";
-
+	
 	//Software Status
 	static const char STATUS[] = "Beta";
 	static const char STATUS_SHORT[] = "b";
-
+	
 	//Standard Version Type
 	static const long MAJOR = 1;
-	static const long MINOR = 6;
-	static const long BUILD = 614;
-	static const long REVISION = 8144;
-
+	static const long MINOR = 7;
+	static const long BUILD = 655;
+	static const long REVISION = 8357;
+	
 	//Miscellaneous Version Types
-	static const long BUILDS_COUNT = 1246;
-	#define RC_FILEVERSION 1,6,614,8144
-	#define RC_FILEVERSION_STRING "1, 6, 614, 8144\0"
-	static const char FULLVERSION_STRING[] = "1.6.614.8144";
-
+	static const long BUILDS_COUNT = 1325;
+	#define RC_FILEVERSION 1,7,655,8357
+	#define RC_FILEVERSION_STRING "1, 7, 655, 8357\0"
+	static const char FULLVERSION_STRING[] = "1.7.655.8357";
+	
 	//These values are to keep track of your versioning state, don't modify them.
-	static const long BUILD_HISTORY = 87;
+	static const long BUILD_HISTORY = 28;
+	
 
-
 }
 #endif //VERSION_H
