return;
}
#else
- //get author from user
- wxTextEntryDialog* buildDlg = new wxTextEntryDialog(
- this,
- wxT("Enter the compilation instruction:"),
- wxT("Project Compilation- creaDevManager"),
- crea::std2wx(this->project->GetBuildInstruction()),
- wxTE_MULTILINE | wxOK | wxCANCEL
- );
-
- if (buildDlg->ShowModal() == wxID_OK)
+
+ std::string* result;
+ int isDir = wxMessageBox(crea::std2wx("Is this the path of the project compilation?:\n"+this->project->GetBuildPath()), wxT("Project Compilation - CreaDevManager"), wxYES_NO|wxCANCEL);
+ if(isDir != wxCANCEL)
{
- std::string buildDlgStr = crea::wx2std(buildDlg->GetValue());
- //check name
- if (buildDlgStr != "")
+ wxString file = crea::std2wx(this->project->GetBuildPath());
+ if(isDir == wxNO)
{
- std::string* result;
- //wxProgressDialog* loadBar = new wxProgressDialog(wxT("Compiling"), wxT("Please wait while the compilation is executing..."), 100, this);
- //loadBar->Pulse();
- if(!this->project->Build(result, buildDlgStr))
+ file = wxDirSelector(
+ wxT("Please select the folder where your project is to be built."),
+ crea::std2wx(this->project->GetBuildPath())
+ );
+ }
+
+ if(!file.IsEmpty())
+ {
+ this->project->SetBuildPath(crea::wx2std(file), result);
+
+ wxTextEntryDialog* buildDlg = new wxTextEntryDialog(
+ this,
+ wxT("Check the compilation instruction:"),
+ wxT("Project Compilation - CreaDevManager"),
+ crea::std2wx(this->project->GetBuildInstruction()),
+ wxTE_MULTILINE | wxOK | wxCANCEL
+ );
+
+ if (buildDlg->ShowModal() == wxID_OK)
{
- //loadBar->Destroy();
- wxMessageBox(crea::std2wx(result->c_str()), wxT("Project Compilation - Error!"));
- return;
+ std::string buildDlgStr = crea::wx2std(buildDlg->GetValue());
+ //check line
+ if (buildDlgStr != "")
+ {
+ std::string* result;
+ if(!this->project->Build(result, buildDlgStr))
+ {
+ wxMessageBox(crea::std2wx(result->c_str()), wxT("Project Compilation - Error!"));
+ return;
+ }
+ }
}
- //loadBar->Destroy();
- //wxMessageBox(crea::std2wx("The compilation was executed successfully. Please check the \"building.log\" file located in the build folder to check the compilation result."), wxT("Project Compilation"));
}
}
#endif
wxStaticText* instruction = new wxStaticText(this, wxID_ANY, wxT("Change the values to modify the default behavior of the program."), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);
v_sizer1->Add(instruction, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL | wxEXPAND, 5);
- wxFlexGridSizer* formItems = new wxFlexGridSizer(4,2,9,15);
+ wxFlexGridSizer* formItems = new wxFlexGridSizer(5,2,9,15);
wxStaticText *stxtTextEditor = new wxStaticText(this, -1, wxT("Text Editor Command"));
wxStaticText *stxtFileExplorer = new wxStaticText(this, -1, wxT("File Explorer Command"));
wxStaticText *stxtTerminal = new wxStaticText(this, -1, wxT("Terminal Command"));
wxStaticText *stxtHelpEnabled = new wxStaticText(this, -1, wxT("Help Enabled"));
-
+#ifndef _WIN32
+ wxStaticText* stxtBuildCommand = new wxStaticText(this, -1, wxT("Build Command"));
+#endif
wxConfigBase* pConfig = wxConfigBase::Get();
this->textEditor = new wxTextCtrl(this, -1, pConfig->Read(wxT("TEXT_EDITOR"), crea::std2wx(CDMUtilities::TEXT_EDITOR)));
this->terminal = new wxTextCtrl(this, -1, pConfig->Read(wxT("TERMINAL"), crea::std2wx(CDMUtilities::TERMINAL)));
this->helpEnabled = new wxCheckBox(this, -1, wxT(""));
this->helpEnabled->SetValue(pConfig->Read(wxT("HELP"), true) != 0);
-
+#ifndef _WIN32
+ this->buildCommand = new wxTextCtrl(this, -1, pConfig->Read(wxT("BUILD_COMMAND"), crea::std2wx(CDMUtilities::BUILD_COMMAND)));
+#endif
formItems->Add(stxtTextEditor, 0, wxALIGN_CENTER_VERTICAL);
formItems->Add(this->textEditor, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
formItems->Add(this->fileExplorer, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
formItems->Add(stxtTerminal, 0, wxALIGN_CENTER_VERTICAL);
formItems->Add(this->terminal, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+#ifndef _WIN32
+ formItems->Add(stxtBuildCommand, 0, wxALIGN_CENTER_VERTICAL);
+ formItems->Add(this->buildCommand, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+#endif
formItems->Add(stxtHelpEnabled, 0, wxALIGN_CENTER_VERTICAL);
formItems->Add(this->helpEnabled, 1, wxEXPAND);
-
formItems->AddGrowableCol(1,1);
v_sizer1->Add(formItems, 1, wxEXPAND | wxALL, 15);
pConfig->Write(wxT("TERMINAL"), this->terminal->GetValue());
pConfig->Write(wxT("FILE_EXPLORER"), this->fileExplorer->GetValue());
pConfig->Write(wxT("HELP"), this->helpEnabled->GetValue());
+#ifndef _WIN32
+ pConfig->Write(wxT("BUILD_COMMAND"), this->buildCommand->GetValue());
+#endif
+
+ pConfig->Flush();
this->EndModal(wxID_OK);
}
this->textEditor->SetValue(crea::std2wx(CDMUtilities::TEXT_EDITOR));
this->terminal->SetValue(crea::std2wx(CDMUtilities::TERMINAL));
this->fileExplorer->SetValue(crea::std2wx(CDMUtilities::FILE_EXPLORER));
+#ifndef _WIN32
+ this->buildCommand->SetValue(crea::std2wx(CDMUtilities::BUILD_COMMAND));
+#endif
this->helpEnabled->SetValue(true);
}
wxWindowID id = wxID_ANY,
const wxString& caption = wxT("Settings - CreaDevManager CREATIS"),
const wxPoint& position = wxDefaultPosition,
- const wxSize& size = wxSize(350,320),
+ const wxSize& size = wxSize(350,370),
long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
);
/**
wxWindowID id = wxID_ANY,
const wxString& caption = wxT("Settings - CreaDevManager CREATIS"),
const wxPoint& position = wxDefaultPosition,
- const wxSize& size = wxSize(350,320),
+ const wxSize& size = wxSize(350,370),
long style = wxDEFAULT_DIALOG_STYLE
);
* Help Enabled.
*/
wxCheckBox* helpEnabled;
-
+ /**
+ * Build Command.
+ */
+ wxTextCtrl* buildCommand;
//handlers
protected: