void frmDatabaseDesigner::OnModelSave(wxCommandEvent &event) { if (lastFile != wxEmptyString) { design->writeXmlModel(lastFile); setModelChanged(false); setExtendedTitle(); } else { OnModelSaveAs(event); } }
void frmDatabaseDesigner::OnModelLoad(wxCommandEvent &event) { if(changed) { // Ask what to do with old model int answer = wxMessageBox(_("Save model changes?"), _("Confirm"), wxYES_NO | wxCANCEL); if (answer == wxYES) { if (lastFile != wxEmptyString) OnModelSave(event); else OnModelSaveAs(event); } if(answer == wxCANCEL) return; } //Open Model wxFileDialog openFileDialog(this, _("Open model"), wxT(""), wxT(""), wxT("*.pgd"), wxFD_OPEN | wxFD_FILE_MUST_EXIST, wxDefaultPosition); if (openFileDialog.ShowModal() == wxID_OK) { wxString path; path.append(openFileDialog.GetDirectory()); path.append(wxFileName::GetPathSeparator()); path.append(openFileDialog.GetFilename()); if(!path.Lower().Matches(wxT("*.pgd"))) path.append(wxT(".pgd")); lastFile = path; // Clean treeview, notebook, and sql pane design->emptyModel(); while(diagrams->GetPageCount() > 0) { diagrams->RemovePage(0); design->deleteDiagram(0); } sqltext->SetText(wxEmptyString); // Read model from xml file design->readXmlModel(path, diagrams); setModelChanged(false); setExtendedTitle(); } }
void frmDatabaseDesigner::OnNewModel(wxCommandEvent &event) { hdDrawingView *view = (hdDrawingView *) diagrams->GetPage(diagrams->GetSelection()); if (changed) { // Ask what to do with old model int answer = wxMessageBox(_("Save model changes?"), _("Confirm"), wxYES_NO | wxCANCEL); if (answer == wxYES) { if (!lastFile.IsEmpty()) OnModelSave(event); else OnModelSaveAs(event); } else if (answer == wxCANCEL) return; } // Clean treeview, notebook, and sql pane design->emptyModel(); while (diagrams->GetPageCount() > 0) { diagrams->RemovePage(0); design->deleteDiagram(0); } sqltext->SetText(wxEmptyString); // Add new diagram diagrams->AddPage(design->createDiagram(diagrams, _("unnamed"), false)->getView(), _("unnamed")); // Misc lastFile = wxEmptyString; setModelChanged(false); setExtendedTitle(); UpdateToolbar(); }