#include "images/ApIcon64.xpm"
BEGIN_EVENT_TABLE(wxCDMAppliDescriptionPanel, wxPanel)
+EVT_BUTTON(ID_BUTTON_PREV, wxCDMAppliDescriptionPanel::OnBtnReturn)
+EVT_HYPERLINK(ID_LINK_SELECT_APPLICATION, wxCDMAppliDescriptionPanel::OnLnkApplicationSelect)
EVT_BUTTON(ID_BUTTON_CREATE_APPLICATION, wxCDMAppliDescriptionPanel::OnBtnCreateApplication)
EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMAppliDescriptionPanel::OnBtnEditCMakeLists)
END_EVENT_TABLE()
{
wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
- //Welcome
+ //Link to return
+ sizer->Add(new wxButton(this, ID_BUTTON_PREV, wxT("Return to project")), 0, wxALIGN_CENTER | wxALL, 5);
+
+ //Title
sizer->Add(new wxStaticText(this, -1, _("Applications")),0, wxALIGN_CENTER, 0);
//Image
sizer->Add(new wxStaticBitmap(this, -1, wxBitmap(ApIcon64)),0, wxALIGN_CENTER, 0);
+ //Applications
+ wxStaticBox* propertiesBox = new wxStaticBox(this, -1, _T("&Available Applications"));
+ wxStaticBoxSizer* propertiesBoxInnerSizer = new wxStaticBoxSizer(propertiesBox, wxVERTICAL);
+
+ std::vector<modelCDMApplication*> applications = this->appli->GetApplications();
+ for (int i = 0; i < applications.size(); i++)
+ {
+ wxHyperlinkCtrl* pLibrarylk = new wxHyperlinkCtrl(this,ID_LINK_SELECT_APPLICATION, crea::std2wx(applications[i]->GetName().c_str()), crea::std2wx(applications[i]->GetName().c_str()));
+ propertiesBoxInnerSizer -> Add(pLibrarylk, 0, wxALIGN_LEFT | wxALL, 5);
+ }
+
+ sizer -> Add(propertiesBoxInnerSizer, 0, wxEXPAND | wxALL, 10);
+
//Actions
wxStaticBox* actionsBox = new wxStaticBox(this, -1, _T("&Actions"));
wxStaticBoxSizer* actionsBoxInnerSizer = new wxStaticBoxSizer(actionsBox, wxVERTICAL);
std::cerr << "Event OnBtnEditCMakeLists not implemented" << std::endl;
event.Skip();
}
+
+void wxCDMAppliDescriptionPanel::OnLnkApplicationSelect(wxHyperlinkEvent& event)
+{
+ int applicationId = 0;
+ std::vector<modelCDMApplication*> applications = this->appli->GetApplications();
+ for (int i = 0; i < applications.size(); i++)
+ {
+ if(applications[i]->GetName() == crea::wx2std(event.GetURL()))
+ {
+ applicationId = applications[i]->GetId();
+ break;
+ }
+ }
+
+ wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+ newEvent->SetInt(applicationId);
+ newEvent->SetId(0);
+ wxPostEvent(this->GetParent(), *newEvent);
+}
+
+void wxCDMAppliDescriptionPanel::OnBtnReturn(wxCommandEvent& event)
+{
+ wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+ newEvent->SetInt(((wxCDMMainFrame*)this->GetParent())->GetModel()->GetProject()->GetId());
+ newEvent->SetId(0);
+ wxPostEvent(this->GetParent(), *newEvent);
+}