if(port->getValue()!="")
{
- txtValue->SetLabel(crea::std2wx(port->getValue()));
+ txtValue->SetValue(crea::std2wx(port->getValue()));
}
if(port->isConnected())
{
std::string connected("--Port Connected--");
- txtValue->SetLabel(crea::std2wx(connected));
+ txtValue->SetValue(crea::std2wx(connected));
txtValue->SetEditable(false);
}
if(type.find(et)!=-1)
{
std::string noEditable("--No editable--");
- txtValue->SetLabel(crea::std2wx(noEditable));
+ txtValue->SetValue(crea::std2wx(noEditable));
txtValue->SetEditable(false);
}
void wxBlackBoxEditionDialog::onClickOk(wxCommandEvent& event)
{
-
- for(int i=0;i<_lstValues.size();i++)
+printf("EED wxBlackBoxEditionDialog::onClickOk size %d \n", (int)_lstValues.size() );
+ for(int i=0;i<(int)_lstValues.size();i++)
{
- std::string text = wx2std(_lstValues[i]->GetLabelText());
+ std::string text = wx2std(_lstValues[i]->GetValue());
+printf("EED wxBlackBoxEditionDialog::onClickOk text %s \n", text.c_str() );
//TOFIX Search a better alternative
if(text!="--No editable--" && text!="--Port Connected--")
{
+printf("EED wxBlackBoxEditionDialog::onClickOk text %s \n", text.c_str() );
_model->setValueToInputPort(i,text);
}
}
void wxBlackBoxEditionDialog::onClickClose(wxCommandEvent& event)
{
+printf("EED wxBlackBoxEditionDialog::onClickClose\n");
Close(true);
}
{
if(_selectedObjects.size()>0)
{
- for(int i=0;i<_selectedObjects.size();i++)
+ for(int i=0;i<(int)_selectedObjects.size();i++)
{
- int id = _selectedObjects[i];
- deleteObject(id);
+ int id = _selectedObjects[i];
+ std::map<int,GObjectController*>::iterator it;
+ it = _controllers.find(id);
+ if (it!=_controllers.end())
+ {
+ deleteObject(id);
+ }
}
_selectedObjects.clear();
}
//=========================================================================
+ void wxVtkSceneManager::AddControlerToBeRemove(std::vector<int> *controllersToRemove, int id)
+ {
+
+ int i;
+ bool ok=true;
+ for(i=0 ; i < (int)controllersToRemove->size() ; i++ )
+ {
+ if (id == (*controllersToRemove)[i] )
+ {
+ ok=false;
+ }
+ }
+
+ if (ok==true)
+ {
+ controllersToRemove->push_back( id );
+ }
+
+ }
+
+ //=========================================================================
+
void wxVtkSceneManager::deleteObject(int id)
{
GObjectController *control = _controllers[id];
bool boxConnected = false;
// Add box input controllers to be removed
- for(int i = 0;i<inputs.size();i++)
+ for(int i = 0;i< (int)inputs.size();i++)
{
- controllersToRemove.push_back(inputs[i]->getObjectId());
+ AddControlerToBeRemove( &controllersToRemove, inputs[i]->getObjectId() );
if(inputs[i]->isConnected())
{
boxConnected = true;
std::vector<GPortModel*> outputs = bbmod->getOutputPorts();
// Add box output controllers to be removed
- for(int i = 0;i<outputs.size();i++)
+ for(int i = 0;i<(int)outputs.size();i++)
{
- controllersToRemove.push_back(outputs[i]->getObjectId());
+ AddControlerToBeRemove( &controllersToRemove, outputs[i]->getObjectId() );
if(outputs[i]->isConnected())
{
boxConnected = true;
GConnectorModel *conMod = (GConnectorModel*)cont->getModel();
if(conMod->getStartPort()!=NULL && conMod->getStartPort()->getParentBox()->getObjectId() == bbmod->getObjectId())
{
- controllersToRemove.push_back(conMod->getObjectId());
+ AddControlerToBeRemove( &controllersToRemove, conMod->getObjectId() );
}
if(conMod->getEndPort()!=NULL && conMod->getEndPort()->getParentBox()->getObjectId() == bbmod->getObjectId())
{
- controllersToRemove.push_back(conMod->getObjectId());
+ AddControlerToBeRemove( &controllersToRemove, conMod->getObjectId() );
}
}
}
// Add box controller to be removed
- controllersToRemove.push_back(bbmod->getObjectId());
+ AddControlerToBeRemove( &controllersToRemove, bbmod->getObjectId() );
}
else if(control->getGObjectType()==GCONNECTOR)
{
GConnectorModel *conMod = (GConnectorModel*)control->getModel();
- controllersToRemove.push_back(conMod->getObjectId());
+ AddControlerToBeRemove( &controllersToRemove, conMod->getObjectId() );
}
- for(int i = 0;i<controllersToRemove.size();i++)
+
+ std::map<int,GObjectController*>::iterator it;
+
+ for(int i = 0;i<(int)controllersToRemove.size();i++)
{
- int id = controllersToRemove[i];
- GObjectController *cont = _controllers[id];
+ int key = controllersToRemove[i];
+ it = _controllers.find( key );
+ GObjectController *cont = _controllers[ key ];
if(cont!=NULL)
{
cont->removeFromScene();
unregisterController((InteractorStyleMaracas*)cont);
- _controllers.erase(id);
- }
- }
-
-
+ _controllers.erase(it);
+ }//if
+ }// for
}
//=========================================================================