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::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); } }