void SUPERVGUI_StartControlNode::remove() {
myEndNode->deleteLinks();
deleteLinks();
- myEndNode->getEngine()->destroy();
myNode->destroy();
myMain->getGraph()->deleteNode(myEndNode);
myMain->getGraph()->deleteNode(this);
void SUPERVGUI_StartControlNode::deletePort(SUPERVGUI_Port* thePort) {
if (getNodeType() == SUPERV::LoopNode) {
+
SUPERV_Port aPortEngine = thePort->getPort();
QString aName(aPortEngine->Name());
QString aNameIn = aName + "Input";
myPIcount--;
myPOcount--;
+
myEndNode->getPIcount()--;
myEndNode->getPOcount()--;
-
+
aPortEngine->destroy();
+
updatePorts();
updateShape();
myEndNode->updatePorts();
myPortsBox->reparent(this, pos());
- myPIcount = 0;
- myPOcount = 0;
- SUPERV_Ports ports = myNode->Ports();
- int n = ports->length();
-
- for (int i=0; i<n; i++) {
- if (ports[i]->IsInput()) {
- if (getComputingNode()->IsEndSwitch()) {
- if (ports[i]->IsGate())
- myGatesLayout->addWidget(new SUPERVGUI_PortInESNode(myGatesBox, myMain, ports[i]),
- 0, 0);
- else {
- myPortLayout->addWidget(new SUPERVGUI_PortInESNode(myValuesBox, myMain, ports[i]),
- myPIcount, 0);
- myPIcount++;
- }
- } else {
- if (ports[i]->IsGate())
- myGatesLayout->addWidget(new SUPERVGUI_PortIn(myGatesBox, myMain, ports[i]),
- 0, 0);
- else {
- myPortLayout->addWidget(new SUPERVGUI_PortIn(myValuesBox, myMain, ports[i]),
- myPIcount, 0);
- myPIcount++;
- }
- }
- } else {
- if (ports[i]->IsGate())
- myGatesLayout->addWidget(new SUPERVGUI_PortOut(myGatesBox, myMain, ports[i]),
- 0, 1, Qt::AlignRight);
- else {
- myPortLayout->addWidget(new SUPERVGUI_PortOut(myValuesBox, myMain, ports[i]),
- myPOcount, 1, Qt::AlignRight);
- myPOcount++;
- }
- }
- }
aGridLayout->addMultiCellWidget(myPortsBox, 1, 1, 1, 2);
-
+
myStatus->reparent(this, pos());
myTime->reparent(this, pos());
aGridLayout->addMultiCellWidget(myStatus, 2, 2, 0, 1);