}
//populate tree control
- tree_Projects->BuildTree(this->model->GetProject());
+ tree_Projects->BuildTree(this->model->GetModelElements(),this->model->GetProject());
tree_Projects->SelectItem(this->model->GetProject()->GetId());
//change description panel
//populate tree control
- tree_Projects->BuildTree(this->model->GetProject());
+ tree_Projects->BuildTree(this->model->GetModelElements(), this->model->GetProject());
tree_Projects->SelectItem(this->model->GetProject()->GetId());
//change description panel
std::cout << "error closing project: " << *result << std::endl;
wxMessageBox( crea::std2wx(result->c_str()), wxT("Close Project - Error"), wxICON_ERROR);
}
- tree_Projects->BuildTree(this->model->GetProject());
+ tree_Projects->BuildTree(this->model->GetModelElements(), this->model->GetProject());
if(this->panel_Properties != NULL)
{
}
void wxCDMMainFrame::OnMenuCloseAllProjects(wxCommandEvent& event)
{
- std::cerr << "Event OnMenuCloseAllProjects not implemented" << std::endl;
+ std::cerr << "Event OnMenuCloseAllProjects closing only one project" << std::endl;
+ std::string* result;
+ if(!this->model->CloseProject(result))
+ {
+ std::cout << "error closing project: " << *result << std::endl;
+ wxMessageBox( crea::std2wx(result->c_str()), wxT("Close Project - Error"), wxICON_ERROR);
+ }
+ tree_Projects->BuildTree(this->model->GetModelElements(), this->model->GetProject());
+
+ if(this->panel_Properties != NULL)
+ {
+ auiManager.DetachPane(this->panel_Properties);
+ this->panel_Properties->Destroy();
+ }
+ if(this->panel_ProjectActions != NULL)
+ {
+ auiManager.DetachPane(this->panel_ProjectActions);
+ this->panel_ProjectActions->Destroy();
+ }
+
+ this->panel_Properties = new wxCDMMainDescriptionPanel(
+ this,
+ ID_WINDOW_PROPERTIES,
+ wxT("Description Panel"),
+ wxDefaultPosition,
+ wxSize(300, 400),
+ 0
+ );
+
+ auiManager.AddPane(panel_Properties, wxCENTER, wxT("Properties"));
+
+ auiManager.Update();
event.Skip();
}
void wxCDMMainFrame::OnMenuExportHierarchy(wxCommandEvent& event)
void wxCDMMainFrame::OnMenuExit(wxCommandEvent& event)
{
std::cout << "Closing CreaDevManager..." << std::endl;
+ std::string* result;
+ if(!this->model->CloseProject(result))
+ {
+ std::cout << "error closing project: " << *result << std::endl;
+ wxMessageBox( crea::std2wx(result->c_str()), wxT("Close Project - Error"), wxICON_ERROR);
+ }
+ tree_Projects->BuildTree(this->model->GetModelElements(), this->model->GetProject());
+
+ if(this->panel_Properties != NULL)
+ {
+ auiManager.DetachPane(this->panel_Properties);
+ this->panel_Properties->Destroy();
+ }
+ if(this->panel_ProjectActions != NULL)
+ {
+ auiManager.DetachPane(this->panel_ProjectActions);
+ this->panel_ProjectActions->Destroy();
+ }
+
+ this->panel_Properties = new wxCDMMainDescriptionPanel(
+ this,
+ ID_WINDOW_PROPERTIES,
+ wxT("Description Panel"),
+ wxDefaultPosition,
+ wxSize(300, 400),
+ 0
+ );
Close();
event.Skip();
}
void wxCDMMainFrame::OnTreeSelectionChanged(wxTreeEvent& event)
{
- std::cerr << "Event OnTreeSelectionChange not implemented" << std::endl;
+ std::cout << "New Tree Selection" << std::endl;
+ //get selected element
+ wxTreeItemId elementId = event.GetItem();
+
+ //get element from model
+ modelCDMIProjectTreeNode* element = this->model->GetModelElements()[elementId];
+ std::cout << "Tree Selection: " << element->GetName() << std::endl;
+
+ //TODO get element type
+ //TODO create element description
+ //TODO delete old view
+ //TODO set new view
event.Skip();
+
}