1 /***********************************************************************/
2 /* Open Visualization Data Explorer                                    */
3 /* (C) Copyright IBM Corp. 1989,1999                                   */
4 /* ALL RIGHTS RESERVED                                                 */
5 /* This code licensed under the                                        */
6 /*    "IBM PUBLIC LICENSE - Open Visualization Data Explorer"          */
7 /***********************************************************************/
8 
9 #include <dxconfig.h>
10 #include "../base/defines.h"
11 
12 
13 
14 
15 
16 #include "Ark.h"
17 #include "ArkStandIn.h"
18 #include "Node.h"
19 #include "StandIn.h"
20 
21 
22 
Ark(Node * fromNode,int fp,Node * toNode,int tp)23 Ark::Ark(Node *fromNode, int fp, Node *toNode, int tp)
24 {
25         this->arcStandIn = NULL;
26 
27         this->from = fromNode;
28         this->fromParameter = fp;
29         this->to = toNode;
30         this->toParameter = tp;
31         this->from->addOutputArk(this,fp);
32         this->to->addInputArk(this,tp);
33 }
34 
~Ark()35 Ark::~Ark()
36 {
37      Node*      sourceNode;
38      Node*      destNode;
39      StandIn*   srcStandIn;
40      StandIn*   destStandIn;
41      int        sourceIndex, destIndex;
42 
43      sourceNode = this->getSourceNode(sourceIndex);
44      destNode   = this->getDestinationNode(destIndex);
45 
46      //
47      // remove the arc from the approiate lists.
48      //
49      this->to->deleteArk(this);
50 
51      //
52      // If a standIn exists update the UI.
53      //
54      if (this->arcStandIn != NULL) {
55          delete this->arcStandIn;
56          srcStandIn = sourceNode->getStandIn();
57 	 if (srcStandIn)
58              srcStandIn->drawTab(sourceIndex, True);
59          destStandIn = destNode->getStandIn();
60 	 if (destStandIn)
61              destStandIn->drawTab(destIndex, False);
62      }
63 
64 
65 }
66 
67 
68