X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaDevManagerLib%2FwxCDMPackageManagerPanel.cpp;h=683d4ec4d09f7951897b662895e682a42c9fc63d;hb=311bdcc514f85386f3bbbef9ff6a88bf69fd930f;hp=28b2fe110db2fdc8b3aa5756f03a297b6b26e289;hpb=d8222afd6508f39bd37426842667de2e431cca4a;p=crea.git diff --git a/lib/creaDevManagerLib/wxCDMPackageManagerPanel.cpp b/lib/creaDevManagerLib/wxCDMPackageManagerPanel.cpp index 28b2fe1..683d4ec 100644 --- a/lib/creaDevManagerLib/wxCDMPackageManagerPanel.cpp +++ b/lib/creaDevManagerLib/wxCDMPackageManagerPanel.cpp @@ -128,6 +128,8 @@ void wxCDMPackageManagerPanel::CreateControls() actionsPanelSizer->Add(createPkgbt, 0, wxALL, 5); wxButton* editCMakebt = new wxButton(actionsPanel, ID_BUTTON_EDIT_CMAKELISTSFILE, _T("Edit CMakeLists File")); editCMakebt->SetToolTip(wxT("Edit the CMakeLists.txt file of this project.")); + editCMakebt->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageManagerPanel::OnCMakeMouseEnter,NULL,this); + editCMakebt->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageManagerPanel::OnCMakeMouseExit,NULL,this); actionsPanelSizer->Add(editCMakebt, 0, wxALL, 5); actionsPanel->SetSizer(actionsPanelSizer); @@ -216,9 +218,19 @@ void wxCDMPackageManagerPanel::OnBtnCreatePackage(wxCommandEvent& event) void wxCDMPackageManagerPanel::OnBtnEditCMakeLists(wxCommandEvent& event) { - //TODO: implement method - std::cerr << "Event OnBtnCreatePackage not implemented" << std::endl; - event.Skip(); + std::string* result; + if(!this->project->OpenCMakeListsFile(result)) + wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR); + + wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LIST_ITEM_DESELECTED); + + if(this->project->GetCMakeLists() != NULL) + { + int CMId = this->project->GetCMakeLists()->GetId(); + newEvent->SetInt(CMId); + newEvent->SetId(0); + wxPostEvent(this->GetParent(), *newEvent); + } } void wxCDMPackageManagerPanel::OnMouseEnter(wxMouseEvent& event) @@ -262,4 +274,32 @@ void wxCDMPackageManagerPanel::OnMouseExit(wxMouseEvent& event) event.Skip(); } +void wxCDMPackageManagerPanel::OnCMakeMouseEnter(wxMouseEvent& event) +{ + wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LIST_ITEM_SELECTED); + + if(this->project->GetCMakeLists() != NULL) + { + int CMId = this->project->GetCMakeLists()->GetId(); + newEvent->SetInt(CMId); + newEvent->SetId(0); + wxPostEvent(this->GetParent(), *newEvent); + } + event.Skip(); +} + +void wxCDMPackageManagerPanel::OnCMakeMouseExit(wxMouseEvent& event) +{ + wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LIST_ITEM_DESELECTED); + + if(this->project->GetCMakeLists() != NULL) + { + int CMId = this->project->GetCMakeLists()->GetId(); + newEvent->SetInt(CMId); + newEvent->SetId(0); + wxPostEvent(this->GetParent(), *newEvent); + } + event.Skip(); +} +