MainFrame::MainFrame(wxWindow* parent, wxLocale* locale, PropertiesData* initProperties, wxString openPath) : MainFrameBase(parent) { m_locale = locale; m_generalProperties = initProperties; Init(); if(openPath != "") { EnableCurrentProjectRibbon(); Workspace* newWorkspace = new Workspace(this, _("Open project"), this->GetStatusBar(), m_sharedGLContext); if(!m_sharedGLContext) m_sharedGLContext = newWorkspace->GetOpenGLContext(); FileHanding fileHandling(newWorkspace); if(fileHandling.OpenProject(openPath)) { newWorkspace->SetSavedPath(openPath); m_workspaceList.push_back(newWorkspace); m_ribbonButtonBarContinuous->ToggleButton(ID_RIBBON_DISABLESOL, true); m_ribbonButtonBarContinuous->ToggleButton(ID_RIBBON_ENABLESOL, false); m_auiNotebook->AddPage(newWorkspace, newWorkspace->GetName(), true); m_auiNotebook->Layout(); newWorkspace->Redraw(); newWorkspace->SetJustOpened(true); newWorkspace->Fit(); m_projectNumber++; } } }
void MainFrame::OnOpenClick(wxRibbonButtonBarEvent& event) { wxFileDialog openFileDialog(this, _("Open PSP file"), "", "", "PSP files (*.psp)|*.psp", wxFD_OPEN | wxFD_FILE_MUST_EXIST); if(openFileDialog.ShowModal() == wxID_CANCEL) return; wxFileName fileName(openFileDialog.GetPath()); EnableCurrentProjectRibbon(); Workspace* newWorkspace = new Workspace(this, _("Open project"), this->GetStatusBar(), m_sharedGLContext); if(!m_sharedGLContext) m_sharedGLContext = newWorkspace->GetOpenGLContext(); FileHanding fileHandling(newWorkspace); if(fileHandling.OpenProject(fileName)) { newWorkspace->SetSavedPath(fileName); m_workspaceList.push_back(newWorkspace); m_ribbonButtonBarContinuous->ToggleButton(ID_RIBBON_DISABLESOL, true); m_ribbonButtonBarContinuous->ToggleButton(ID_RIBBON_ENABLESOL, false); m_auiNotebook->AddPage(newWorkspace, newWorkspace->GetName(), true); m_auiNotebook->Layout(); newWorkspace->Redraw(); newWorkspace->SetJustOpened(true); newWorkspace->Fit(); m_projectNumber++; } else { wxMessageDialog msgDialog(this, _("It was not possible to open the selected file."), _("Error"), wxOK | wxCENTRE | wxICON_ERROR); msgDialog.ShowModal(); delete newWorkspace; } }
void MainFrame::OnNewClick(wxRibbonButtonBarEvent& event) { EnableCurrentProjectRibbon(); Workspace* newWorkspace = new Workspace(this, wxString::Format(_("New project %d"), m_projectNumber), this->GetStatusBar(), m_sharedGLContext); if(!m_sharedGLContext) m_sharedGLContext = newWorkspace->GetOpenGLContext(); m_workspaceList.push_back(newWorkspace); m_ribbonButtonBarContinuous->ToggleButton(ID_RIBBON_DISABLESOL, true); m_ribbonButtonBarContinuous->ToggleButton(ID_RIBBON_ENABLESOL, false); m_auiNotebook->AddPage(newWorkspace, newWorkspace->GetName(), true); newWorkspace->Redraw(); m_projectNumber++; }
void MainFrame::OnSaveAsClick(wxRibbonButtonBarEvent& event) { Workspace* workspace = static_cast<Workspace*>(m_auiNotebook->GetCurrentPage()); if(workspace) { FileHanding fileHandling(workspace); wxFileDialog saveFileDialog(this, _("Save PSP file"), "", "", "PSP files (*.psp)|*.psp", wxFD_SAVE | wxFD_OVERWRITE_PROMPT); if(saveFileDialog.ShowModal() == wxID_CANCEL) return; fileHandling.SaveProject(saveFileDialog.GetPath()); wxFileName fileName(saveFileDialog.GetPath()); workspace->SetName(fileName.GetName()); m_auiNotebook->SetPageText(m_auiNotebook->GetPageIndex(workspace), workspace->GetName()); workspace->SetSavedPath(fileName); } }
void MainFrame::OnImportClick(wxRibbonButtonBarEvent& event) { // Create a new workspace to import Workspace* impWorkspace = new Workspace(this, _("Imported project"), this->GetStatusBar(), m_sharedGLContext); ImportForm importForm(this, impWorkspace); if(importForm.ShowModal() == wxID_OK) { // Import file(s) EnableCurrentProjectRibbon(); if(!m_sharedGLContext) m_sharedGLContext = impWorkspace->GetOpenGLContext(); m_workspaceList.push_back(impWorkspace); m_ribbonButtonBarContinuous->ToggleButton(ID_RIBBON_DISABLESOL, true); m_ribbonButtonBarContinuous->ToggleButton(ID_RIBBON_ENABLESOL, false); m_auiNotebook->AddPage(impWorkspace, impWorkspace->GetName(), true); m_auiNotebook->Layout(); impWorkspace->Redraw(); impWorkspace->SetJustOpened(true); impWorkspace->Fit(); m_projectNumber++; } }
#include <catch/catch.hpp> #include "Blueprint/Workspace/Workspace.hpp" #include "TestHelpers/FileSystem.hpp" using namespace blueprint; TEST_CASE("TestWorkspace") { Workspace workspace; SECTION("Default State") { CHECK(workspace.GetName() == ""); CHECK(workspace.GetFile().empty()); CHECK(workspace.GetProjects().empty()); } SECTION("Name") { workspace.SetName("some_name"); CHECK(workspace.GetName() == "some_name"); workspace.SetName("some_other_name"); CHECK(workspace.GetName() == "some_other_name"); } SECTION("File") { workspace.SetFile("some/file"); CHECK(NormalizedPath(workspace.GetFile()) == "some/file");