]> Creatis software - bbtkGEditor.git/commitdiff
The app saves and opens diagrams !!!! Allll fiiiinnn se logro !!
authorcorredor <>
Fri, 7 May 2010 14:30:39 +0000 (14:30 +0000)
committercorredor <>
Fri, 7 May 2010 14:30:39 +0000 (14:30 +0000)
17 files changed:
lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.cxx
lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.h
lib/EditorGraphicBBS/bbsKernelEditorGraphic/GConnectorModel.cxx
lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.cxx
lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.h
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GConnectorController.cxx
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GConnectorController.h
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourController.cxx
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourController.h
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.cxx
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.h
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGPortView.cxx
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

index 7c7bebbcd3da6bde6dc992a7cbbe8b621f80b987..f7fe2e1a9e3fa9fbcd2be3ff94febd34fcc1307c 100644 (file)
@@ -216,11 +216,70 @@ namespace bbtk
                                _inputs[i]->save(content);
                        }
                }
+               content+="FIN_BOX\n";
 
        }
        
        //=========================================================================
 
+       void GBlackBoxModel::setValueToInput(std::string name,std::string value)
+       {
+               for(int i = 0; i<_inputs.size();i++)
+               {
+                       if(_inputs[i]->getBBTKName()==name)
+                       {
+                               _inputs[i]->setValue(value);
+                       }
+               }
+       }
+
+       //=========================================================================
+
+       GPortModel* GBlackBoxModel::getInputPort(std::string name)
+       {
+               for(int i = 0; i<_inputs.size();i++)
+               {
+                       if(_inputs[i]->getBBTKName()==name)
+                       {
+                               return _inputs[i];
+                       }
+               }
+               return NULL;
+       }
+
+       //=========================================================================
+       
+       GPortModel* GBlackBoxModel::getOutputPort(std::string name)
+       {
+               for(int i = 0; i<_outputs.size();i++)
+               {
+                       if(_outputs[i]->getBBTKName()==name)
+                       {
+                               return _outputs[i];
+                       }
+               }
+               return NULL;
+       }
+
+       //=========================================================================
+
+       void GBlackBoxModel::updatePorts()
+       {
+               for(int i = 0; i<_inputs.size();i++)
+               {       
+                       _inputs[i]->updatePortPosition();
+                       _inputs[i]->notifyObservers(_objectId);
+               }
+
+               for(int i = 0; i<_outputs.size();i++)
+               {
+                       _outputs[i]->updatePortPosition();
+                       _outputs[i]->notifyObservers(_objectId);
+               }
+       }
+
+       //=========================================================================
+
 
 }  // EO namespace bbtk
 
index de8b7084137b1d03f4d2acf324b8e0b52eea9e00..04ae668d17ad68a72b1836274a06ad6e7e197d29 100644 (file)
@@ -90,6 +90,12 @@ namespace bbtk
                std::vector<GPortModel*> getOutputPorts();
 
                void setValueToInputPort(int pos,std::string value);
+               void setValueToInput(std::string name,std::string value);
+
+               GPortModel* getInputPort(std::string name);
+               GPortModel* getOutputPort(std::string name);
+
+               void updatePorts();
 
        private:
 
index 28df0dd0f7b2fed660c102bfc5e3f58a4fe93a90..84cc58d2e669b06db574dbffd9bd9c59306fe8cc 100644 (file)
@@ -165,11 +165,11 @@ namespace bbtk
 
                // Connection info
                content+=_startPort->getParentBox()->getBBTKName();
-               content+=".";
+               content+=":";
                content+=_startPort->getBBTKName();
                content+=":";
                content+=_endPort->getParentBox()->getBBTKName();
-               content+=".";
+               content+=":";
                content+=_endPort->getBBTKName();
                content+="\n";
        }
index 2227c9003b5245407b07340d5be07c8808aaadb7..4fcb0434e0c6ca4fa0125b12fafc068850fe9235 100644 (file)
@@ -97,7 +97,7 @@ namespace bbtk
 
        //=========================================================================
 
