#include "wxCDMMainFrame.h"
#include "wxCDMNewPackageDialog.h"
+#include "wxCDMPackageManagerHelpDialog.h"
+
#include "creaDevManagerIds.h"
#include "images/PkIcon64.xpm"
EVT_BUTTON(ID_BUTTON_PREV, wxCDMPackageManagerPanel::OnBtnReturn)
EVT_HYPERLINK(ID_LINK_SELECT_PACKAGE, wxCDMPackageManagerPanel::OnLnkPackageSelect)
EVT_BUTTON(ID_BUTTON_CREATE_PACKAGE, wxCDMPackageManagerPanel::OnBtnCreatePackage)
+EVT_COMMAND(wxID_ANY, wxEVT_COMMAND_TOOL_CLICKED, wxCDMPackageManagerPanel::OnBtnCreatePackage)
EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMPackageManagerPanel::OnBtnEditCMakeLists)
+EVT_COMMAND(wxID_ANY, wxEVT_COMMAND_TOOL_ENTER, wxCDMPackageManagerPanel::OnBtnEditCMakeLists)
END_EVENT_TABLE()
wxCDMPackageManagerPanel::wxCDMPackageManagerPanel(
std::string tt = "Author: " + packages[i]->GetAuthors() + "\nDescription: " + packages[i]->GetDescription();
pPackagelk->SetToolTip(crea::std2wx(tt));
propertiesPanelSizer -> Add(pPackagelk, 0, wxALIGN_LEFT | wxALL, 5);
+ pPackagelk->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageManagerPanel::OnMouseEnter,NULL,this);
+ pPackagelk->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageManagerPanel::OnMouseExit,NULL,this);
}
propertiesPanel->SetSizer(propertiesPanelSizer);
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);
//Assign sizer
SetSizer(sizer);
sizer->SetSizeHints(this);
+
+ if (((wxCDMMainFrame*)this->GetParent())->isHelp())
+ {
+ wxCDMPackageManagerHelpDialog* helpDialog = new wxCDMPackageManagerHelpDialog(this->GetParent(), this, wxID_ANY);
+ helpDialog->Show(true);
+ }
+}
+
+modelCDMProject* wxCDMPackageManagerPanel::GetProject() const
+{
+ return this->project;
}
void wxCDMPackageManagerPanel::OnBtnReturn(wxCommandEvent& event)
newEvent->SetId(0);
wxPostEvent(this->GetParent(), *newEvent);
+ wxCommandEvent* newEvent1 = new wxCommandEvent(wxEVT_COMMAND_LIST_ITEM_DESELECTED);
+ newEvent1->SetInt(packageId);
+ newEvent1->SetId(0);
+ wxPostEvent(this->GetParent(), *newEvent1);
+
}
void wxCDMPackageManagerPanel::OnBtnCreatePackage(wxCommandEvent& event)
void wxCDMPackageManagerPanel::OnBtnEditCMakeLists(wxCommandEvent& event)
{
- //TODO: implement method
- std::cerr << "Event OnBtnCreatePackage not implemented" << std::endl;
+ 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)
+{
+ wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LIST_ITEM_SELECTED);
+ std::string PkgName = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+ int pkgId = 0;
+ std::vector<modelCDMPackage*> packages = this->project->GetPackages();
+ for (int i = 0; i < packages.size(); i++)
+ {
+ if(packages[i]->GetName() == PkgName)
+ {
+ pkgId = packages[i]->GetId();
+ break;
+ }
+ }
+ newEvent->SetInt(pkgId);
+ newEvent->SetId(0);
+ wxPostEvent(this->GetParent(), *newEvent);
+ event.Skip();
+}
+
+void wxCDMPackageManagerPanel::OnMouseExit(wxMouseEvent& event)
+{
+ wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LIST_ITEM_DESELECTED);
+ std::string PkgName = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+ int pkgId = 0;
+ std::vector<modelCDMPackage*> packages = this->project->GetPackages();
+ project->GetPackages();
+ for (int i = 0; i < packages.size(); i++)
+ {
+ if(packages[i]->GetName() == PkgName)
+ {
+ pkgId = packages[i]->GetId();
+ break;
+ }
+ }
+ newEvent->SetInt(pkgId);
+ newEvent->SetId(0);
+ wxPostEvent(this->GetParent(), *newEvent);
+ 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();
}