| 111 | } |
| 112 | |
| 113 | void |
| 114 | Monitor::NodeGenerator::connectNodes(QGraphicsScene *nodeScene) |
| 115 | { |
| 116 | // erase old values |
| 117 | rMap_.clear(); |
| 118 | wMap_.clear(); |
| 119 | |
| 120 | findConnections(root_); |
| 121 | |
| 122 | std::map <TreeNode *, std::string>::const_iterator i; |
| 123 | |
| 124 | // connect reader to writers |
| 125 | for (i = rMap_.begin(); i != rMap_.end(); ++i) { |
| 126 | Node *parent = nMap_[i->first]; |
| 127 | Node *child = nMap_[wMap_[rMap_[i->first]]]; |
| 128 | if (parent && child) { |
| 129 | Edge *edge = new Edge(parent, child, true, parent); |
| 130 | nodeScene->addItem(edge); |
| 131 | parent->addEdge(edge); |
| 132 | child->addEdge(edge); |
| 133 | } |
| 134 | } |
| 135 | } |
| 136 | |
| 137 | void |
| 138 | Monitor::NodeGenerator::generate(TreeNode *t, QGraphicsScene *nodeScene, int w, int h, Node* parent) |