void wxVtkSceneManager::disconnectDrop()
{
- printf("EED %p ~wxVtkSceneManager::disconnectDrop()\n", this);
//EED02JUIN2010 _baseView->GetWxVTKRenderWindowInteractor()->SetDropTarget(NULL);
// _baseView->GetWxVTKRenderWindowInteractor()->SetDropTarget( new tmpClasswxTextDropTarget() );
}
wxVtkSceneManager::~wxVtkSceneManager()
{
//FCY memory leaks
- printf("EED %p ~wxVtkSceneManager() START\n", this);
disconnectDrop();
delete _baseView;
- printf("EED %p ~wxVtkSceneManager() END\n", this);
}
//=========================================================================
model->addObserver(view);
model->addObserver(this);
+
+//EED2017 change order
+ //Associates the view with the correspondent renderer and the model.
+ //(NOTE: Refresh is only made by the view)
+ view->setModel(model);
+ view->setBaseView(_baseView);
+
+ //Associates the controller with the correspondent model and view
+ controller->setModelAndView(model, view);
+
+
//Iterate and create the input ports
std::map<std::string, BlackBoxInputDescriptor*> descriptorInMap =
descriptor->GetInputDescriptorMap();
std::map<std::string, BlackBoxInputDescriptor*>::iterator itInput;
int i = 0;
- for (itInput = descriptorInMap.begin(); itInput != descriptorInMap.end(); ++itInput) {
+ for (itInput = descriptorInMap.begin(); itInput != descriptorInMap.end(); ++itInput)
+ {
BlackBoxInputDescriptor *desc = itInput->second;
- createGInputPort(GINPUTPORT, i, model, desc);
+//EED2017-04-07
+// createGInputPort(GINPUTPORT, i, model, desc);
+ createGInputPort(GINPUTPORT, i, controller, desc);
i++;
}
descriptor->GetOutputDescriptorMap();
std::map<std::string, BlackBoxOutputDescriptor*>::iterator itOutput;
i = 0;
- for (itOutput = descriptorOutMap.begin(); itOutput
- != descriptorOutMap.end(); ++itOutput) {
+ for (itOutput = descriptorOutMap.begin(); itOutput!= descriptorOutMap.end(); ++itOutput)
+ {
BlackBoxOutputDescriptor *desc = itOutput->second;
- createGOutputPort(GOUTPUTPORT, i, model, desc);
+//EED2017-04-07
+// createGOutputPort(GOUTPUTPORT, i, model, desc);
+ createGOutputPort(GOUTPUTPORT, i, controller, desc);
i++;
}
- //Associates the view with the correspondent renderer and the model.
- //(NOTE: Refresh is only made by the view)
- view->setModel(model);
- view->setBaseView(_baseView);
-
+//EED2017 change order
view->initVtkObjects();
- //Associates the controller with the correspondent model and view
- controller->setModelAndView(model, view);
-
//Resgiter change to the observers of the actual model
model->notifyObservers(_idManager);
-
int newId = addObjectController(controller);
return newId;
//=========================================================================
-int wxVtkSceneManager::createGInputPort(int portType, int posinBox, GBoxModel *blackBox, BlackBoxInputDescriptor *desc)
+//EED2017-04-08
+//int wxVtkSceneManager::createGInputPort(int portType, int posinBox, GBoxModel *blackBox, BlackBoxInputDescriptor *desc)
+int wxVtkSceneManager::createGInputPort(int portType, int posinBox, GObjectController *gBoxControler, BlackBoxInputDescriptor *desc)
{
+ GBoxModel *blackBox=(GBoxModel*)gBoxControler->getModel();
GPortController* portController = createGPort(portType, desc->GetName(),
desc->GetTypeName(), desc->GetDescription(), posinBox, blackBox);
- blackBox->addInputPort((GPortModel*) portController->getModel());
+ blackBox->addInputPort( (GPortModel*)portController->getModel() );
+
+ vtkGBoxView *vtkgboxView=(vtkGBoxView*)gBoxControler->getView();
+ vtkgboxView->addInputPort( (vtkGPortView*)portController->getView() );
+
return portController->getId();
}
//=========================================================================
-int wxVtkSceneManager::createGOutputPort(int portType, int posinBox,GBoxModel *blackBox, BlackBoxOutputDescriptor *desc)
+//EED2017-04-08
+//int wxVtkSceneManager::createGOutputPort(int portType, int posinBox,GBoxModel *blackBox, BlackBoxOutputDescriptor *desc)
+int wxVtkSceneManager::createGOutputPort(int portType, int posinBox,GObjectController *gBoxControler, BlackBoxOutputDescriptor *desc)
{
+ GBoxModel *blackBox=(GBoxModel*)gBoxControler->getModel();
GPortController* portController = createGPort(portType, desc->GetName(),
desc->GetTypeName(),desc->GetDescription(), posinBox, blackBox);
blackBox->addOutputPort((GPortModel*) portController->getModel());
+
+ vtkGBoxView *vtkgboxView=(vtkGBoxView*)gBoxControler->getView();
+ vtkgboxView->addOutputPort( (vtkGPortView*)portController->getView() );
+
return portController->getId();
}
int type = GPORT;
//Create the MVC Objects
- GPortModel
- *model =
- (GPortModel*) GObjectsMVCFactory::getInstance()->createGObjectModel(
- type);
- vtkGObjectView *view =
- GObjectsMVCFactory::getInstance()->createGObjectView(type);
- GObjectController* controller =
- GObjectsMVCFactory::getInstance()->createGObjectController(type);
-
+ GPortModel *model = (GPortModel*) GObjectsMVCFactory::getInstance()->createGObjectModel(type);
+ vtkGObjectView *view = GObjectsMVCFactory::getInstance()->createGObjectView(type);
+ GObjectController *controller = GObjectsMVCFactory::getInstance()->createGObjectController(type);
model->registerInBox(blackBox, portType, posInBox);
-
model->setBBTKType(bbtkType);
model->setBBTKName(bbtkName);
model->setBBTKDescription(bbtkDescription);
-
model->addObserver(view);
model->addObserver(this);
-
//Associates the view with the correspondent renderer and the model.
//(NOTE: Refresh is only made by the view)
view->setModel(model);
view->setBaseView(_baseView);
-
//EED017 view->initVtkObjects();
view->createVtkObjects();
// view->addVtkActors();
-
//Associates the controller with the correspondent model and view
controller->setModelAndView(model, view);
-
model->notifyObservers(_idManager);
-
addObjectController(controller);
-
return (GPortController*) controller;
-
}
//=========================================================================
// Highliht element
obc->getView( )->setState( POSSIBLE_CONNECTION ) ;
//obc->getView( )->setState( HIGHLIGHTED ) ;
- }
- }
- }
- }
+ } // if obc_type
+ } // for c_it
+ } // if
+ } // if iter
// EO JGRR & CM WH
if ((obc_type == GPORT) && (obc_state == SELECTED_POSSIBLE_CONNECTION)) {
// Change element to connected state
obc->getView()->setState(HIGHLIGHTED);
-
}
}