]> Creatis software - bbtkGEditor.git/commitdiff
Bug #1375
authorcervenansky <>
Thu, 24 May 2012 15:01:51 +0000 (15:01 +0000)
committercervenansky <>
Thu, 24 May 2012 15:01:51 +0000 (15:01 +0000)
data/icons/wxart_redo.xpm
data/icons/wxart_undo.xpm
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxGEditorTabPanel.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxGEditorTabPanel.h
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.h
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx

index 1ce88036d461fec85aeb41d1e535b0531d766387..f3e2f71a5ca129dfbd273820706c7dc3be8d3a5e 100644 (file)
@@ -1,5 +1,5 @@
 /* XPM */
-static char * redo_xpm[] = {
+static const char * redo_xpm[] = {
 "17 17 84 1",
 "      c None",
 ".     c #4D78CE",
index 35b01e7b7b66fc14a319d05dbda1dcd6fd2f7718..c0148bdef0c03b4c0bd37f7aea8c25acb31b900d 100644 (file)
@@ -1,5 +1,5 @@
 /* XPM */
-static char * undo_xpm[] = {
+static const char * undo_xpm[] = {
 "17 17 84 1",
 "      c None",
 ".     c #4B77CE",
index 25c4298571c017fe73111c325ae3b4d81f171053..9f68cef04367407fe1f72d64ecfc9a647ca45233 100644 (file)
@@ -512,6 +512,10 @@ void wxGUIEditorGraphicBBS::OnUndo(wxCommandEvent& event) {
 void wxGUIEditorGraphicBBS::OnRedo(wxCommandEvent& event) {
        unsigned short disable;
        _tabsMgr->loadTempDiagram(1);
+       std::string name = _tabsMgr->GetNameTabPanel();
+       if(name[name.length() - 1] != '*')
+               name +="*";
+       _tabsMgr->SetNameTabPanel(wxString (name.c_str(), wxConvUTF8));
        GetToolBar()->EnableTool(ID_UNDO,_tabsMgr->getUndoState());
        GetToolBar()->EnableTool(ID_REDO,_tabsMgr->getRedoState());
        refreshGUIControls();
@@ -680,6 +684,8 @@ void wxGUIEditorGraphicBBS::SaveTempActualDiagram()
                name +="*";
        _tabsMgr->SetNameTabPanel(wxString (name.c_str(), wxConvUTF8));
        _tabsMgr->saveTempActualDiagram();
+       GetToolBar()->EnableTool(ID_UNDO,_tabsMgr->getUndoState());
+       GetToolBar()->EnableTool(ID_REDO,_tabsMgr->getRedoState());
 }
 
 //=========================================================================
@@ -803,7 +809,9 @@ void wxGUIEditorGraphicBBS::OnOpenDiagram(wxCommandEvent& event) {
                assert(inputStream.good()); // fails
                _tabsMgr->addNewTab(openFileDialog->GetFilename());
                _tabsMgr->loadDiagram(inputStream, fName);
-
+               _tabsMgr->saveTempActualDiagram();
+               GetToolBar()->EnableTool(ID_UNDO, false);
+               GetToolBar()->EnableTool(ID_UNDO, false);
                inputStream.close();
        }
        refreshGUIControls();
@@ -820,19 +828,13 @@ void wxGUIEditorGraphicBBS::OnClickBtnBox(wxCommandEvent& event) {
 
                wxGEditorTabPanel *pnl = this->_tabsMgr->getActualTabPanel();
                
-               // save empty state!!
-       /*      if (_tabsMgr->getNumActualSelectedObjects() == 0)
-               {
-                       SaveTempActualDiagram();
-               }
-               */
+
                if (pnl != NULL) {
                        wxVtkSceneManager *scn = pnl->getSceneManager();
                        scn->createGBlackBox(50, 50, packageName, typeName);
                        scn->refresh();
                }
-               if (GetToolBar()->GetToolEnabled(ID_UNDO) == false)
-                       GetToolBar()->EnableTool(ID_UNDO,true);
+
                SaveTempActualDiagram();
                // if pnl
        }// if bbDes
@@ -910,12 +912,12 @@ void wxGUIEditorGraphicBBS::OnHelpBBeditor(wxCommandEvent& event) {
 //=========================================================================
 void wxGUIEditorGraphicBBS::OnCreatePackage(wxCommandEvent& event) {
 
-       bbtkSystemTools::CreatePackage();
+       //bbtkSystemTools::CreatePackage();
 }
 
 //=========================================================================
 void wxGUIEditorGraphicBBS::OnCreateBlackBox(wxCommandEvent& event) {
-       bbtkSystemTools::CreateBlackBox();
+       //bbtkSystemTools::CreateBlackBox();
 }
 //=========================================================================
 void wxGUIEditorGraphicBBS::OnPlugPackage(wxCommandEvent& event) {
index 682c1193ffecf282544166a111c9487815eac2db..10e10a0270053a02c95b064b6961103f500670a7 100644 (file)
@@ -111,10 +111,15 @@ printf("EED wxGEditorTabPanel::initWxVtkCanvas 1\n");
                 boxType += result;
 
                _sceneManager->createGBlackBox(x,y,packageName, boxType);
-
+               saveTempandUpdate();
          return true;
        }
 
+       //=========================================================================
+       void wxGEditorTabPanel::saveTempandUpdate()
+       {
+               _panelsManager->saveTempandUpdate();
+       }
        //=========================================================================
 
        void wxGEditorTabPanel::setPanelsManager(wxTabPanelsManager* panelsManager)
index db615aa629274b7263137abc85020f446f7f6469..dddf555ea03f43aa9c7c5cfbf7dedd9de3f0cb6d 100644 (file)
@@ -103,6 +103,9 @@ namespace bbtk
                // Save temporary diagram as BBG
                void saveTempDiagram();
 
+               // Save temporary diagram as BBG and update buttons
+               void saveTempandUpdate();
+
                // Load BBG diagram
                void loadDiagram(ifstream &inputStream, const std::string &path); //DFCH
 
index 14f85311b1bacc5f87e8e57b0a6c52b23827bb79..a7a705221f2adea8b959d8065d1d5ffd454b364c 100644 (file)
@@ -151,6 +151,12 @@ printf("EED wxTabPanelsManager::addNewTab 1\n");
        {
                _actual->loadDiagram(inputStream, path);
        }
+
+       //=========================================================================
+       void wxTabPanelsManager::saveTempandUpdate() //FCY
+       {
+               _parent->SaveTempActualDiagram();
+       }
        //=========================================================================
        void wxTabPanelsManager::saveTempActualDiagram() //FCY
        {
index a42f05edffd65d728e2bee6d16128e2816bc833b..e8590225f1437c1f4d506919cf9269ce3424b85a 100644 (file)
@@ -90,6 +90,7 @@ namespace bbtk
                void loadDiagram(ifstream &inputStream, const std::string &path); //DFCH
 
                void saveTempActualDiagram(); //FCY
+               void saveTempandUpdate();
                void loadTempDiagram(unsigned short un); //FCY
                unsigned short getUndoState();
                unsigned short getRedoState();
index 2acf1d709ca53852a197acf389dc3f1fcd381439..c8270fb93ba85745708c6f0816fb45f30ca6f7cd 100644 (file)
@@ -61,7 +61,6 @@ wxVtkSceneManager::wxVtkSceneManager(wxGEditorTabPanel *parent,
                printf(
                                "RaC-EED 21-06-2010 %p wxVtkSceneManager::wxVtkSceneManager If you comment this line, the drag and drop functionnality is not initialized.\n",
                                this);
-
 //#ifdef __APPLE__
                _baseView->GetWxVTKRenderWindowInteractor()->SetDropTarget((wxDropTarget*)parent);
 //#endif
@@ -1214,7 +1213,7 @@ void wxVtkSceneManager::deleteObject(int id) {
                        _controllers.erase(it);
                }//if
        }// for
-       _parent->saveTempDiagram();
+       _parent->saveTempandUpdate();
 }
 
 //=========================================================================