}
//=========================================================================
-wxGUIEditorGraphicBBS::~wxGUIEditorGraphicBBS() {
-
- printf("EED %p ~wxGUIEditorGraphicBBS()\n", this);
-
+wxGUIEditorGraphicBBS::~wxGUIEditorGraphicBBS()
+{
//EED02JUIN2010 delete _tabsMgr;
-
_frameAUIMgr->UnInit();
// FCY memory leaks
delete _frameAUIMgr;
delete _notebook;
delete _tabsMgr;
-
}
//=========================================================================
-void wxGUIEditorGraphicBBS::initToolbar() {
+void wxGUIEditorGraphicBBS::initToolbar()
+{
wxBitmap bmp_new(new_xpm);
wxBitmap bmp_open(open_xpm);
wxBitmap bmp_save(save_xpm);
wxBitmap bmp_undo(undo_xpm);
wxBitmap bmp_redo(redo_xpm);
wxBitmap bmp_editProperties(editProperties_xpm);
- wxToolBar *toolbar = new wxToolBar(this, wxID_ANY);
+ wxBitmap bmp_showTree(showTree_xpm);
+
+// wxToolBar *toolbar = new wxToolBar(this, wxID_ANY);
+ wxToolBar *toolbar = CreateToolBar();
//Adds a tool btn to the toolbar
toolbar->AddTool(ID_NEW, _T("New"), bmp_new, wxNullBitmap, wxITEM_NORMAL,
_T("New tab"), _T("Create a new panel tab"));
+
toolbar->AddTool(ID_OPEN, _T("Open diagram"), bmp_open, wxNullBitmap,
wxITEM_NORMAL, _T("Open a diagram"), _T("Open a diagram"));
+
toolbar->AddTool(ID_SAVE_DIAGRAM, _T("Save Diagram"), bmp_save,
wxNullBitmap, wxITEM_NORMAL, _T("Saves the current diagram"),
_T("Saves the current diagram")); //DFCH
toolbar->AddSeparator();
toolbar->AddTool(ID_BTNCOMPLEXBOX, _T("Complex box"), complexbox_xpm,
wxNullBitmap, wxITEM_NORMAL, _T("Complex box"), _T("Complex box"));
+
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
toolbar->SetToggle(ID_BTNCOMPLEXBOX, true);
+#else
+ printf ("EED Warnning. wxGUIEditorGraphicBBS::initToolbar >>> toolbar->SetToggle \n ");
+ // ..
+#endif
// RaC 2012 2nd HackFest - Now Complex inputs are any external input
// toolbar->AddTool(ID_ADDCOMPLEXBOXINPUT, _T("Add input to Complex box"),
toolbar->AddSeparator();
toolbar->AddTool(ID_EDITPROPERTIES, _T("Edit diagram properties"),bmp_editProperties, wxNullBitmap, wxITEM_NORMAL, _T("Edit diagram properties"), _T("Edit diagram properties"));
toolbar->EnableTool(ID_EDITPROPERTIES, false);
+
+ toolbar->AddTool(ID_SHOWTREE, _T("Show tree"),bmp_showTree, wxNullBitmap, wxITEM_NORMAL, _T("Show tree"), _T("Show tree"));
+
toolbar->EnableTool(ID_UNDO, false);
toolbar->EnableTool(ID_REDO, false);
toolbar->Realize();
SetToolBar(toolbar);
+
// connect command event handlers
Connect(ID_REDO,wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(wxGUIEditorGraphicBBS::OnRedo));
Connect(ID_CHANGENAME, wxEVT_COMMAND_RIGHT_CLICK, wxCommandEventHandler(wxGUIEditorGraphicBBS::OnChangeName));
Connect(ID_EDITPROPERTIES,wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(wxGUIEditorGraphicBBS::OnEditDiagramProperties));
+ Connect(ID_SHOWTREE,wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(wxGUIEditorGraphicBBS::OnShowTree));
+
}
//=========================================================================
{
if (_actualPkgBrowserPkgName != packageName || _actualPkgBrowserBoxName != boxName)
{
+
_actualPkgBrowserPkgName = packageName;
_actualPkgBrowserBoxName = boxName;
//EED 15 oct 2012 BlackBoxDescriptor::Pointer descriptor = GObjectsMVCFactory::getInstance()->getBlackBoxDescriptor(packageName, boxName);
Package::Pointer k;
+//EED ComplexBlackBoxDescriptor::Pointer descriptor;
+ BlackBoxDescriptor::Pointer descriptor;
+
+ std::map< std::string, BlackBoxDescriptor::Pointer> mapDesc;
+ k = _pkgBrowser->GetFactory()->GetPackage(_actualPkgBrowserPkgName);
+ mapDesc = k->GetDescriptorMap();
+ descriptor = mapDesc[_actualPkgBrowserBoxName];
+/*
+ tree.treeTour(0);
+
+ tree.deleteTree();
+
+ descriptor->GetBoxesInside(tree, 0);
+
+ //tree.treeTour(0);
+ //std::vector<std::string> boxesDiagram = _sceneM->boxesDiagram;
+ //for(int i=0;i<boxesDiagram.size();i++){
+ // std::cout<<"caja: "<<boxesDiagram[i]<<std::endl;
+ //}
+
+ _actualPkgBrowserPkgName = "";
+ _actualPkgBrowserBoxName = "";
+*/
+ /*
+ Package::Pointer k;
BlackBoxDescriptor::Pointer descriptor;
std::map< std::string, BlackBoxDescriptor::Pointer> mapDesc;
k = _pkgBrowser->GetFactory()->GetPackage(packageName);
+ std::vector<std::string> temp;
+ _pkgBrowser->GetFactory()->GetPackagesList(temp);
+ for(int ii = 0 ; ii < temp.size() ; ii++)
+ {
+ std::cout << " packs "<< temp[ii]<< std::endl;
+ }
mapDesc = k->GetDescriptorMap();
descriptor = mapDesc[boxName];
-
+ */
_pkgBrowser->WxGUIBlackBoxListUserOnSelected(descriptor.get());
}
}
command += " & ";
#endif
+#ifndef APPLE
+ command = "source ~/.profile; "+command;
+#endif
+
+
printf("RaC wxGUIEditorGraphicBBS::executeScript %s \n", command.c_str());
system(command.c_str());
}
void wxGUIEditorGraphicBBS::OnChangeName(wxCommandEvent& event){
}
+//=========================================================================
+
+void wxGUIEditorGraphicBBS::OnShowTree(wxCommandEvent& event){
+ std::cout << "wxGUIEditorGraphicBBS::OnShowTree"<<std::endl;
+if (_actualPkgBrowserPkgName !="" || _actualPkgBrowserBoxName != "")
+ {
+ Package::Pointer k;
+//EED ComplexBlackBoxDescriptor::Pointer descriptor;
+ BlackBoxDescriptor::Pointer descriptor;
+
+ std::map< std::string, BlackBoxDescriptor::Pointer> mapDesc;
+ k = _pkgBrowser->GetFactory()->GetPackage(_actualPkgBrowserPkgName);
+ mapDesc = k->GetDescriptorMap();
+ descriptor = mapDesc[_actualPkgBrowserBoxName];
+
+ tree.treeTour(0);
+
+ tree.deleteTree();
+
+ descriptor->GetBoxesInside(tree, 0);
+
+ _actualPkgBrowserPkgName = "";
+ _actualPkgBrowserBoxName = "";
+ }
+else
+ {
+ std::cout<<"Select a Box"<<std::endl;
+ }
+}
//=========================================================================
void wxGUIEditorGraphicBBS::OnEditDiagramProperties(wxCommandEvent& event)
{
wxDiagramPropertiesEditionDialog* dialog =
- new wxDiagramPropertiesEditionDialog(this);
+ new wxDiagramPropertiesEditionDialog(this, tree);
dialog->Show();
}
//=========================================================================
void wxGUIEditorGraphicBBS::OnOpenBBS(wxCommandEvent& event)
{
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
wxFileDialog * openFileDialog = new wxFileDialog(this, wxT("Open BBS"), wxEmptyString, wxT("NewBBS"), wxT("*.bbs"), wxOPEN);
+#else
+ wxFileDialog * openFileDialog = new wxFileDialog(this, wxT("Open BBS"), wxEmptyString, wxT("NewBBS"), wxT("*.bbs"), wxFD_OPEN);
+#endif
if (openFileDialog->ShowModal() == wxID_OK)
{
}
void wxGUIEditorGraphicBBS::OnSaveActualBBS(wxCommandEvent& event) {
+
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
wxFileDialog * saveFileDialog = new wxFileDialog(this,
wxT("Save actual BBS"), wxEmptyString, wxT("NewBBS"),
wxT("*.bbs"), wxSAVE | wxOVERWRITE_PROMPT);
+#else
+ wxFileDialog * saveFileDialog = new wxFileDialog(this,
+ wxT("Save actual BBS"), wxEmptyString, wxT("NewBBS"),
+ wxT("*.bbs"), wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
+#endif
+
if (saveFileDialog->ShowModal() == wxID_OK) {
wxString fileName = saveFileDialog->GetPath();
std::string filename = (const char*) (fileName.mb_str());
//=========================================================================
-void wxGUIEditorGraphicBBS::OnSaveActualComplexBox(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnSaveActualComplexBox(wxCommandEvent& event)
+{
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
wxFileDialog * saveFileDialog = new wxFileDialog(this,
wxT("Save Complex Box BBS"), wxEmptyString,
_T("ComplexBoxName"), wxT("*.bbs"), wxSAVE
| wxOVERWRITE_PROMPT);
+#else
+ wxFileDialog * saveFileDialog = new wxFileDialog(this,
+ wxT("Save Complex Box BBS"), wxEmptyString,
+ _T("ComplexBoxName"), wxT("*.bbs"), wxFD_SAVE
+ | wxFD_OVERWRITE_PROMPT);
+#endif
+
if (saveFileDialog->ShowModal() == wxID_OK) {
wxString fileName = saveFileDialog->GetPath();
std::string filename = (const char*) (fileName.mb_str());
//The following method allows to save the current diagram asking the filename
//DFCH
-void wxGUIEditorGraphicBBS::SaveCurrentDiagramAs() {
+void wxGUIEditorGraphicBBS::SaveCurrentDiagramAs()
+{
+
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
wxFileDialog * saveFileDialog = new wxFileDialog(this,
wxT("Save current diagram"), wxEmptyString, wxT("NewDiagram"),
wxT("*.bbg"), wxSAVE | wxOVERWRITE_PROMPT);
+#else
+ wxFileDialog * saveFileDialog = new wxFileDialog(this,
+ wxT("Save current diagram"), wxEmptyString, wxT("NewDiagram"),
+ wxT("*.bbg"), wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
+#endif
+
if (saveFileDialog->ShowModal() == wxID_OK) {
//_tabsMgr->SetNameTabPanel(saveFileDialog->GetFilename());
wxString pathfileName = saveFileDialog->GetPath();
//=========================================================================
void wxGUIEditorGraphicBBS::OnExportConsoleExecCommand(wxCommandEvent& event)
{
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
wxFileDialog * saveFileDialog = new wxFileDialog(this,
wxT("Export console command"), wxEmptyString, wxT("ConsoleApp.txt"),
wxT("*.txt;*.bbs;*.bbg;*.sh;*.bat"), wxSAVE | wxOVERWRITE_PROMPT);
+#else
+ wxFileDialog * saveFileDialog = new wxFileDialog(this,
+ wxT("Export console command"), wxEmptyString, wxT("ConsoleApp.txt"),
+ wxT("*.txt;*.bbs;*.bbg;*.sh;*.bat"), wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
+#endif
+
if (saveFileDialog->ShowModal() == wxID_OK)
{
//=========================================================================
-void wxGUIEditorGraphicBBS::refreshGUIControls() {
+void wxGUIEditorGraphicBBS::refreshGUIControls()
+{
std::string stundo;
std::string stredo;
//RaC2012 2ndHackFest Next line seems weird ... To keep in mind for other devels
wxToolBar* toolbar = GetToolBar();
- if (_tabsMgr->isActualDiagramComplexBox()) {
+ if (_tabsMgr->isActualDiagramComplexBox())
+ {
toolbar->ToggleTool(ID_BTNCOMPLEXBOX, true);
//toolbar->EnableTool(ID_ADDCOMPLEXBOXINPUT, true); RaC2012 2nd HackFest
toolbar->EnableTool(ID_ADDCOMPLEXBOXOUTPUT, true);
}
_tabsMgr->addNewTab( crea::std2wx(fileName) );
_tabsMgr->loadDiagram(inputStream, filePathName);
+
_tabsMgr->saveTempActualDiagram("load diagram");
GetToolBar()->EnableTool(ID_UNDO, false);
GetToolBar()->EnableTool(ID_UNDO, false);
void wxGUIEditorGraphicBBS::OnOpenDiagram(wxCommandEvent& event)
{
+
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
wxFileDialog * openFileDialog = new wxFileDialog(this, wxT("Open diagram"), wxEmptyString, wxT(""), wxT("*.bbg"), wxOPEN | wxFILE_MUST_EXIST);
+#else
+ wxFileDialog * openFileDialog = new wxFileDialog(this, wxT("Open diagram"), wxEmptyString, wxT(""), wxT("*.bbg"), wxFD_OPEN | wxFD_FILE_MUST_EXIST);
+#endif
+
if (openFileDialog->ShowModal() == wxID_OK)
{
wxString filePath = openFileDialog->GetPath();
//=========================================================================
void wxGUIEditorGraphicBBS::OnClickBtnBox(wxCommandEvent& event)
{
+ std::cout<<"wxGUIEditorGraphicBBS::OnClickBtnBox"<<std::endl;
BlackBoxDescriptor *bbDes = _pkgBrowser->GetActualSelected();
if (bbDes != NULL) {
std::string typeName = bbDes->GetTypeName();
//=========================================================================
void wxGUIEditorGraphicBBS::OnClickBtnComplexBox(wxCommandEvent& event)
{
+ std::cout<<"wxGUIEditorGraphicBBS::OnClickBtnComplexBox"<<std::endl;
wxToolBar* toolbar = GetToolBar();
bool temp = toolbar->GetToolState(ID_BTNCOMPLEXBOX);
if (temp) {
_tabsMgr->SetCategory(category);
}
+//=========================================================================
+void wxGUIEditorGraphicBBS::setCurrentDiagramMessageKind(std::string kind){
+ _tabsMgr->SetMessageKind(kind);
+}
+
+//=========================================================================
+void wxGUIEditorGraphicBBS::setCurrentDiagramMessageLevel(std::string level){
+ _tabsMgr->SetMessageLevel(level);
+}
+
//=========================================================================
std::string wxGUIEditorGraphicBBS::getCurrentDiagramDescription()
{
return _tabsMgr->GetCategory();
}
-
+//=========================================================================
+std::string wxGUIEditorGraphicBBS::getCurrentDiagramMessageKind(){
+ return _tabsMgr->GetMessageKind();
+}
+
+//=========================================================================
+std::string wxGUIEditorGraphicBBS::getCurrentDiagramMessageLevel(){
+ return _tabsMgr->GetMessageLevel();
+}
+
//=========================================================================
bool wxGUIEditorGraphicBBS::isCurrentDiagramComplexBox()
{
//=========================================================================
bool wxGUIEditorGraphicBBS::TryToOpenScript(std::string packageName ,std::string boxType,bool scriptApplication, bool scriptComplexBox)
{
+ printf("EED wxGUIEditorGraphicBBS::TryToOpenScript Start\n ");
Package::Pointer k;
std::map< std::string, BlackBoxDescriptor::Pointer> mapDesc;
BlackBoxDescriptor::Pointer descriptor;
+ printf("EED wxGUIEditorGraphicBBS::TryToOpenScript 1\n ");
k = GetBBTKFactory()->GetPackage(packageName);
+ printf("EED wxGUIEditorGraphicBBS::TryToOpenScript 2\n ");
mapDesc = k->GetDescriptorMap();
+ printf("EED wxGUIEditorGraphicBBS::TryToOpenScript 3\n ");
descriptor = mapDesc[boxType];
+ printf("EED wxGUIEditorGraphicBBS::TryToOpenScript 3.1 packageName:%s boxType:%s \n",packageName.c_str(), boxType.c_str() );
+
+ if (descriptor==NULL) printf("EED wxGUIEditorGraphicBBS::TryToOpenScript 3.2\n AUUCHH ");
+ printf("EED wxGUIEditorGraphicBBS::TryToOpenScript 3.2\n ");
bool result=false;
-
- if (
- ((descriptor->IsTypeOfScript_Application()==true) && (scriptApplication==true))
- ||
- ((descriptor->IsTypeOfScript_ComplexBox()==true) && (scriptComplexBox==true))
- )
+descriptor->IsTypeOfScript_Application();
+ if (descriptor!=NULL)
{
- result=true;
- OpenScript(descriptor->GetScriptFileName(),boxType);
- }
+ if (
+ ((descriptor->IsTypeOfScript_Application()==true) && (scriptApplication==true))
+ ||
+ ((descriptor->IsTypeOfScript_ComplexBox()==true) && (scriptComplexBox==true))
+ )
+ {
+ result=true;
+ printf("EED wxGUIEditorGraphicBBS::TryToOpenScript 4\n ");
+ OpenScript(descriptor->GetScriptFileName(),boxType);
+ printf("EED wxGUIEditorGraphicBBS::TryToOpenScript 5\n ");
+ } // if descriptor Type
+ } else {
+ printf("EED ERROR wxGUIEditorGraphicBBS::TryToOpenScript >> The descriptor of this box not exists (packageName:%s boxType:%s) this is not normal\n",packageName.c_str(), boxType.c_str() );
+ } // if descriptor NULL
+
+ printf("EED wxGUIEditorGraphicBBS::TryToOpenScript END\n ");
return result;
}