#include "bbtkwxGUIEditorGraphicBBS.h"
#include "creaWx.h"
+#include <bbtkInterpreter.h>
+#include <ExecuterBBSG.h>
+
+
+
namespace bbtk
{
wxMenu *fileMenu = new wxMenu();
fileMenu->Append(ID_NEW, _T("New diagram"), _T("New"));
fileMenu->Append(ID_SAVE_AS_DIAGRAM, _T("Save diagram"), _T("Save diagram"));
+ fileMenu->Append(ID_OPEN_BBS, _T("Open BBS"), _T("Open BBS"));
fileMenu->Append(ID_SAVE_AS_BBS, _T("Save BBS"), _T("Save BBS"));
fileMenu->Append(ID_SAVE_AS_COMPLEXBOX, _T("Save complex box"), _T("Save complex box"));
fileMenu->Append(wxID_EXIT, _T("E&xit"), _T("Exit"));
Connect(ID_NEW,wxEVT_COMMAND_MENU_SELECTED,wxCommandEventHandler(wxGUIEditorGraphicBBS::OnCreateNewTab));
Connect(ID_SAVE_AS_DIAGRAM,wxEVT_COMMAND_MENU_SELECTED,wxCommandEventHandler(wxGUIEditorGraphicBBS::OnSaveActualDiagram));
+ Connect(ID_OPEN_BBS,wxEVT_COMMAND_MENU_SELECTED,wxCommandEventHandler(wxGUIEditorGraphicBBS::OnOpenBBS));
Connect(ID_SAVE_AS_BBS,wxEVT_COMMAND_MENU_SELECTED,wxCommandEventHandler(wxGUIEditorGraphicBBS::OnSaveActualBBS));
Connect(ID_SAVE_AS_COMPLEXBOX,wxEVT_COMMAND_MENU_SELECTED,wxCommandEventHandler(wxGUIEditorGraphicBBS::OnSaveActualComplexBox));
Connect(wxID_EXIT,wxEVT_COMMAND_MENU_SELECTED,wxCommandEventHandler(wxGUIEditorGraphicBBS::OnExit));
executeScript(script);
}
+
//=========================================================================
// HANDLERS
//=========================================================================
+ void wxGUIEditorGraphicBBS::OnOpenBBS(wxCommandEvent& event)
+ {
+ wxFileDialog * openFileDialog = new wxFileDialog(this,wxT("Open BBS"),wxEmptyString,wxT("NewBBS"),wxT("*.bbs"),wxOPEN);
+ if (openFileDialog->ShowModal() == wxID_OK)
+ {
+ wxString fileName = openFileDialog->GetPath( );
+ printf("EED wxGUIEditorGraphicBBS::OnOpenBBS file=%s\n", (const char*) (fileName.mb_str()) );
+
+ bbtk::EExecuterBBSG::Pointer exe = bbtk::EExecuterBBSG::New();
+// EExecuterBBSG *exe = new EExecuterBBSG();
+ bbtk::Interpreter::Pointer I = bbtk::Interpreter::New( boost::static_pointer_cast<VirtualExec>(exe) );
+// bbtk::Interpreter::Pointer I = bbtk::Interpreter::New( ExecuterBBSG::New() );
+// bbtk::Interpreter::Pointer I = bbtk::Interpreter::New( );
+
+ // We tell the interpreter to throw exceptions on error
+ I->SetThrow(true);
+ // Interpret the file supposed to define a box called 'Processing'
+ I->InterpretFile( (const char*) (fileName.mb_str()) );
+
+
+ }
+ }
void wxGUIEditorGraphicBBS::OnSaveActualBBS(wxCommandEvent& event)
{
wxFileDialog * saveFileDialog = new wxFileDialog(this,wxT("Save actual BBS"),wxEmptyString,wxT("NewBBS"),wxT("*.bbs"),wxSAVE|wxOVERWRITE_PROMPT);
if (saveFileDialog->ShowModal() == wxID_OK)
{
- wxString fileName = saveFileDialog->GetPath();
+ wxString fileName = saveFileDialog->GetPath( );
ofstream file;