]> Creatis software - crea.git/blobdiff - lib/creaDevManagerLib/wxCDMProjectDescriptionPanel.cpp
Feature #1711
[crea.git] / lib / creaDevManagerLib / wxCDMProjectDescriptionPanel.cpp
index 0fadfeb7911e0c0e547af9692ad50136ee0fdfcd..ff5d01bbdb5827238ca940e4a890e47cb07ea00c 100644 (file)
@@ -23,7 +23,7 @@
 #  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.
 # ------------------------------------------------------------------------
-*/
+ */
 
 /*
  * wxCDMProjectDescriptionPanel.cpp
 
 #include "wxCDMProjectDescriptionPanel.h"
 
+#include "creaDevManagerIds.h"
+#include "images/Cicon64.xpm"
+
+BEGIN_EVENT_TABLE(wxCDMProjectDescriptionPanel, wxPanel)
+EVT_MENU(ID_BUTTON_CREATE_PACKAGE, wxCDMProjectDescriptionPanel::OnBtnCreatePackage)
+EVT_MENU(ID_BUTTON_CREATE_BLACKBOX, wxCDMProjectDescriptionPanel::OnBtnCreateBlackBox)
+EVT_MENU(ID_BUTTON_CREATE_LIBRARY, wxCDMProjectDescriptionPanel::OnBtnCreateLibrary)
+EVT_MENU(ID_BUTTON_CREATE_APPLICATION, wxCDMProjectDescriptionPanel::OnBtnCreateApplication)
+EVT_MENU(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMProjectDescriptionPanel::OnBtnEditCMakeLists)
+END_EVENT_TABLE()
+
 wxCDMProjectDescriptionPanel::wxCDMProjectDescriptionPanel(
     wxWindow* parent,
+    modelCDMProject* project,
     wxWindowID id,
-    const wxString&
-    caption,
+    const wxString& caption,
     const wxPoint& pos,
     const wxSize& size,
     long style
 )
 {
+  wxCDMProjectDescriptionPanel::Create(parent, project, id, caption, pos, size, style);
 }
 
 wxCDMProjectDescriptionPanel::~wxCDMProjectDescriptionPanel()
@@ -52,6 +64,7 @@ wxCDMProjectDescriptionPanel::~wxCDMProjectDescriptionPanel()
 
 bool wxCDMProjectDescriptionPanel::Create(
     wxWindow* parent,
+    modelCDMProject* project,
     wxWindowID id,
     const wxString& caption,
     const wxPoint& pos,
@@ -59,8 +72,103 @@ bool wxCDMProjectDescriptionPanel::Create(
     long style
 )
 {
+  wxPanel::Create(parent, id, pos, size, style);
+  this->project = project;
+  CreateControls();
+  return TRUE;
 }
 
 void wxCDMProjectDescriptionPanel::CreateControls()
 {
+  wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+
+  //Welcome
+  sizer->Add(new wxStaticText(this, -1, _("Project")),0, wxALIGN_CENTER, 0);
+
+  //Image
+  sizer->Add(new wxStaticBitmap(this, -1, wxBitmap(Cicon)),0, wxALIGN_CENTER, 0);
+
+  //Project Name
+  sizer->Add(new wxStaticText(this, -1, crea::std2wx(this->project->GetName())),0, wxALIGN_CENTER, 0);
+
+  //Project Properties
+  wxStaticBox* propertiesBox = new wxStaticBox(this, -1, _T("&Properties"));
+  wxStaticBoxSizer* propertiesBoxInnerSizer = new wxStaticBoxSizer(propertiesBox, wxHORIZONTAL);
+  sizer -> Add(propertiesBoxInnerSizer, 1, wxEXPAND | wxALL, 20);
+
+  wxFlexGridSizer* flexGridSizer = new wxFlexGridSizer(4, 2, 9, 15);
+  propertiesBoxInnerSizer -> Add(flexGridSizer, 1, wxEXPAND | wxALL);
+
+  wxStaticText *pVersion = new wxStaticText(this, -1, wxT("Version"));
+  wxStaticText *pVersionDate = new wxStaticText(this, -1, wxT("Version Date"));
+  wxStaticText *pSourceLocation = new wxStaticText(this, -1, wxT("Source Location"));
+  wxStaticText *pBuildLocation = new wxStaticText(this, -1, wxT("Build Location"));
+
+  wxTextCtrl *pVersiontc = new wxTextCtrl(this, -1, crea::std2wx(this->project->GetVersion()));
+  wxTextCtrl *pVersionDatetc = new wxTextCtrl(this, -1, crea::std2wx(this->project->GetVersionDate()));
+  wxTextCtrl *pSourceLocationtc = new wxTextCtrl(this, -1, crea::std2wx(this->project->GetPath()));
+  wxTextCtrl *pBuildLocationtc = new wxTextCtrl(this, -1, crea::std2wx(this->project->GetBuildPath()));
+
+  flexGridSizer->Add(pVersion, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
+  flexGridSizer->Add(pVersiontc, 1, wxEXPAND);
+  flexGridSizer->Add(pVersionDate, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
+  flexGridSizer->Add(pVersionDatetc, 1, wxEXPAND);
+  flexGridSizer->Add(pSourceLocation, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
+  flexGridSizer->Add(pSourceLocationtc, 1, wxEXPAND);
+  flexGridSizer->Add(pBuildLocation, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
+  flexGridSizer->Add(pBuildLocationtc, 1, wxEXPAND);
+
+  flexGridSizer->SetSizeHints(this);
+
+  //Actions
+  wxStaticBox* actionsBox = new wxStaticBox(this, -1, _T("&Actions"));
+  wxStaticBoxSizer* actionsBoxInnerSizer = new wxStaticBoxSizer(actionsBox, wxVERTICAL);
+  sizer -> Add(actionsBoxInnerSizer, 1, wxEXPAND | wxALL, 20);
+
+  actionsBoxInnerSizer->Add(new wxButton(this, ID_BUTTON_CREATE_PACKAGE, _T("Create Package")), 0, wxRIGHT | wxLEFT, 20);
+  actionsBoxInnerSizer->Add(new wxButton(this, ID_BUTTON_CREATE_BLACKBOX, _T("Create Black Box")), 0, wxRIGHT | wxLEFT, 20);
+  actionsBoxInnerSizer->Add(new wxButton(this, ID_BUTTON_CREATE_LIBRARY, _T("Create Library")), 0, wxRIGHT | wxLEFT, 20);
+  actionsBoxInnerSizer->Add(new wxButton(this, ID_BUTTON_CREATE_APPLICATION, _T("Create Application")), 0, wxRIGHT | wxLEFT, 20);
+
+  actionsBoxInnerSizer->Add(new wxButton(this, ID_BUTTON_EDIT_CMAKELISTSFILE, _T("Edit CMakeLists File")), 0, wxRIGHT | wxLEFT, 20);
+
+  //Asign sizer
+  actionsBoxInnerSizer->SetSizeHints(this);
+  sizer->SetSizeHints(this);
+  SetSizer(sizer);
+}
+
+void wxCDMProjectDescriptionPanel::OnBtnCreatePackage(wxCommandEvent& event)
+{
+  //TODO: implement method
+  std::cerr << "Event OnBtnCreatePackage not implemented" << std::endl;
+  event.Skip();
+}
+
+void wxCDMProjectDescriptionPanel::OnBtnCreateBlackBox(wxCommandEvent& event)
+{
+  //TODO: implement method
+  std::cerr << "Event OnBtnCreatePackage not implemented" << std::endl;
+  event.Skip();
+}
+
+void wxCDMProjectDescriptionPanel::OnBtnCreateLibrary(wxCommandEvent& event)
+{
+  //TODO: implement method
+  std::cerr << "Event OnBtnCreatePackage not implemented" << std::endl;
+  event.Skip();
+}
+
+void wxCDMProjectDescriptionPanel::OnBtnCreateApplication(wxCommandEvent& event)
+{
+  //TODO: implement method
+  std::cerr << "Event OnBtnCreatePackage not implemented" << std::endl;
+  event.Skip();
+}
+
+void wxCDMProjectDescriptionPanel::OnBtnEditCMakeLists(wxCommandEvent& event)
+{
+  //TODO: implement method
+  std::cerr << "Event OnBtnCreatePackage not implemented" << std::endl;
+  event.Skip();
 }