}
//=========================================================================
-
+//EED01
void wxGUIEditorGraphicBBS::OnAddComplexBoxInput(wxCommandEvent& event)
{
wxTextEntryDialog *nameDialog = new wxTextEntryDialog(this,
wxT("Name of input port"));
- if (nameDialog->ShowModal() == wxID_OK) {
+ if (nameDialog->ShowModal() == wxID_OK)
+ {
wxString fileName = nameDialog->GetValue();
- if (!fileName.IsEmpty()) {
+ if (!fileName.IsEmpty())
+ {
std::string portName = (const char*) (fileName.mb_str());
- _tabsMgr->addActualDiagramComplexInputPort(portName);
- }
- }
+ if ( !boxNameExists(portName) )
+ {
+ _tabsMgr->addActualDiagramComplexInputPort(portName);
+ } else {
+ wxMessageDialog *dial = new wxMessageDialog(NULL,
+ wxT("Impossible to create Box. The name already exists. Please provide another name"),
+ wxT("Change name: name already exists"), wxOK | wxICON_EXCLAMATION | wxSTAY_ON_TOP);
+ dial->ShowModal();
+ }
+ } // if !fileName
+ } // if namaDialog
}
//=========================================================================
{
wxTextEntryDialog *nameDialog = new wxTextEntryDialog(this,
wxT("Name of output port"));
- if (nameDialog->ShowModal() == wxID_OK) {
+ if (nameDialog->ShowModal() == wxID_OK)
+ {
wxString fileName = nameDialog->GetValue();
- if (!fileName.IsEmpty()) {
+ if (!fileName.IsEmpty())
+ {
std::string portName = (const char*) (fileName.mb_str());
+ if ( !boxNameExists(portName) )
+ {
_tabsMgr->addActualDiagramComplexOutputPort(portName);
- }
- }
+ } else {
+ wxMessageDialog *dial = new wxMessageDialog(NULL,
+ wxT("Impossible to create Box. The name already exists. Please provide another name"),
+ wxT("Change name: name already exists"), wxOK | wxICON_EXCLAMATION | wxSTAY_ON_TOP);
+ dial->ShowModal();
+ }
+
+ } // if !filename
+ } // namaDialog
}
//=========================================================================
wxVtkSceneManager::wxVtkSceneManager(wxGEditorTabPanel *parent, wxVtk3DBaseView *baseView, int idManager,Factory::Pointer bbtkfactory)
{
_cbName = "ComplexBoxName";
- _cbPackageName = "PackageName";
+ _cbPackageName = "PackageName";
_Author = "Author ??";
_Category = "<VOID>";
- _Description = "Description ??";
+ _Description = "Description ??";
+
+ _bugTextActor_text = "void";
+ _bugTextActor_status = 0;
_parent = parent;
_numBoxes = 0;
_idManager = idManager;
_baseView = baseView;
- _bbtkfactory = bbtkfactory;
+ _bbtkfactory = bbtkfactory;
- _startDragging = false;
- _isComplexBox = false;
+ _startDragging = false;
+ _isComplexBox = false;
if (_baseView != NULL) {
//EED02JUIN2010
// Actos Port_Text
_textActor = vtkTextActor3D::New();
+// _textActor = vtkTextActor::New();
_textActor->SetPosition(-9999, -9999, GPOSITION_Z);
_textActor->SetInput("<void>");
_textActor->GetTextProperty()->SetFontSize(60);
{
int X, Y;
bool okStatusMessage = false;
- bool okPortMessage = false;
+ bool okPortMessage = false;
wxVTKRenderWindowInteractor *wxVTKiren;
wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
wxVTKiren->GetEventPosition(X, Y);
if ((state == HIGHLIGHTED) || (state == SELECTED_POSSIBLE_CONNECTION ))
{
// EO JGRR & CM
- okStatusMessage = true;
+ okStatusMessage = true;
updateStatusBar(desc->getStatusText());
if (type == GBLACKBOX)
{
if (type == GPORT)
{
// PortText
- okPortMessage = true;
- py = py + 5;
- _textActor->SetInput(desc->getStatusText().c_str());
- _textActor->SetScale(0.1);
- _textActor->SetPosition(px - 25, py + 1, pz + 2);
-
- // FillPortText
- px = px - 33;
- //py = py;
- _fillObjectActor->SetScale(1);
- _fillObjectActor->GetProperty()->SetOpacity(0.50);
- _fillObjectActor->SetPosition(px, py, 1);
- _aPolygonMapper->Modified();
- } // if GPORT
+ if ( ( _bugTextActor_text==desc->getStatusText() ) || (_bugTextActor_status==0) )
+ {
+ _bugTextActor_status = 1;
+ okPortMessage = true;
+ py = py + 5;
+ _textActor->SetScale(0.1);
+ std::string tmp = desc->getStatusText()+"\n";
+ _textActor->SetInput( tmp.c_str() );
+ _textActor->SetPosition(px - 25, py + 1, pz + 2);
+ _textActor->Modified();
+ // FillPortText
+ px = px - 33;
+ //py = py;
+ _fillObjectActor->SetScale(1);
+ _fillObjectActor->GetProperty()->SetOpacity(0.50);
+ _fillObjectActor->SetPosition(px, py, 1);
+ _aPolygonMapper->Modified();
+ } else {
+ _bugTextActor_status = 2;
+ } // _bugTextActor_tex
+ _bugTextActor_text = desc->getStatusText();
- } // for controllers it
- }
+ } // if GPORT
+ } //if state
+ } // for controllers it
}
if (okStatusMessage == false)
{
updateStatusBar("");
}
- if (okPortMessage == false)
+ if ((okPortMessage == false) || (_bugTextActor_status== 2 ) )
{
+ _bugTextActor_status = 0;
_textActor->SetScale(0.0001);
+ _textActor->SetInput("a\n");
+ _textActor->Modified();
_fillObjectActor->SetScale(0.0001);
}
return true;
//=========================================================================
void wxVtkSceneManager::loadDiagram(stringstream &inputStream)
{
+
int size;
std::string version = "<void>";
std::string line = "";
}
+
//-----------------------
//- COMPLEX OUTPUT PORTS
//-----------------------
result = strtok(NULL, delims);//name
std::string name(result);
+
getCleanLine(inputStream, line);//ISEXEC:TRUE|FALSE
char exec[15];
strcpy(exec, line.c_str());
result = strtok(NULL, delims);
std::string nameEndPort(result);
+
int idCon = configGConnetion(nameStartBox, nameStartPort,nameEndBox, nameEndPort);
if (version != "1.0") {
for (j = 0; j < (int) lstB.size(); j++) {
idB = lstB[j];
bMod = (GBoxModel*) _controllers[idB]->getModel();
- if (_controllers[idB]->getModel()->getBBTKName() == boxname) {
+ if (_controllers[idB]->getModel()->getBBTKName() == boxname)
+ {
boxModel = bMod;
}
} // for
for (j = 0; j < (int) lstInputs.size(); j++) {
idB = lstInputs[j];
bMod = (GBoxModel*) _controllers[idB]->getModel();
- if (_controllers[idB]->getModel()->getBBTKName() == boxname) {
+ if (_controllers[idB]->getModel()->getBBTKName() == boxname)
+ {
boxModel = bMod;
}
} // for
for (j = 0; j < (int) lstOutputs.size(); j++) {
int idB = lstOutputs[j];
bMod = (GBoxModel*) _controllers[idB]->getModel();
- if (_controllers[idB]->getModel()->getBBTKName() == boxname) {
+ if (_controllers[idB]->getModel()->getBBTKName() == boxname)
+ {
boxModel = bMod;
}
} // for
if (boxModel != NULL) {
startP = boxModel->getOutputPort(nameStartPort);
if(startP == NULL){
- printf("SCP: ERROR in wxVtkSceneManager::configGConnetion start port %s is null. Port name is probably wrong.\n", nameStartPort.c_str());
+ printf("SCP: ERROR in wxVtkSceneManager::configGConnetion start port is null. Port name is probably wrong. Start>%s::%s End>%s::%s\n", nameStartBox.c_str(), nameStartPort.c_str(), nameEndBox.c_str(), nameEndPort.c_str() );
}
}
if (boxModel != NULL) {
endP = boxModel->getInputPort(nameEndPort);
if(endP == NULL){
- printf("SCP: ERROR in wxVtkSceneManager::configGConnetion end port %s is null. Port name is probably wrong\n", nameStartPort.c_str(), nameEndPort.c_str());
+ printf("SCP: ERROR in wxVtkSceneManager::configGConnetion end port is null. Port name is probably wrong. Start>%s::%s End>%s::%s \n", nameStartBox.c_str(), nameStartPort.c_str(), nameEndBox.c_str(), nameEndPort.c_str());
}
}