-       void wxVtkSceneManager::createGBlackBox(int x, int y, std::string packageName, std::string boxType)
+       int wxVtkSceneManager::createGBlackBox(int x, int y, std::string packageName, std::string boxType)
        {
 
                int windowWidth=_baseView->GetRenWin()->GetSize()[0];
@@ -189,23 +189,26 @@ namespace bbtk
                int newId = _controllers.size();
                controller->setId(newId);
                _controllers[newId] = controller;
+               return newId;
 
        }
 
        //=========================================================================
 
-       void wxVtkSceneManager::createGInputPort(int portType, int posinBox,GBlackBoxModel *blackBox, BlackBoxInputDescriptor *desc)
+       int wxVtkSceneManager::createGInputPort(int portType, int posinBox,GBlackBoxModel *blackBox, BlackBoxInputDescriptor *desc)
        {
                GPortController* portController = createGPort(portType,desc->GetName(),desc->GetTypeName(),posinBox,blackBox);
                blackBox->addInputPort((GPortModel*)portController->getModel());
+               return portController->getId();
        }
 
        //=========================================================================
 
-       void wxVtkSceneManager::createGOutputPort(int portType, int posinBox,GBlackBoxModel *blackBox, BlackBoxOutputDescriptor *desc)
+       int wxVtkSceneManager::createGOutputPort(int portType, int posinBox,GBlackBoxModel *blackBox, BlackBoxOutputDescriptor *desc)
        {
                GPortController* portController = createGPort(portType,desc->GetName(),desc->GetTypeName(),posinBox,blackBox);
                blackBox->addOutputPort((GPortModel*)portController->getModel());
+               return portController->getId();
        }
 
        //=========================================================================
@@ -250,7 +253,7 @@ namespace bbtk
 
        //=========================================================================
 
-       void wxVtkSceneManager::createGConnector(GPortModel* startPort)
+       int wxVtkSceneManager::createGConnector(GPortModel* startPort)
        {
                int type = GCONNECTOR;
 
@@ -318,6 +321,7 @@ namespace bbtk
                connectorcontroller->setId(newId);
                _controllers[newId] = connectorcontroller;
 
+               return newId;
        }
 
        //=========================================================================
@@ -373,7 +377,6 @@ namespace bbtk
                                {
                                        int id = idController;
                                        _selectedObjects.push_back(id);
-                                       cout<<"RaC wxVtkSceneManager::update _selectedObjects.push_back id:"<<id<<endl;
                                }
 
                        }
@@ -973,7 +976,7 @@ namespace bbtk
                char buffer [50];
                std::vector<int> boxes = getBoxes();
                int bsize = boxes.size();
-               content+="BOXES ";
+               content+="BOXES:";
                sprintf (buffer, "%d", bsize);
                content+=buffer;
                content+="\n";
@@ -985,12 +988,10 @@ namespace bbtk
                        cont->getModel()->save(content);
                }
 
-               content+="\n";
-
                //Print connections
                std::vector<int> connections = getConnections();
                int csize = connections.size();
-               content+="CONNECTIONS ";
+               content+="CONNECTIONS:";
                sprintf (buffer, "%d", csize);
                content+=buffer;
                content+="\n";
@@ -1006,6 +1007,185 @@ namespace bbtk
 
        //=========================================================================
 
+       void wxVtkSceneManager::loadDiagram(ifstream &inputStream)
+       {
+
+               std::string line="";    
+               char delims[] = ":";
+               char *result = NULL;
+        getline(inputStream,line);
+
+               bool start = false;
+               while ( !inputStream.eof() ) 
+               {
+                       if(line=="" || line[0]=='#')
+                       {
+                               getline(inputStream,line);
+                       }
+                       else if(line=="APP_START")
+                       {
+                               start = true;
+                               break;
+                       }
+               }
+
+               if(start)
+               {
+                       //----------
+                       getline(inputStream,line);//BOXES:num
+                       char boxes[9];
+                       strcpy( boxes, line.c_str() );
+                       result = strtok( boxes, delims );
+                       result = strtok( NULL, delims );
+                                       
+                       int numBoxes;
+                       std::istringstream is(result);
+                       is >> numBoxes;
+                       
+                       for(int i = 0;i<numBoxes;i++)
+                       {
+                               //----------
+                               getline(inputStream,line);//BOX
+                               getline(inputStream,line);//package:type:name
+                               char box[100];
+                               strcpy( box, line.c_str() );
+                               result = strtok( box, delims );//package
+                               std::string package(result);
+                               result = strtok( NULL, delims );//type
+                               std::string type(result);
+                               result = strtok( NULL, delims );//name
+                               std::string name(result);
+
+                               //----------
+                               getline(inputStream,line);//xInic:yInic:zInic
+                               char coord[80];
+                               strcpy( coord, line.c_str() );
+                               result = strtok( coord, delims );//xInic
+                               std::string xInic(result);
+                               result = strtok( NULL, delims );//yInic
+                               std::string yInic(result);
+                               result = strtok( NULL, delims );//zInic
+                               std::string zInic(result);
+
+                               double xIn, yIn, zIn;
+                               std::istringstream xSt(xInic);
+                               xSt >> xIn;
+                               std::istringstream ySt(yInic);
+                               ySt >> yIn;
+                               std::istringstream zSt(zInic);
+                               zSt >> zIn;
+                                               
+                               //----------
+                               getline(inputStream,line);//xEnd:yEnd:zEnd
+                               strcpy( coord, line.c_str() );
+                               result = strtok( coord, delims );//xEnd
+                               std::string xEnd(result);
+                               result = strtok( NULL, delims );//yEnd
+                               std::string yEnd(result);
+                               result = strtok( NULL, delims );//zEnd
+                               std::string zEnd(result);
+
+                               double xEn, yEn, zEn;
+                               std::istringstream xEt(xEnd);
+                               xEt >> xEn;
+                               std::istringstream yEt(yEnd);
+                               yEt >> yEn;
+                               std::istringstream zEt(zEnd);
+                               zEt >> zEn;
+
+                               int idBox = createGBlackBox(0,0,package,type);
+                               GObjectController *cont = _controllers[idBox];
+                               GBlackBoxModel *bbmod = (GBlackBoxModel*)cont->getModel();
+                               bbmod->setBBTKName(name);
+                               bbmod->setInicPoint(xIn,yIn,zIn);
+                               bbmod->setFinalPoint(xEn,yEn,zEn);
+                                                       
+                               //----------
+                               getline(inputStream,line);//PORT o #FIN_BOX
+                               std::string port=line.substr(0,4);
+                               while(port=="PORT")
+                               {
+                                       getline(inputStream,line);//name:value
+                                       char poort[20];
+                                       strcpy( poort, line.c_str() );
+                                       result = strtok( poort, delims );//name
+                                       std::string name(result);
+                                       result = strtok( NULL, delims );//value
+                                       std::string value(result);
+
+                                       bbmod->setValueToInput(name,value);                                     
+
+                                       getline(inputStream,line);//PORT o FIN_BOX
+                                       port=line.substr(0,4);
+                               }               
+
+                               bbmod->notifyObservers(_idManager);
+                       }
+
+                       /// CONNECTIONS
+                       //----------
+                       getline(inputStream,line);//CONNECTIONS:num
+                       char conns[15];
+                       strcpy( conns, line.c_str() );
+                       result = strtok( conns, delims );
+                       result = strtok( NULL, delims );
+                                       
+                       int numConns;
+                       std::istringstream isCons(result);
+                       isCons >> numConns;
+                                       
+                       for(int i = 0;i<numConns;i++)
+                       {
+                               //----------
+                               getline(inputStream,line);//CONNECTION
+                               getline(inputStream,line);//Startbox.PortName:EndBox.PortName
+
+                               char connec[100];
+                               strcpy( connec, line.c_str() );
+                               result = strtok( connec, delims );
+                               std::string nameStartBox(result);
+                               result = strtok( NULL, delims );
+                               std::string nameStartPort(result);
+                               result = strtok( NULL, delims );
+                               std::string nameEndBox(result);
+                               result = strtok( NULL, delims );
+                               std::string nameEndPort(result);
+
+                               std::vector<int> lstB = getBoxes();
+                               
+                               GPortModel *startP=NULL;
+                               GPortModel *endP=NULL;                          
+                               for(int j = 0;j<lstB.size();j++)
+                               {
+                                       int idB = lstB[j];
+                                       GBlackBoxModel *bbMod = (GBlackBoxModel*)_controllers[idB]->getModel();
+                                       if(_controllers[idB]->getModel()->getBBTKName()==nameStartBox)
+                                       {                                               
+                                               startP = bbMod->getOutputPort(nameStartPort);
+                                       }
+                                       else if(_controllers[idB]->getModel()->getBBTKName()==nameEndBox)
+                                       {
+                                               endP = bbMod->getInputPort(nameEndPort);
+                                       }
+                               }
+                               
+                               int idCon = createGConnector(startP);
+                               _worldState = NOTHING_HAPPENS;
+                               GConnectorController *tempp = (GConnectorController*)_controllers[idCon]; 
+
+                               GConnectorModel *conMod = (GConnectorModel*)tempp->getModel();
+                               GConnectorView *conView = (GConnectorView*)tempp->getView();
+                               tempp->endContourCreation();
+                               conMod->setEndPort(endP);                                       
+                               conView->updateStartEndPoints();
+
+                       }
+        }
+
+       }
+
+       //=========================================================================
+
        std::vector<int> wxVtkSceneManager::getBoxes()
        {
                std::vector<int> vect;
index 1cee565cc6e8f518b6968e8ed1b39f2156389707..5fb1a869d6a53a6a36762b34b899fd6edf2b1424 100644 (file)
@@ -89,11 +89,11 @@ namespace bbtk
                ~wxVtkSceneManager();
 
                void configureBaseView();
-               void createGBlackBox(int x, int y,std::string packageName, std::string boxType);
+               int createGBlackBox(int x, int y,std::string packageName, std::string boxType);
                GPortController* createGPort(int portType, std::string bbtkName, std::string bbtkType, int posinBox,GBlackBoxModel *blackBox);
-               void createGInputPort(int portType, int posinBox,GBlackBoxModel *blackBox, BlackBoxInputDescriptor *desc);
-               void createGOutputPort(int portType, int posinBox,GBlackBoxModel *blackBox, BlackBoxOutputDescriptor *desc);
-               void createGConnector(GPortModel* startPort);
+               int createGInputPort(int portType, int posinBox,GBlackBoxModel *blackBox, BlackBoxInputDescriptor *desc);
+               int createGOutputPort(int portType, int posinBox,GBlackBoxModel *blackBox, BlackBoxOutputDescriptor *desc);
+               int createGConnector(GPortModel* startPort);
 
                void registerController(InteractorStyleMaracas *param);
                void unregisterController(InteractorStyleMaracas *param);
@@ -118,6 +118,7 @@ namespace bbtk
                void deleteObject(int id);
                void deleteAllBoxes();
                void saveDiagram(std::string &content);
+               void loadDiagram(ifstream &inputStream);
                void centerView();
 
                void refreshScene();
index b2ff896ce7b75b4e49a6e0e5cd330d8a7a44ab0b..c9d8f74885f8781a412685a36860370ef1c46356 100644 (file)
@@ -106,7 +106,6 @@ namespace bbtk
                        _controller->MouseReleaseLeft(X,Y);
                        if(_controller->GetManualViewBaseContour()->GetSelected()==true)
                        {
-                               cout<<"RaC GConnectorController::OnLeftButtonUp GetSelected():"<<_controller->GetManualViewBaseContour()->GetSelected() <<endl;
                                _view->setState(SELECTED);
                                _model->notifyObservers(getId(),ADD_TO_SELECTED);
                        }
@@ -206,6 +205,13 @@ namespace bbtk
 
        //=========================================================================
 
+       void GConnectorController::endContourCreation()
+       {
+               _controller->endContourCreation();
+       }
+
+       //=========================================================================
+
 }  // EO namespace bbtk
 
 // EOF
index 0d72239b9c1b46f32d47342eedf66e2ef5bdc380..00aeb03258a2d4d85a6d20e7c0e98765986d7122 100644 (file)
@@ -81,6 +81,7 @@ namespace bbtk
                void setManualContourController(manualConnectorContourController* controller);
 
                virtual void removeFromScene();
+               void endContourCreation();
 
        private:
 
index 415c64d138815916a18f1a3848106beaa70d87a7..a1c234a00b5a20ed5d2b3a7ecc2aa3abae128bc6 100644 (file)
@@ -92,7 +92,9 @@ namespace bbtk
        }
 
        //=========================================================================
-       void manualConnectorContourController::MouseClickLeft(int x, int y){
+
+       void manualConnectorContourController::MouseClickLeft(int x, int y)
+       {
 
                bool ok = false;
                int z   = GetZ();
@@ -121,14 +123,7 @@ namespace bbtk
                        if ((GetState()==1) && (_easyCreation==true) && GetNumberOfPointsManualContour()==2)
                        {
                                ok=true;
-
-                               SetCompleteCreation( true );
-                               SetKeyBoardMoving( false );
-                               GetManualContourModel()->SetCloseContour(false);
-
-                               SetEditable( false );
-                               SetPosibleToMove( false );
-                               SetState(0);
+                               endContourCreation();
                        }
 
                        // Continue to Insert Control Points with ClickLeft (After being empty the contour)
@@ -181,6 +176,21 @@ namespace bbtk
                        GetManualViewBaseContour()->Refresh();
                }
        }
+       
+       //=========================================================================
+       
+       void manualConnectorContourController::endContourCreation()
+       {
+               SetCompleteCreation( true );
+               SetKeyBoardMoving( false );
+               GetManualContourModel()->SetCloseContour(false);
+
+               SetEditable( false );
+               SetPosibleToMove( false );
+               SetState(0);
+       }
+
+
        //=========================================================================
 
 }  // EO namespace bbtk
index a987842ce48087c771c6523a0df5862094ae333f..f7919a45893d1f86585ce4c34f3f0a3f76a48ab5 100644 (file)
@@ -70,6 +70,7 @@ namespace bbtk
                virtual void MouseClickRight(int x, int y);
                virtual void MouseClickLeft(int x, int y);
                virtual void MouseMove(int x, int y);
+               void endContourCreation();
 
        private:
 
index 9d24f21b9db030a5ba788f45c0e7509bff7ee425..2d9f0c1c8ba0f72dcf4b9a31633f752389fc6938 100644 (file)
@@ -66,6 +66,7 @@ namespace bbtk
                _pts->SetPoint(2, xFin, yFin, zFin );
                _pts->SetPoint(3, xFin, yInic, zFin );
 
+               updatePorts();
 
                _borderPolyMapper->Modified();
                _fillPolyMapper->Modified();
@@ -230,6 +231,14 @@ namespace bbtk
 
        //=========================================================================
 
+       void vtkGBlackBoxView::updatePorts()
+       {
+               GBlackBoxModel* bmod =(GBlackBoxModel*)_model;
+               bmod->updatePorts();
+       }
+
+       //=========================================================================
+
 }  // EO namespace bbtk
 
 // EOF
index 5eee4e1775d0603cb25adfeb91db7f60d0e744fd..4391d61ae561ef8003d25cbfce7158541a27d304 100644 (file)
@@ -100,6 +100,7 @@ namespace bbtk
                virtual void createVtkObjects();
                virtual void update(int idController,int command);
                virtual void updateColors();
+               void updatePorts();
        };
 
 
index a56cd3b7eae38be363a6681d9e6cc5de77409301..321a858241e81bd2cc8c05822bf6802661c6b083 100644 (file)
@@ -70,6 +70,7 @@ namespace bbtk
 
                _fillPolyMapper->Modified();
                
+               //-----------
                setRefreshWaiting();
        }
 
index 069b66dc5d57151be5233a9294948547f19fb761..06b7ed0f49156dbad5aca8ec30f6099cd1096bde 100644 (file)
@@ -370,10 +370,10 @@ namespace bbtk
        /*****************************************************/
        void wxGUIEditorGraphicBBS::OnSaveActualDiagram(wxCommandEvent& event)
        {
-               wxFileDialog * openFileDialog = new wxFileDialog(this,wxT("Save  actual diagram"),wxEmptyString,"NewDiagram","*.bbd",wxSAVE|wxOVERWRITE_PROMPT);
-               if (openFileDialog->ShowModal() == wxID_OK)
+               wxFileDialog * saveFileDialog = new wxFileDialog(this,wxT("Save  actual diagram"),wxEmptyString,"NewDiagram","*.bbd",wxSAVE|wxOVERWRITE_PROMPT);
+               if (saveFileDialog->ShowModal() == wxID_OK)
                {
-                       wxString fileName = openFileDialog->GetPath();
+                       wxString fileName = saveFileDialog->GetPath();
                        
                        ofstream file;
                        file.open(fileName.c_str());
@@ -388,13 +388,12 @@ namespace bbtk
                        content += "\n";
                        content += "# ----------------------------------\n";
                        content += "\n";
-
-                       _tabsMgr->saveActualDiagram(content);                   
+                       content += "APP_START\n";
+                       _tabsMgr->saveActualDiagram(content);           
+                       content += "APP_END\n";
                        file << content;
                        file.close();
                        
-                       wxMessageDialog *dial = new wxMessageDialog(NULL, wxT("      Diagram successfully saved!!      "), wxT("Saved!!"), wxOK);
-                       dial->ShowModal();
 
                }
 
@@ -423,7 +422,21 @@ namespace bbtk
        
        void wxGUIEditorGraphicBBS::OnOpenDiagram(wxCommandEvent& event)
        {
-               cout<<"RaC wxGUIEditorGraphicBBS::OnOpenDiagram "<<endl;
+               wxFileDialog * openFileDialog = new wxFileDialog(this,wxT("Open diagram"),wxEmptyString,"","*.bbd",wxOPEN|wxFILE_MUST_EXIST);
+               if (openFileDialog->ShowModal() == wxID_OK)
+               {
+                       wxString fileName = openFileDialog->GetPath();
+                       
+                       ifstream inputStream;
+                       inputStream.open(fileName.c_str());
+
+                       _tabsMgr->addNewTab();
+                       _tabsMgr->loadDiagram(inputStream);
+                       
+                       inputStream.close();
+                       
+
+               }
        }
 
        //=========================================================================
index a82b584fb34160f05bda958c80e3aeb9026de026..0fba89580e3036470a7aaf962e3a5a36cb6f57f1 100644 (file)
@@ -161,6 +161,13 @@ namespace bbtk
 
        //=========================================================================
 
+       void wxGEditorTabPanel::loadDiagram(ifstream &inputStream)
+       {
+               _sceneManager->loadDiagram(inputStream);
+       }
+
+       //=========================================================================
+
 }  // EO namespace bbtk
 
 // EOF
index 8ac5648f8d0525707000ffd9b66997c26d43e6d2..ea7c4261e619c86872f092777198eeb6fcb977a0 100644 (file)
@@ -87,6 +87,7 @@ namespace bbtk
                void deleteAllBoxes();
                void centerView();
                void saveDiagram(std::string &content);
+               void loadDiagram(ifstream &inputStream);
 
        //=========================================================================
                
index b626f4bc69cc6fbbc58a60d8c1a7fe7275a2c006..7998bc4e64c7f8292c7f88605e744419a85e2f49 100644 (file)
@@ -138,6 +138,13 @@ namespace bbtk
 
        //=========================================================================
 
+       void wxTabPanelsManager::loadDiagram(ifstream &inputStream)
+       {
+               _actual->loadDiagram(inputStream);
+       }
+
+       //=========================================================================
+
 }  // EO namespace bbtk
 
 // EOF
index ce207f40ef5df8f0f37132d08da21fe3e33daad0..42681b7e8270e38a2351a2c602eedfb6b9566441 100644 (file)
@@ -80,6 +80,7 @@ namespace bbtk
                void deleteAllBoxesActualDiagram();
                void centerViewActualDiagram();
                void saveActualDiagram(std::string &content);
+               void loadDiagram(ifstream &inputStream);
 
        private: