2
* This file is part of the Code::Blocks IDE and licensed under the GNU General Public License, version 3
3
* http://www.gnu.org/licenses/gpl-3.0.html
10
#include "buildtargetpanel.h"
14
//(*IdInit(BuildTargetPanel)
15
const long BuildTargetPanel::ID_STATICTEXT1 = wxNewId();
16
const long BuildTargetPanel::ID_STATICTEXT3 = wxNewId();
17
const long BuildTargetPanel::ID_TEXTCTRL1 = wxNewId();
18
const long BuildTargetPanel::ID_STATICTEXT2 = wxNewId();
19
const long BuildTargetPanel::ID_COMBOBOX1 = wxNewId();
20
const long BuildTargetPanel::ID_STATICTEXT4 = wxNewId();
21
const long BuildTargetPanel::ID_TEXTCTRL2 = wxNewId();
22
const long BuildTargetPanel::ID_STATICTEXT5 = wxNewId();
23
const long BuildTargetPanel::ID_TEXTCTRL3 = wxNewId();
24
const long BuildTargetPanel::ID_CHECKBOX1 = wxNewId();
27
BEGIN_EVENT_TABLE(BuildTargetPanel,wxPanel)
28
//(*EventTable(BuildTargetPanel)
32
BuildTargetPanel::BuildTargetPanel(wxWindow* parent,wxWindowID id)
39
//(*Initialize(BuildTargetPanel)
40
wxStaticText* StaticText1;
41
wxStaticBoxSizer* StaticBoxSizer1;
42
wxFlexGridSizer* FlexGridSizer1;
43
wxStaticText* StaticText4;
44
wxStaticText* StaticText5;
46
Create(parent,id,wxDefaultPosition,wxDefaultSize,wxTAB_TRAVERSAL,_T("wxPanel"));
47
BoxSizer1 = new wxBoxSizer(wxVERTICAL);
48
StaticText1 = new wxStaticText(this,ID_STATICTEXT1,_("Please setup the options for the new build target."),wxDefaultPosition,wxDefaultSize,0,_T("ID_STATICTEXT1"));
49
BoxSizer1->Add(StaticText1,0,wxALL|wxALIGN_LEFT|wxALIGN_TOP,8);
50
StaticText3 = new wxStaticText(this,ID_STATICTEXT3,_("Build target name:"),wxDefaultPosition,wxDefaultSize,0,_T("ID_STATICTEXT3"));
51
BoxSizer1->Add(StaticText3,0,wxTOP|wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP,8);
52
txtName = new wxTextCtrl(this,ID_TEXTCTRL1,wxEmptyString,wxDefaultPosition,wxDefaultSize,0,wxDefaultValidator,_T("ID_TEXTCTRL1"));
53
BoxSizer1->Add(txtName,0,wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP,8);
54
lblCompiler = new wxStaticText(this,ID_STATICTEXT2,_("Compiler:"),wxDefaultPosition,wxDefaultSize,0,_T("ID_STATICTEXT2"));
55
BoxSizer1->Add(lblCompiler,0,wxTOP|wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP,8);
56
cmbCompiler = new wxComboBox(this,ID_COMBOBOX1,wxEmptyString,wxDefaultPosition,wxDefaultSize,0,NULL,wxCB_SIMPLE|wxCB_READONLY,wxDefaultValidator,_T("ID_COMBOBOX1"));
57
BoxSizer1->Add(cmbCompiler,0,wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP,8);
58
StaticBoxSizer1 = new wxStaticBoxSizer(wxVERTICAL,this,_("Options"));
59
FlexGridSizer1 = new wxFlexGridSizer(0,2,5,5);
60
FlexGridSizer1->AddGrowableCol(1);
61
StaticText4 = new wxStaticText(this,ID_STATICTEXT4,_("Output dir.:"),wxDefaultPosition,wxDefaultSize,0,_T("ID_STATICTEXT4"));
62
FlexGridSizer1->Add(StaticText4,0,wxEXPAND|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL,5);
63
txtOut = new wxTextCtrl(this,ID_TEXTCTRL2,wxEmptyString,wxDefaultPosition,wxDefaultSize,0,wxDefaultValidator,_T("ID_TEXTCTRL2"));
64
FlexGridSizer1->Add(txtOut,0,wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP,5);
65
StaticText5 = new wxStaticText(this,ID_STATICTEXT5,_("Objects output dir.:"),wxDefaultPosition,wxDefaultSize,0,_T("ID_STATICTEXT5"));
66
FlexGridSizer1->Add(StaticText5,0,wxEXPAND|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL,5);
67
txtObjOut = new wxTextCtrl(this,ID_TEXTCTRL3,wxEmptyString,wxDefaultPosition,wxDefaultSize,0,wxDefaultValidator,_T("ID_TEXTCTRL3"));
68
FlexGridSizer1->Add(txtObjOut,0,wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP,5);
69
StaticBoxSizer1->Add(FlexGridSizer1,1,wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL,8);
70
chkEnableDebug = new wxCheckBox(this,ID_CHECKBOX1,_("Enable debugging symbols for this target"),wxDefaultPosition,wxDefaultSize,0,wxDefaultValidator,_T("ID_CHECKBOX1"));
71
chkEnableDebug->SetValue(false);
72
StaticBoxSizer1->Add(chkEnableDebug,0,wxALL|wxALIGN_LEFT|wxALIGN_TOP,8);
73
BoxSizer1->Add(StaticBoxSizer1,0,wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP,8);
76
BoxSizer1->SetSizeHints(this);
77
Connect(ID_TEXTCTRL1,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&BuildTargetPanel::OntxtNameText);
81
BuildTargetPanel::~BuildTargetPanel()
86
void BuildTargetPanel::OntxtNameText(wxCommandEvent& event)
88
// update output dirs based on target name
89
txtOut->SetValue(_T("bin") + wxString(wxFILE_SEP_PATH) + txtName->GetValue());
90
txtObjOut->SetValue(_T("obj") + wxString(wxFILE_SEP_PATH) + txtName->GetValue());