X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaDevManagerLib%2FwxCDMProjectActionsPanel.cpp;h=5b5cc09279986c0f70abb1e7ea993c82910a77eb;hb=752294dd30e2ee94f38be513d441f4716509ce13;hp=1d36bf02399508f7ae03ceb1ab4dbf0849b0de6f;hpb=17824854619941a12697fea8524f4218f9a14ef9;p=crea.git diff --git a/lib/creaDevManagerLib/wxCDMProjectActionsPanel.cpp b/lib/creaDevManagerLib/wxCDMProjectActionsPanel.cpp index 1d36bf0..5b5cc09 100755 --- a/lib/creaDevManagerLib/wxCDMProjectActionsPanel.cpp +++ b/lib/creaDevManagerLib/wxCDMProjectActionsPanel.cpp @@ -2,8 +2,8 @@ # --------------------------------------------------------------------- # # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image -# pour la Santé) -# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# pour la Sant�) +# # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton # # This software is governed by the CeCILL-B license under French law and # abiding by the rules of distribution of free software. You can use, @@ -20,22 +20,32 @@ # # The fact that you are presently reading this means that you have had # knowledge of the CeCILL-B license and that you accept its terms. -# ------------------------------------------------------------------------ */ +# ------------------------------------------------------------------------ + */ /* * wxCDMProjectActionsPanel.cpp * * Created on: 25/10/2012 - * Author: daniel + * Author: Daniel Felipe Gonzalez Obando */ #include "wxCDMProjectActionsPanel.h" +#include + +#include "creaDevManagerIds.h" +BEGIN_EVENT_TABLE(wxCDMProjectActionsPanel, wxPanel) +EVT_BUTTON(ID_BUTTON_BUILD_PROJECT, wxCDMProjectActionsPanel::OnBtnBuildProject) +EVT_BUTTON(ID_BUTTON_CONFIGURE_BUILD, wxCDMProjectActionsPanel::OnBtnConfigureBuild) +EVT_BUTTON(ID_BUTTON_CONNECT_PROJECT, wxCDMProjectActionsPanel::OnBtnConnectProject) +END_EVENT_TABLE() wxCDMProjectActionsPanel::wxCDMProjectActionsPanel( wxWindow* parent, + modelCDMProject* project, wxWindowID id, const wxString& caption, const wxPoint& pos, @@ -44,6 +54,7 @@ wxCDMProjectActionsPanel::wxCDMProjectActionsPanel( ) { wxCDMProjectActionsPanel::Create(parent,id,caption,pos,size,style); + this->project = project; } wxCDMProjectActionsPanel::~wxCDMProjectActionsPanel() @@ -70,8 +81,53 @@ bool wxCDMProjectActionsPanel::Create( void wxCDMProjectActionsPanel::CreateControls() { - this->GetSizer()->Add(new wxButton(this, -1, _T("Action 1")), 0, wxALL, 5); - this->GetSizer()->Add(new wxButton(this, -1, _T("Action 2")), 0, wxALL, 5); - this->GetSizer()->Add(new wxButton(this, -1, _T("Action 3")), 0, wxALL, 5); - this->GetSizer()->Add(new wxButton(this, -1, _T("Action 4")), 0, wxALL, 5); + wxButton* configurebt = new wxButton(this, ID_BUTTON_CONFIGURE_BUILD, _T("1. Configure Project (CMake)")); + configurebt->SetToolTip(wxT("This is the first step in order to execute the project. Make sure you have selected the desired Build location.")); + wxButton* compilebt = new wxButton(this, ID_BUTTON_BUILD_PROJECT, _T("2. Compile Project")); + compilebt->SetToolTip(wxT("This step should be done after configuring the project. This will create the executables.")); + wxButton* plugbt = new wxButton(this, ID_BUTTON_CONNECT_PROJECT, _T("3. Plug Packages (BBTK)")); + plugbt->SetToolTip(wxT("This step should be done after compiling the project. This will allow to use the boxes in this project to be available in the bbEditor.")); + this->GetSizer()->Add(configurebt, 0, wxALL, 5); + this->GetSizer()->Add(compilebt, 0, wxALL, 5); + this->GetSizer()->Add(plugbt, 0, wxALL, 5); +} + +//configure project +void wxCDMProjectActionsPanel::OnBtnConfigureBuild(wxCommandEvent& event) +{ + std::string* result; + if(!this->project->ConfigureBuild(result)) + { + wxMessageBox(crea::std2wx(result->c_str()), wxT("Project Configuration - Error!")); + return; + } + wxMessageBox(crea::std2wx("The configuration was executed successfully."), wxT("Project Configuration")); +} + +//compile project +void wxCDMProjectActionsPanel::OnBtnBuildProject(wxCommandEvent& event) +{ + 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)) + { + //loadBar->Destroy(); + 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")); +} + +//plug packages +void wxCDMProjectActionsPanel::OnBtnConnectProject(wxCommandEvent& event) +{ + std::string* result; + if(!this->project->Connect(result)) + { + wxMessageBox(crea::std2wx(result->c_str()), wxT("Plug Packages - Error!")); + return; + } + wxMessageBox(crea::std2wx("The connection was executed successfully. Please check the \"plugging.log\" file located in the build folder to check the compilation result."), wxT("Plug Package")); }