X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FEditorGraphicBBS%2FbbsWxGUIEditorGraphic%2FbbtkwxGUIEditorGraphicBBS.cxx;h=3b6641effcea4a1e27d372e08e8f952c36781e2e;hb=567028f33d052a54225024906cce14dc1558162f;hp=7a0ae4c6b0dfac3ee3c1d1f30acc30aef9356c1d;hpb=795312f0055a08b67cb6467b54ac77eb28be12b7;p=bbtkGEditor.git diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx index 7a0ae4c..3b6641e 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx @@ -36,6 +36,8 @@ #include "bbtkwxGUIEditorGraphicBBS.h" #include "creaWx.h" #include "creaSystem.h" +//must go #include "bbtkUtilities.h" +//must go #include "bbtkConfigurationFile.h" #include #include @@ -108,6 +110,7 @@ void wxGUIEditorGraphicBBS::initToolbar() { wxBitmap bmp_complexoutputport(complexoutputport_xpm); wxBitmap bmp_undo(undo_xpm); wxBitmap bmp_redo(redo_xpm); + wxBitmap bmp_editProperties(editProperties_xpm); wxToolBar *toolbar = new wxToolBar(this, wxID_ANY); //Adds a tool btn to the toolbar @@ -147,6 +150,8 @@ void wxGUIEditorGraphicBBS::initToolbar() { toolbar->AddSeparator(); toolbar->AddTool(ID_UNDO, _T("Undo"),bmp_undo, wxNullBitmap, wxITEM_NORMAL, _T("Undo"), _T("Undo")); toolbar->AddTool(ID_REDO, _T("Redo"),bmp_redo, wxNullBitmap, wxITEM_NORMAL, _T("Redo"), _T("Redo")); + toolbar->AddSeparator(); + toolbar->AddTool(ID_EDIT, _T("Edit diagram properties"),bmp_editProperties, wxNullBitmap, wxITEM_NORMAL, _T("Edit diagram properties"), _T("Edit diagram properties")); toolbar->EnableTool(ID_UNDO, false); toolbar->EnableTool(ID_REDO, false); @@ -192,6 +197,8 @@ void wxGUIEditorGraphicBBS::initToolbar() { Connect(ID_UNDO,wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(wxGUIEditorGraphicBBS::OnUndo)); Connect(ID_REDO,wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(wxGUIEditorGraphicBBS::OnRedo)); Connect(ID_CHANGENAME, wxEVT_COMMAND_RIGHT_CLICK, wxCommandEventHandler(wxGUIEditorGraphicBBS::OnChangeName)); + Connect(ID_EDIT,wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(wxGUIEditorGraphicBBS::OnEditDiagramProperties)); + } //========================================================================= void wxGUIEditorGraphicBBS::initHelpHTMLBrowser() { @@ -516,6 +523,8 @@ void wxGUIEditorGraphicBBS::OnUndo(wxCommandEvent& event) { refreshGUIControls(); } +//========================================================================= + void wxGUIEditorGraphicBBS::OnRedo(wxCommandEvent& event) { unsigned short disable; std::string stundo; @@ -535,6 +544,16 @@ void wxGUIEditorGraphicBBS::OnRedo(wxCommandEvent& event) { void wxGUIEditorGraphicBBS::OnChangeName(wxCommandEvent& event){ } + +//========================================================================= + +void wxGUIEditorGraphicBBS::OnEditDiagramProperties(wxCommandEvent& event) +{ + wxDiagramPropertiesEditionDialog* dialog = + new wxDiagramPropertiesEditionDialog(this); + dialog->Show(); +} + //========================================================================= void wxGUIEditorGraphicBBS::OnExecuteActualDiagram(wxCommandEvent& event) { @@ -948,7 +967,56 @@ void wxGUIEditorGraphicBBS::OnCreateBlackBox(wxCommandEvent& event) { } //========================================================================= void wxGUIEditorGraphicBBS::OnPlugPackage(wxCommandEvent& event) { - printf("EED wxGUIEditorGraphicBBS::OnPlugPackage ... not implemented ..\n"); + //printf("EED wxGUIEditorGraphicBBS::OnPlugPackage ... not implemented ..\n"); + //this is the right code but it's left to include the corresponding commented libraries + long style = wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST; + wxDirDialog* FD = + new wxDirDialog( 0, + _T("Select package directory"), + _T(""), + style); + long userResponse; + do + { + userResponse = FD->ShowModal(); + if(userResponse==wxID_OK) + { + std::string path = wx2std (FD->GetPath()) ; + std::string fname = path + "/bbtkPackage"; + std::cout << "Path chosen = \"" << FD->GetPath() << "\"" << std::endl; + if ( Utilities::FileExists( fname ) ) + { + std::ifstream f; + f.open(fname.c_str()); + std::string pname; + f >> pname; + f.close(); + + bbtk::ConfigurationFile::GetInstance().AddPackagePathsAndWrite( path ); + + DoRegeneratePackageDoc(pname); + DoRegenerateBoxesLists(); + + _pkgBrowser->RebuildList(); + + wxMessageBox(_T("Package successfully plugged. Please restart bbEditor to see the new package in the package browser."),_T("Plug package"),wxOK | wxICON_INFORMATION); + userResponse = wxID_CANCEL; + } + else + { + std::string err = "The directory \"" + path + "\" does not contain a 'bbtkPackage' file."; + #ifndef WIN32 + #ifndef MACOSX + err += "\nNote: If you are on Linux please select the folder and click \"Open\", don't enter in it."; + #endif + #endif + + + wxMessageBox(_T(err),_T("Plug package"),wxOK | wxICON_ERROR); + } + } + }while(userResponse != wxID_CANCEL); + } //========================================================================= void wxGUIEditorGraphicBBS::OnEditConfig(wxCommandEvent& event) { @@ -980,10 +1048,51 @@ void wxGUIEditorGraphicBBS::OnExit(wxCommandEvent& event) { Close(true); } +//========================================================================= + + +void wxGUIEditorGraphicBBS::setCurrentDiagramDescription(std::string description) +{ + _tabsMgr->SetDescription(description); +} + +//========================================================================= + +void wxGUIEditorGraphicBBS::setCurrentDiagramAuthor(std::string author) +{ + _tabsMgr->SetAuthor(author); +} + +//========================================================================= +void wxGUIEditorGraphicBBS::setCurrentDiagramCategory(std::string category) +{ + _tabsMgr->SetCategory(category); +} //========================================================================= +std::string wxGUIEditorGraphicBBS::getCurrentDiagramDescription() +{ + return _tabsMgr->GetDescription(); +} + +//========================================================================= + +std::string wxGUIEditorGraphicBBS::getCurrentDiagramAuthor() +{ + return _tabsMgr->GetAuthor(); +} + +//========================================================================= + + +std::string wxGUIEditorGraphicBBS::getCurrentDiagramCategory() +{ + return _tabsMgr->GetCategory(); +} + + } // EO namespace bbtk // EOF