EVT_BUTTON(ID_BUTTON_OPENPROJECT, wxCDMMainFrame::OnMenuOpenProject)
EVT_TREE_SEL_CHANGING(ID_TREE_PROJECTS, wxCDMMainFrame::OnTreeSelectionChanged)
EVT_COMMAND(wxID_ANY, wxEVT_DISPLAY_CHANGED, wxCDMMainFrame::OnCreationComplete)
+EVT_COMMAND(wxID_ANY, wxEVT_COMMAND_LIST_ITEM_SELECTED, wxCDMMainFrame::OnElementSelected)
+EVT_COMMAND(wxID_ANY, wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxCDMMainFrame::OnElementDeselected)
END_EVENT_TABLE()
wxCDMMainFrame::wxCDMMainFrame(
auiManager.AddPane(panel_Properties, wxAuiPaneInfo().BestSize(600,400).CenterPane().Name(wxT("panel_Properties")).Caption(wxT("")).CloseButton(false));
- auiManager.AddPane(tree_Projects, wxAuiPaneInfo().Left().MinSize(300,300).BestSize(300,400).CloseButton(false).Name(wxT("tree_Projects")).Caption(wxT("Project Tree")).CloseButton(false));
+ auiManager.AddPane(tree_Projects, wxAuiPaneInfo().Right().MinSize(300,300).BestSize(300,400).CloseButton(false).Name(wxT("tree_Projects")).Caption(wxT("Project Tree")).CloseButton(false));
wxString pers = auiManager.SavePerspective();
{
auiManager.DetachPane(this->panel_Properties);
this->panel_Properties->Destroy();
+ this->panel_Properties = NULL;
}
this->panel_Properties = new wxCDMProjectDescriptionPanel(
{
auiManager.DetachPane(this->panel_Properties);
this->panel_ProjectActions->Destroy();
+ this->panel_ProjectActions = NULL;
}
panel_ProjectActions = new wxCDMProjectActionsPanel(
{
auiManager.DetachPane(this->panel_Properties);
this->panel_Properties->Destroy();
+ this->panel_Properties = NULL;
}
this->panel_Properties = new wxCDMProjectDescriptionPanel(
{
auiManager.DetachPane(this->panel_ProjectActions);
this->panel_ProjectActions->Destroy();
+ this->panel_ProjectActions = NULL;
}
panel_ProjectActions = new wxCDMProjectActionsPanel(
this,
{
auiManager.DetachPane(this->panel_Properties);
this->panel_Properties->Destroy();
+ this->panel_Properties = NULL;
}
if(this->panel_ProjectActions != NULL)
{
auiManager.DetachPane(this->panel_ProjectActions);
this->panel_ProjectActions->Destroy();
+ this->panel_ProjectActions = NULL;
}
this->panel_Properties = new wxCDMMainDescriptionPanel(
{
auiManager.DetachPane(this->panel_Properties);
this->panel_Properties->Destroy();
+ this->panel_Properties = NULL;
}
if(this->panel_ProjectActions != NULL)
{
auiManager.DetachPane(this->panel_ProjectActions);
this->panel_ProjectActions->Destroy();
+ this->panel_ProjectActions = NULL;
}
this->panel_Properties = new wxCDMMainDescriptionPanel(
{
std::cout << "Closing CreaDevManager..." << std::endl;
std::string* result;
- if(!this->model->CloseProject(result))
+ if(this->model->GetProject() != NULL && !this->model->CloseProject(result))
{
std::cout << "error closing project: " << *result << std::endl;
wxMessageBox( crea::std2wx(result->c_str()), wxT("Close Project - Error"), wxICON_ERROR);
{
auiManager.DetachPane(this->panel_Properties);
this->panel_Properties->Destroy();
+ this->panel_Properties = NULL;
}
+
if(this->panel_ProjectActions != NULL)
{
auiManager.DetachPane(this->panel_ProjectActions);
this->panel_ProjectActions->Destroy();
+ this->panel_ProjectActions = NULL;
}
- this->panel_Properties = new wxCDMMainDescriptionPanel(
- this,
- ID_WINDOW_PROPERTIES,
- wxT("Description Panel"),
- wxDefaultPosition,
- wxSize(600, 400),
- 0
- );
Close();
event.Skip();
}
{
std::cerr << "Event OnMenuBBTKGraphicalEditor not implemented" << std::endl;
event.Skip();
+ if(CDMUtilities::openBBEditor())
+ {
+ wxMessageBox( wxT("Can't open the BB Graphical Editor. Please check your Crea Tools installation."), wxT("Refresh Project - Error"), wxICON_ERROR);
+ }
}
void wxCDMMainFrame::OnMenuMiniTools(wxCommandEvent& event)
{
- std::cerr << "Event OnMenuMiniTools not implemented" << std::endl;
- event.Skip();
+ if(CDMUtilities::openCreaToolsTools())
+ {
+ wxMessageBox( wxT("Can't open the Minitools. Please check your Crea Tools installation."), wxT("Refresh Project - Error"), wxICON_ERROR);
+ }
}
void wxCDMMainFrame::OnMenuCodeEditor(wxCommandEvent& event)
{
- std::cerr << "Event OnMenuCodeEditor not implemented" << std::endl;
- event.Skip();
+ if(CDMUtilities::openTextEditor())
+ {
+ wxMessageBox( wxT("Can't open the Text Editor. Please check the default text editor command in the Crea Development Manager settings (Edit -> Settings)."), wxT("Refresh Project - Error"), wxICON_ERROR);
+ }
}
void wxCDMMainFrame::OnMenuCommandLine(wxCommandEvent& event)
{
- std::cerr << "Event OnMenuCommandLine not implemented" << std::endl;
- event.Skip();
+ if(CDMUtilities::openTerminal())
+ {
+ wxMessageBox( wxT("Can't open Terminal. Please check the default terminal command in the Crea Development Manager settings (Edit -> Settings)."), wxT("Refresh Project - Error"), wxICON_ERROR);
+ }
}
//Help Menu
void wxCDMMainFrame::OnTreeSelectionChanged(wxTreeEvent& event)
{
- std::cout << "New Tree Selection" << std::endl;
-
- if(event.GetId() != 0)
- {
- event.Skip();
- }
-
-
//get selected element
wxTreeItemId elementId = event.GetItem();
//delete old view
if(this->panel_Properties!= NULL)
{
- this->panel_Properties->Destroy();
auiManager.DetachPane(this->panel_Properties);
+ this->panel_Properties->Destroy();
+ this->panel_Properties = NULL;
}
//set new view
void wxCDMMainFrame::OnCreationComplete(wxCommandEvent& event)
{
- std::cout << "inMainFrame id: " << event.GetId() << ", tree element: "<< event.GetInt() << std::endl;
switch(event.GetId() != 0)
{
case 0:
//select out old one to generate selection event
- this->tree_Projects->SelectItem(event.GetInt(), false);
this->tree_Projects->SelectItem(event.GetInt(), true);
+ this->tree_Projects->Expand(event.GetInt());
break;
case 1:
wxPanel* description = NULL;
if(event.GetString() == wxT("manage_packages"))
{
+ this->tree_Projects->SelectItem(this->model->GetProject()->GetId(), false);
+ this->tree_Projects->Expand(this->model->GetProject()->GetId());
description = new wxCDMPackageManagerPanel(
this,
this->model->GetProject(),
}
else if(event.GetString() == wxT("manage_libraries"))
{
- this->tree_Projects->SelectItem(this->model->GetProject()->GetLib()->GetId(), false);
this->tree_Projects->SelectItem(this->model->GetProject()->GetLib()->GetId(), true);
+ this->tree_Projects->Expand(this->model->GetProject()->GetLib()->GetId());
break;
}
else if(event.GetString() == wxT("manage_applications"))
{
- this->tree_Projects->SelectItem(this->model->GetProject()->GetAppli()->GetId(), false);
this->tree_Projects->SelectItem(this->model->GetProject()->GetAppli()->GetId(), true);
+ this->tree_Projects->Expand(this->model->GetProject()->GetAppli()->GetId());
break;
}
//delete old view
if(this->panel_Properties!= NULL)
{
- this->panel_Properties->Destroy();
auiManager.DetachPane(this->panel_Properties);
+ this->panel_Properties->Destroy();
+ this->panel_Properties = NULL;
}
//set new view
}
event.Skip();
}
+
+void wxCDMMainFrame::OnElementSelected(wxCommandEvent& event)
+{
+ //std::cout << "element " << event.GetInt() << std::endl;
+ this->tree_Projects->SetItemBold(event.GetInt(), true);
+ this->tree_Projects->SetItemTextColour(event.GetInt(), wxColour(0,0,255));
+ this->tree_Projects->UpdateWindowUI(wxUPDATE_UI_RECURSE);
+ auiManager.Update();
+}
+
+void wxCDMMainFrame::OnElementDeselected(wxCommandEvent& event)
+{
+ this->tree_Projects->SetItemBold(event.GetInt(), false);
+ this->tree_Projects->SetItemTextColour(event.GetInt(), wxColour(0,0,0));
+ this->tree_Projects->UpdateWindowUI(wxUPDATE_UI_RECURSE);
+ auiManager.Update();
+}