]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.h
Bug #1689
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsWxGUIEditorGraphic / bbtkwxGUIEditorGraphicBBS.h
index 3a0b44069e0e3154f27ca078e3fdffa65b0bb693..1d9872f17a789d7ab6de606223aa9cae2d7d1fd8 100644 (file)
 //Includes same project
 #include "wxTabPanelsManager.h"
 #include "wxBlackBoxEditionDialog.h"
+#include "wxDiagramPropertiesEditionDialog.h"
 #include "wxVtkSceneManager.h"
 #include "GlobalConstants.h"
 
+
 #include "wxart_new.xpm" // JPR
 #include "wxart_open.xpm"
 #include "wxart_save.xpm"
 #include "wxart_delete.xpm"
 #include "wxart_centerview.xpm"
 #include "wxart_box.xpm"
+#include "wxart_executablebox.xpm"
 #include "wxart_complexbox.xpm"
 #include "wxart_complexinputport.xpm"
 #include "wxart_complexoutputport.xpm"
+#include "wxart_undo.xpm"
+#include "wxart_redo.xpm"
+#include "wxart_editProperties.xpm"
 
 //Includes creaMaracasVisu
 
@@ -67,7 +73,9 @@
 #include <bbtkWxGUIPackageBrowser2.h>
 #include <bbtkWxGUIHtmlBrowser.h>
 #include <bbtkBlackBoxDescriptor.h>
+#include <bbtkUtilities.h>
 #include <bbtkConfigurationFile.h>
+#include <bbtkSystemTools.h>
 
 //Includes vtk
 
@@ -104,7 +112,6 @@ namespace bbtk
                        void initTabPanelsManager();
                        void initPackageBrowser();
                        void initHelpHTMLBrowser();
-
                        wxAuiNotebook* getAuiNotebook();
 
                        // Display the info of the black box highlighted in the PackageBrowser
@@ -119,6 +126,11 @@ namespace bbtk
                        // Shows the dialog to change the parameters and values of the black box
                        void editBlackBox(GBlackBoxModel *bbmodel);
 
+                       bool boxNameExists(std::string boxname);
+                       bool isCurrentDiagramComplexBox();
+
+                       // Checks and adds if necessary the .bbg/.bbs extensions
+                       std::string CheckExtension (std::string filename, std::string extension);                       
                        // Method that can be used to refresh the help and package browser
                        // RaC TOFIX!!!
                        void RegenerateAll();
@@ -127,22 +139,27 @@ namespace bbtk
 
                        // Refresh the state of buttons and menus when changing for example the mode to edit complex box
                        void refreshGUIControls();
-
+                       
             void SaveActualBBS(std::string filename);
             void AskComplexBoxConfiguration();
             void SaveActualComplexBox(std::string filename);
             void SaveActualDiagram(std::string filename);
+                       void SaveCurrentDiagramAs( ); //DFCH
+                       void SaveTempActualDiagram(const std::string &);//FCY
 
 
 
                        // File menu and toolbar events
                        void OnCreateNewTab(wxCommandEvent& event);
                        void OnOpenDiagram(wxCommandEvent& event);
-                       void OnSaveActualDiagram(wxCommandEvent& event);
+                       void OnSaveActualDiagram(wxCommandEvent& event); //DFCH
+                       void OnSaveAsActualDiagram(wxCommandEvent& event); //DFCH
+                       void OnExportConsoleExecCommand(wxCommandEvent& event); //RaC
                        void OnOpenBBS(wxCommandEvent& event);
                        void OnSaveActualBBS(wxCommandEvent& event);
                        void OnSaveActualComplexBox(wxCommandEvent& event);
                        void OnExecuteActualDiagram(wxCommandEvent& event);
+                       void OnClickBtnExecutableBox(wxCommandEvent& event);
                        void OnDeleteAllBoxesActualDiagram(wxCommandEvent& event);
                        void OnCenterViewActualDiagram(wxCommandEvent& event);
                        void OnClickBtnBox(wxCommandEvent& event);
@@ -151,11 +168,40 @@ namespace bbtk
                        void OnAddComplexBoxOutput(wxCommandEvent& event);
                        void OnExit(wxCommandEvent& event);
                        void OnHelpBBeditor(wxCommandEvent& event);
+                       void OnUndo(wxCommandEvent& event);
+                       void OnRedo(wxCommandEvent& event);
+                       void OnChangeName(wxCommandEvent& event);
+                       void OnEditDiagramProperties(wxCommandEvent& event);
 
                        // Edit menu events
-                       void OnCopySelectedToComplexDiagram(wxCommandEvent& event);
-
-
+                       void OnCopySelectedToComplexDiagram(wxCommandEvent& event);                   
+                       
+
+                       // Tool menu events
+                       void OnCreatePackage(wxCommandEvent& event);
+                       void OnCreateBlackBox(wxCommandEvent& event);
+                       void OnPlugPackage(wxCommandEvent& event);
+                       void OnEditConfig(wxCommandEvent& event);
+                       void OnShowHTMLDoc(wxCommandEvent& event);
+                       void OnCreateIndex(wxCommandEvent& event);
+               
+                       Factory::Pointer GetBBTKFactory();
+               
+                       // RaC-2012
+                       void enableComplexBox();
+                       void disableComplexBox();
+
+                       // Getters and Setters of current diagram properties
+
+                       void setCurrentDiagramDescription(std::string description);
+                       void setCurrentDiagramAuthor(std::string author);
+                       void setCurrentDiagramCategory(std::string category);
+
+                       std::string getCurrentDiagramDescription();
+                       std::string getCurrentDiagramAuthor();
+                       std::string getCurrentDiagramCategory();
+               
+               
                private:
 
                        //AuiManager for the wxWindow
@@ -177,6 +223,10 @@ namespace bbtk
                        std::string                         _actualPkgBrowserBoxName;
                        std::string                         _actualPkgBrowserPkgName;
 
+                       // VERY IMPORTANT FOR SAVE&LOAD PROCESSES
+                       // RaC 2012 2nd HackFest
+                       std::string                                             _currentBBGversion;
+
                protected: