if (finPort->getGObjectType() == GPORT) {
GPortModel* modelPort = (GPortModel*) finPort->getModel();
modelContour->setEndPort(modelPort);
+ _parent->saveTempDiagram();
}
manualConnectorContourController
CancelConnection();
UnSelectBlackBoxes();
} // isOverPort
+
} else { //_worldState
cont->getView()->setState(DRAG);
cont->getModel()->notifyObservers(_idManager);
} // for
-
+
} // if _selectedObjects.size
_controllers.erase(it);
}//if
}// for
+ _parent->saveTempDiagram();
}
//=========================================================================
//DFCH
bool wxVtkSceneManager::MakeBoxExecutable() {
std::map<int, GObjectController*> selected = getSelectedObjects();
-
- std::map<int, GObjectController*>::iterator it = selected.end();
- it--;
- GObjectController* lastSelected = it->second;
- //GObjectController* lastSelected = selected[selected.size()-1];
- if( lastSelected )
- {
- vtkGObjectView* view = (vtkGObjectView*) lastSelected->getView();
- GBlackBoxModel *bbmodel = (GBlackBoxModel*) lastSelected->getModel();
- view->setState(HIGHLIGHTED);
- if (bbmodel->isExecutable()) {
- bbmodel->setExecutable(false);
- } else {
- bbmodel->setExecutable(true);
+ if( selected.empty() )
+ return false;
+ bool ret = false;
+ std::map<int, GObjectController*>::iterator it;
+ for (it = selected.begin(); it != selected.end(); ++it) {
+ GObjectController* lastSelected = it->second;
+ if (lastSelected) {
+ vtkGObjectView* view = (vtkGObjectView*) lastSelected->getView();
+ GBlackBoxModel *bbmodel =
+ (GBlackBoxModel*) lastSelected->getModel();
+ view->setState(HIGHLIGHTED);
+ if (bbmodel->isExecutable()) {
+ bbmodel->setExecutable(false);
+ } else {
+ bbmodel->setExecutable(true);
+ }
+ bbmodel->notifyObservers(lastSelected->getId());
+ ret = true;
}
- bbmodel->notifyObservers(lastSelected->getId());
- return true;
}
- else
- return( false );
+ return ret;
}
//DFCH
//=========================================================================
-void wxVtkSceneManager::loadDiagram(ifstream &inputStream) {
+void wxVtkSceneManager::loadDiagram(stringstream &inputStream) {
std::string version = "<void>";
std::string line = "";
char delims[] = ":";
char *result = NULL;
+
getline(inputStream, line);
bool start = false;