int _orientation,
ConnectedInterface *_refInter,
AbstractBoxItem* _owner,
- Parameters* _params){
+ Parameters* _params) {
positionRatio = _position;
orientation = _orientation;
refInter = _refInter;
}
// draw names
+ if(selected) {
+ painter->setPen(QPen(Qt::red,2));
+ }
+ else {
+ painter->setPen(QPen(Qt::black,1));
+ }
// reset to normal if at west
if(orientation == Parameters::West){
}
}
-QPointF InterfaceItem::getEndPointInGroup() {
- QPointF p;
+QPointF InterfaceItem::getStartPosition() {
+ QPointF p = originPoint;
+ QPointF ownerPos = owner->scenePos();
+ p += ownerPos;
+ return p;
+}
- if (owner->isGroupItem()) {
- p = originPoint;
- }
- else {
- double x = owner->x() + originPoint.x();
- double y = owner->y() + originPoint.y();
- switch(orientation){
- case Parameters::East:
- x += params->arrowWidth+params->arrowLineLength;
- break;
- case Parameters::North:
- y -= params->arrowWidth+params->arrowLineLength;
- break;
- case Parameters::West:
- x -= params->arrowWidth+params->arrowLineLength;
- break;
- case Parameters::South:
- y += params->arrowWidth+params->arrowLineLength;
- break;
- }
- p = QPointF(x,y);
+QPointF InterfaceItem::getEndPosition() {
+ QPointF p = getStartPosition();
+
+ switch(orientation){
+ case Parameters::East:
+ p.setX(p.x()+params->arrowWidth+params->arrowLineLength);
+ break;
+ case Parameters::North:
+ p.setY(p.y() - params->arrowWidth-params->arrowLineLength);
+ break;
+ case Parameters::West:
+ p.setX(p.x() - params->arrowWidth-params->arrowLineLength);
+ break;
+ case Parameters::South:
+ p.setY(p.y() + params->arrowWidth+params->arrowLineLength);
+ break;
}
-
- //cout << "iface end point in group item: " << p.x() << "," << p.y() << endl;
return p;
}
}
void InterfaceItem::removeConnectionItem(ConnectionItem* item) {
- connections.removeOne(item);
+ connections.removeAll(item);
}
QDataStream &operator <<(QDataStream &out, InterfaceItem *i) {