groupItem = NULL;
}
+/*
+void GroupScene::mouseMoveEvent(QGraphicsSceneMouseEvent *event) {
+
+ //QGraphicsScene::mouseMoveEvent(event);
+
+ QPointF p = event->scenePos();
+ cout << p.x() << "," << p.y() << endl;
+
+}
+*/
+
void GroupScene::setSelectedInterface(int id, InterfaceItem* iface) {
if ((id < 1)|| (id > 2)) return;
selectedInterfaces[id-1] = iface;
int GroupScene::setItemsId(int countInit) {
int counter = countInit;
groupItem->setId(counter++);
+ if (isTopScene()) {
+ foreach(SourceItem *item, sourceItems){
+ item->setId(counter++);
+ }
+ }
foreach(BoxItem *item, boxItems){
item->setId(counter++);
}
foreach(InterfaceItem* inter, groupItem->getInterfaces()){
inter->setId(counter++);
}
+ if (isTopScene()) {
+ foreach(SourceItem *item, sourceItems){
+ foreach(InterfaceItem* inter, item->getInterfaces()){
+ inter->setId(counter++);
+ }
+ }
+ }
foreach(BoxItem *item, boxItems){
foreach(InterfaceItem* inter, item->getInterfaces()){
inter->setId(counter++);
}
void GroupScene::addSourceItem(SourceItem* item) {
+ // adding item to the scene
+ addItem(item);
+ item->setZValue(1);
// add item from the QList
sourceItems.append(item);
}
sourceItems.removeAll(item);
}
-void GroupScene::createConnectionItem(InterfaceItem *iface1, InterfaceItem *iface2, bool withinGroup) {
+void GroupScene::createConnectionItem(InterfaceItem *iface1, InterfaceItem *iface2, bool visible) {
ConnectionItem* conn = NULL;
- if (withinGroup) {
- conn = new ConnectionItem(iface1,iface2, dispatcher, params, groupItem);
- }
- else {
- conn = new ConnectionItem(iface1,iface2, dispatcher, params, NULL);
- addItem(conn);
- }
+
+ conn = new ConnectionItem(iface1,iface2, dispatcher, params);
+ conn->setVisible(visible);
+ addItem(conn);
addConnectionItem(conn);
}
}
void GroupScene::removeConnectionItem(ConnectionItem* item) {
+
+ // remove connection from/to InterfaceItem
+ InterfaceItem* fromIfaceItem = item->getFromInterfaceItem();
+ InterfaceItem* toIfaceItem = item->getToInterfaceItem();
+ fromIfaceItem->removeConnectionItem(item);
+ toIfaceItem->removeConnectionItem(item);
+
// remove item from the viewport
removeItem(item);
// remove item from the QList
if (selectedInterfaces[0] != NULL) {
selectedInterfaces[0]->selected = false;
- selectedInterfaces[0] == NULL;
+ selectedInterfaces[0] = NULL;
}
if (selectedInterfaces[1] != NULL) {
selectedInterfaces[1]->selected = false;
- selectedInterfaces[1] == NULL;
+ selectedInterfaces[1] = NULL;
}
}