From: Markus R. <rol...@us...> - 2007-07-08 13:58:32
|
Update of /cvsroot/simspark/simspark/contrib/rsgedit In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv21316 Modified Files: mainframe.cpp sparkedit.cpp sparkedit.h Log Message: - convert SparkEdit class to a singleton and fix up callers Index: sparkedit.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/contrib/rsgedit/sparkedit.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** sparkedit.cpp 23 Jun 2007 14:29:58 -0000 1.3 --- sparkedit.cpp 8 Jul 2007 13:58:28 -0000 1.4 *************** *** 30,36 **** static wxColour COL_KEYWORD(0,0,255); ! SparkEdit::TEditMap SparkEdit::mEditMap; ! wxFlatNotebookImageList SparkEdit::mNotebookImgList; ! wxScintilla* SparkEdit::mStartScript = 0; wxScintilla* SparkEdit::Create(wxWindow* parent) --- 30,47 ---- static wxColour COL_KEYWORD(0,0,255); ! SparkEdit::SparkEdit() ! : mStartScript(0) ! { ! } ! ! SparkEdit::~SparkEdit() ! { ! } ! ! SparkEdit& SparkEdit::GetInstance() ! { ! static SparkEdit theInstance; ! return theInstance; ! } wxScintilla* SparkEdit::Create(wxWindow* parent) *************** *** 391,395 **** return; } ! const EditEntry& entry = (*iter).second; SaveFile(edit, entry); --- 402,406 ---- return; } ! const EditEntry& entry = (*iter).second; SaveFile(edit, entry); Index: mainframe.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/contrib/rsgedit/mainframe.cpp,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** mainframe.cpp 8 Jul 2007 13:41:28 -0000 1.23 --- mainframe.cpp 8 Jul 2007 13:58:28 -0000 1.24 *************** *** 191,196 **** mCtrNotebook->AddPage(mCanvas, wxT("Canvas")); ! SparkEdit::PrepareImageList(mCtrNotebook); ! mCtrNotebook->SetPageImageIndex(0, SparkEdit::II_SIMSPARK); // create toolbar --- 191,196 ---- mCtrNotebook->AddPage(mCanvas, wxT("Canvas")); ! SparkEdit::GetInstance().PrepareImageList(mCtrNotebook); ! mCtrNotebook->SetPageImageIndex(0, SparkEdit::GetInstance().II_SIMSPARK); // create toolbar *************** *** 248,254 **** { wxString title(wxT("SimSpark")); ! if (SparkEdit::GetStartScript() != 0) { ! title += wxT(" <") + SparkEdit::GetStartScriptFile() + wxT(">"); } --- 248,254 ---- { wxString title(wxT("SimSpark")); ! if (SparkEdit::GetInstance().GetStartScript() != 0) { ! title += wxT(" <") + SparkEdit::GetInstance().GetStartScriptFile() + wxT(">"); } *************** *** 819,823 **** bool select = true; ! wxScintilla* edit = SparkEdit::GetEdit(fname,mCtrNotebook,select); if (edit != 0) { --- 819,823 ---- bool select = true; ! wxScintilla* edit = SparkEdit::GetInstance().GetEdit(fname,mCtrNotebook,select); if (edit != 0) { *************** *** 978,983 **** void mainframe::SaveModified() { ! SparkEdit::SaveModified(); ! SparkEdit::UpdateTitles(mCtrNotebook); } --- 978,983 ---- void mainframe::SaveModified() { ! SparkEdit::GetInstance().SaveModified(); ! SparkEdit::GetInstance().UpdateTitles(mCtrNotebook); } *************** *** 996,1000 **** } ! SparkEdit::SaveFile(edit); } --- 996,1000 ---- } ! SparkEdit::GetInstance().SaveFile(edit); } *************** *** 1027,1043 **** bool select = false; ! wxScintilla* edit = SparkEdit::GetEdit(filename, mCtrNotebook, select); if ( ! (SparkEdit::GetStartScript() != 0) || ! (SparkEdit::GetFileType(edit) != SparkEdit::ET_RB) ) { ! SparkEdit::SelectEdit(mCtrNotebook, edit); return; } SelectCanvasTab(); ! SparkEdit::SetStartScript(mCtrNotebook, edit); UpdateTitle(); OpenSimulation(filename); --- 1027,1043 ---- bool select = false; ! wxScintilla* edit = SparkEdit::GetInstance().GetEdit(filename, mCtrNotebook, select); if ( ! (SparkEdit::GetInstance().GetStartScript() != 0) || ! (SparkEdit::GetInstance().GetFileType(edit) != SparkEdit::GetInstance().ET_RB) ) { ! SparkEdit::GetInstance().SelectEdit(mCtrNotebook, edit); return; } SelectCanvasTab(); ! SparkEdit::GetInstance().SetStartScript(mCtrNotebook, edit); UpdateTitle(); OpenSimulation(filename); *************** *** 1048,1052 **** event.Enable( (GetSimState() == S_PAUSED) && ! (SparkEdit::GetStartScript() != 0) ); } --- 1048,1052 ---- event.Enable( (GetSimState() == S_PAUSED) && ! (SparkEdit::GetInstance().GetStartScript() != 0) ); } *************** *** 1054,1058 **** void mainframe::OnFileReload(wxCommandEvent& event) { ! wxString simName = SparkEdit::GetStartScriptFile(); if (simName.IsEmpty()) { --- 1054,1058 ---- void mainframe::OnFileReload(wxCommandEvent& event) { ! wxString simName = SparkEdit::GetInstance().GetStartScriptFile(); if (simName.IsEmpty()) { *************** *** 1224,1228 **** if (edit->GetModify()) { ! int res = wxMessageBox("The file '"+SparkEdit::GetFile(edit)+"' is modified.\n" "Do you want to save your changes?", "rsgedit", --- 1224,1228 ---- if (edit->GetModify()) { ! int res = wxMessageBox("The file '"+SparkEdit::GetInstance().GetFile(edit)+"' is modified.\n" "Do you want to save your changes?", "rsgedit", *************** *** 1241,1245 **** case wxYES: ! SparkEdit::SaveFile(edit); break; --- 1241,1245 ---- case wxYES: ! SparkEdit::GetInstance().SaveFile(edit); break; *************** *** 1251,1255 **** if (edit != 0) { ! SparkEdit::PutEdit(edit); UpdateTitle(); } --- 1251,1255 ---- if (edit != 0) { ! SparkEdit::GetInstance().PutEdit(edit); UpdateTitle(); } *************** *** 1271,1275 **** void mainframe::OnEditSavePointReached(wxScintillaEvent& event) { ! SparkEdit::UpdateTitle(mCtrNotebook,static_cast<wxScintilla*>(event.GetEventObject())); event.Skip(); } --- 1271,1275 ---- void mainframe::OnEditSavePointReached(wxScintillaEvent& event) { ! SparkEdit::GetInstance().UpdateTitle(mCtrNotebook,static_cast<wxScintilla*>(event.GetEventObject())); event.Skip(); } *************** *** 1277,1281 **** void mainframe::OnEditSavePointLeft(wxScintillaEvent& event) { ! SparkEdit::UpdateTitle(mCtrNotebook,static_cast<wxScintilla*>(event.GetEventObject())); event.Skip(); } --- 1277,1281 ---- void mainframe::OnEditSavePointLeft(wxScintillaEvent& event) { ! SparkEdit::GetInstance().UpdateTitle(mCtrNotebook,static_cast<wxScintilla*>(event.GetEventObject())); event.Skip(); } Index: sparkedit.h =================================================================== RCS file: /cvsroot/simspark/simspark/contrib/rsgedit/sparkedit.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** sparkedit.h 23 Jun 2007 14:29:58 -0000 1.3 --- sparkedit.h 8 Jul 2007 13:58:28 -0000 1.4 *************** *** 63,99 **** typedef std::map<wxScintilla*, EditEntry > TEditMap; public: ! static wxScintilla* GetEdit(const wxString& fname, wxFlatNotebook* notebook, bool select); ! static void PutEdit(wxScintilla* edit); ! static void UpdateTitles(wxFlatNotebook* notebook); ! static void UpdateTitle(wxFlatNotebook* notebook, wxScintilla* edit); ! static void UpdateIcons(wxFlatNotebook* notebook); ! static void SaveFile(wxScintilla* edit); ! static void SaveModified(); ! static void SetStartScript(wxFlatNotebook* notebook, wxScintilla* edit); ! static wxScintilla* GetStartScript(); ! static EEditType GetFileType(wxScintilla* edit); ! static wxString GetFile(wxScintilla* edit); ! static wxString GetStartScriptFile(); ! static void PrepareImageList(wxFlatNotebook* notebook); ! static void SelectEdit(wxFlatNotebook* notebook, wxScintilla* edit); protected: ! static wxScintilla* Create(wxWindow* parent); ! static bool LoadFile(wxScintilla* edit, EditEntry& entry); ! static void PrepareEdit(wxScintilla* edit, const EditEntry& entry); ! static wxString GetTitle(wxScintilla* edit, const EditEntry& entry); ! static void UpdateIcon(wxFlatNotebook* notebook, wxScintilla* edit, const EditEntry& entry); ! static int GetImageIndex(const wxScintilla* edit, const EditEntry& entry); ! static void SaveFile(wxScintilla* edit, const EditEntry& entry); protected: ! static TEditMap mEditMap; ! static wxFlatNotebookImageList mNotebookImgList; //! the editor holding the simulation start script ! static wxScintilla* mStartScript; }; --- 63,105 ---- typedef std::map<wxScintilla*, EditEntry > TEditMap; + private: + SparkEdit(); + public: ! static SparkEdit& GetInstance(); ! ~SparkEdit(); ! ! wxScintilla* GetEdit(const wxString& fname, wxFlatNotebook* notebook, bool select); ! void PutEdit(wxScintilla* edit); ! void UpdateTitles(wxFlatNotebook* notebook); ! void UpdateTitle(wxFlatNotebook* notebook, wxScintilla* edit); ! void UpdateIcons(wxFlatNotebook* notebook); ! void SaveFile(wxScintilla* edit); ! void SaveModified(); ! void SetStartScript(wxFlatNotebook* notebook, wxScintilla* edit); ! wxScintilla* GetStartScript(); ! EEditType GetFileType(wxScintilla* edit); ! wxString GetFile(wxScintilla* edit); ! wxString GetStartScriptFile(); ! void PrepareImageList(wxFlatNotebook* notebook); ! void SelectEdit(wxFlatNotebook* notebook, wxScintilla* edit); protected: ! wxScintilla* Create(wxWindow* parent); ! bool LoadFile(wxScintilla* edit, EditEntry& entry); ! void PrepareEdit(wxScintilla* edit, const EditEntry& entry); ! wxString GetTitle(wxScintilla* edit, const EditEntry& entry); ! void UpdateIcon(wxFlatNotebook* notebook, wxScintilla* edit, const EditEntry& entry); ! int GetImageIndex(const wxScintilla* edit, const EditEntry& entry); ! void SaveFile(wxScintilla* edit, const EditEntry& entry); protected: ! TEditMap mEditMap; ! wxFlatNotebookImageList mNotebookImgList; //! the editor holding the simulation start script ! wxScintilla* mStartScript; }; |