forked from qt-creator/qt-creator
ModelEditor: Refactor relationables into common parent class
Change-Id: Id863a5004cb903cbc2929745e818e5810ff70dd2 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -227,23 +227,7 @@ void ClassItem::update()
|
|||||||
}
|
}
|
||||||
|
|
||||||
updateSelectionMarker(m_customIcon);
|
updateSelectionMarker(m_customIcon);
|
||||||
|
updateRelationStarter();
|
||||||
// relation starters
|
|
||||||
if (isFocusSelected()) {
|
|
||||||
if (!m_relationStarter) {
|
|
||||||
m_relationStarter = new RelationStarter(this, diagramSceneModel(), 0);
|
|
||||||
scene()->addItem(m_relationStarter);
|
|
||||||
m_relationStarter->setZValue(RELATION_STARTER_ZVALUE);
|
|
||||||
m_relationStarter->addArrow(QLatin1String("inheritance"), ArrowItem::ShaftSolid, ArrowItem::HeadTriangle);
|
|
||||||
m_relationStarter->addArrow(QLatin1String("dependency"), ArrowItem::ShaftDashed, ArrowItem::HeadOpen);
|
|
||||||
m_relationStarter->addArrow(QLatin1String("association"), ArrowItem::ShaftSolid, ArrowItem::HeadFilledTriangle);
|
|
||||||
}
|
|
||||||
} else if (m_relationStarter) {
|
|
||||||
scene()->removeItem(m_relationStarter);
|
|
||||||
delete m_relationStarter;
|
|
||||||
m_relationStarter = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
updateAlignmentButtons();
|
updateAlignmentButtons();
|
||||||
updateGeometry();
|
updateGeometry();
|
||||||
}
|
}
|
||||||
@@ -263,11 +247,6 @@ QSizeF ClassItem::minimumSize() const
|
|||||||
return calcMinimumGeometry();
|
return calcMinimumGeometry();
|
||||||
}
|
}
|
||||||
|
|
||||||
QPointF ClassItem::relationStartPos() const
|
|
||||||
{
|
|
||||||
return pos();
|
|
||||||
}
|
|
||||||
|
|
||||||
void ClassItem::relationDrawn(const QString &id, const QPointF &toScenePos, const QList<QPointF> &intermediatePoints)
|
void ClassItem::relationDrawn(const QString &id, const QPointF &toScenePos, const QList<QPointF> &intermediatePoints)
|
||||||
{
|
{
|
||||||
DElement *targetElement = diagramSceneModel()->findTopmostElement(toScenePos);
|
DElement *targetElement = diagramSceneModel()->findTopmostElement(toScenePos);
|
||||||
@@ -359,6 +338,13 @@ void ClassItem::setFromDisplayName(const QString &displayName)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ClassItem::updateRelationStarterTools(RelationStarter *relationStarter)
|
||||||
|
{
|
||||||
|
relationStarter->addArrow("dependency", ArrowItem::ShaftDashed, ArrowItem::HeadOpen);
|
||||||
|
relationStarter->addArrow("inheritance", ArrowItem::ShaftSolid, ArrowItem::HeadTriangle);
|
||||||
|
relationStarter->addArrow("association", ArrowItem::ShaftSolid, ArrowItem::HeadFilledTriangle);
|
||||||
|
}
|
||||||
|
|
||||||
DClass::TemplateDisplay ClassItem::templateDisplay() const
|
DClass::TemplateDisplay ClassItem::templateDisplay() const
|
||||||
{
|
{
|
||||||
auto diagramClass = dynamic_cast<DClass *>(object());
|
auto diagramClass = dynamic_cast<DClass *>(object());
|
||||||
@@ -535,10 +521,7 @@ void ClassItem::updateGeometry()
|
|||||||
}
|
}
|
||||||
|
|
||||||
updateSelectionMarkerGeometry(rect);
|
updateSelectionMarkerGeometry(rect);
|
||||||
|
updateRelationStarterGeometry(rect);
|
||||||
if (m_relationStarter)
|
|
||||||
m_relationStarter->setPos(mapToScene(QPointF(right + 8.0, top)));
|
|
||||||
|
|
||||||
updateAlignmentButtonsGeometry(rect);
|
updateAlignmentButtonsGeometry(rect);
|
||||||
updateDepth();
|
updateDepth();
|
||||||
}
|
}
|
||||||
|
@@ -27,7 +27,6 @@
|
|||||||
|
|
||||||
#include "objectitem.h"
|
#include "objectitem.h"
|
||||||
|
|
||||||
#include "qmt/diagram_scene/capabilities/relationable.h"
|
|
||||||
#include "qmt/diagram/dclass.h"
|
#include "qmt/diagram/dclass.h"
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
@@ -43,10 +42,9 @@ class DiagramSceneModel;
|
|||||||
class CustomIconItem;
|
class CustomIconItem;
|
||||||
class ContextLabelItem;
|
class ContextLabelItem;
|
||||||
class TemplateParameterBox;
|
class TemplateParameterBox;
|
||||||
class RelationStarter;
|
|
||||||
class Style;
|
class Style;
|
||||||
|
|
||||||
class ClassItem : public ObjectItem, public IRelationable
|
class ClassItem : public ObjectItem
|
||||||
{
|
{
|
||||||
Q_DECLARE_TR_FUNCTIONS(qmt::ClassItem)
|
Q_DECLARE_TR_FUNCTIONS(qmt::ClassItem)
|
||||||
|
|
||||||
@@ -61,7 +59,6 @@ public:
|
|||||||
|
|
||||||
QSizeF minimumSize() const override;
|
QSizeF minimumSize() const override;
|
||||||
|
|
||||||
QPointF relationStartPos() const override;
|
|
||||||
void relationDrawn(const QString &id, const QPointF &toScenePos,
|
void relationDrawn(const QString &id, const QPointF &toScenePos,
|
||||||
const QList<QPointF> &intermediatePoints) override;
|
const QList<QPointF> &intermediatePoints) override;
|
||||||
|
|
||||||
@@ -70,6 +67,7 @@ protected:
|
|||||||
bool handleSelectedContextMenuAction(const QString &id) override;
|
bool handleSelectedContextMenuAction(const QString &id) override;
|
||||||
QString buildDisplayName() const override;
|
QString buildDisplayName() const override;
|
||||||
void setFromDisplayName(const QString &displayName) override;
|
void setFromDisplayName(const QString &displayName) override;
|
||||||
|
void updateRelationStarterTools(RelationStarter *relationStarter) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DClass::TemplateDisplay templateDisplay() const;
|
DClass::TemplateDisplay templateDisplay() const;
|
||||||
@@ -88,7 +86,6 @@ private:
|
|||||||
QString m_methodsText;
|
QString m_methodsText;
|
||||||
QGraphicsTextItem *m_methods = 0;
|
QGraphicsTextItem *m_methods = 0;
|
||||||
TemplateParameterBox *m_templateParameterBox = 0;
|
TemplateParameterBox *m_templateParameterBox = 0;
|
||||||
RelationStarter *m_relationStarter = 0;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace qmt
|
} // namespace qmt
|
||||||
|
@@ -217,23 +217,6 @@ QList<ILatchable::Latch> ComponentItem::verticalLatches(ILatchable::Action actio
|
|||||||
return ObjectItem::verticalLatches(action, grabbedItem);
|
return ObjectItem::verticalLatches(action, grabbedItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPointF ComponentItem::relationStartPos() const
|
|
||||||
{
|
|
||||||
return pos();
|
|
||||||
}
|
|
||||||
|
|
||||||
void ComponentItem::relationDrawn(const QString &id, const QPointF &toScenePos, const QList<QPointF> &intermediatePoints)
|
|
||||||
{
|
|
||||||
DElement *targetElement = diagramSceneModel()->findTopmostElement(toScenePos);
|
|
||||||
if (targetElement) {
|
|
||||||
if (id == QStringLiteral("dependency")) {
|
|
||||||
auto dependantObject = dynamic_cast<DObject *>(targetElement);
|
|
||||||
if (dependantObject)
|
|
||||||
diagramSceneModel()->diagramSceneController()->createDependency(object(), dependantObject, intermediatePoints, diagramSceneModel()->diagram());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ComponentItem::hasPlainShape() const
|
bool ComponentItem::hasPlainShape() const
|
||||||
{
|
{
|
||||||
auto diagramComponent = dynamic_cast<DComponent *>(object());
|
auto diagramComponent = dynamic_cast<DComponent *>(object());
|
||||||
|
@@ -27,8 +27,6 @@
|
|||||||
|
|
||||||
#include "objectitem.h"
|
#include "objectitem.h"
|
||||||
|
|
||||||
#include "qmt/diagram_scene/capabilities/relationable.h"
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QGraphicsRectItem;
|
class QGraphicsRectItem;
|
||||||
class QGraphicsSimpleTextItem;
|
class QGraphicsSimpleTextItem;
|
||||||
@@ -43,7 +41,7 @@ class CustomIconItem;
|
|||||||
class ContextLabelItem;
|
class ContextLabelItem;
|
||||||
class RelationStarter;
|
class RelationStarter;
|
||||||
|
|
||||||
class ComponentItem : public ObjectItem, public IRelationable
|
class ComponentItem : public ObjectItem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ComponentItem(DComponent *component, DiagramSceneModel *diagramSceneModel,
|
ComponentItem(DComponent *component, DiagramSceneModel *diagramSceneModel,
|
||||||
@@ -60,10 +58,6 @@ public:
|
|||||||
QList<Latch> horizontalLatches(Action action, bool grabbedItem) const override;
|
QList<Latch> horizontalLatches(Action action, bool grabbedItem) const override;
|
||||||
QList<Latch> verticalLatches(Action action, bool grabbedItem) const override;
|
QList<Latch> verticalLatches(Action action, bool grabbedItem) const override;
|
||||||
|
|
||||||
QPointF relationStartPos() const override;
|
|
||||||
void relationDrawn(const QString &id, const QPointF &toScenePos, const
|
|
||||||
QList<QPointF> &intermediatePoints) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool hasPlainShape() const;
|
bool hasPlainShape() const;
|
||||||
QSizeF calcMinimumGeometry() const;
|
QSizeF calcMinimumGeometry() const;
|
||||||
|
@@ -175,23 +175,6 @@ QList<ILatchable::Latch> ItemItem::verticalLatches(ILatchable::Action action, bo
|
|||||||
return ObjectItem::verticalLatches(action, grabbedItem);
|
return ObjectItem::verticalLatches(action, grabbedItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPointF ItemItem::relationStartPos() const
|
|
||||||
{
|
|
||||||
return pos();
|
|
||||||
}
|
|
||||||
|
|
||||||
void ItemItem::relationDrawn(const QString &id, const QPointF &toScenePos, const QList<QPointF> &intermediatePoints)
|
|
||||||
{
|
|
||||||
DElement *targetElement = diagramSceneModel()->findTopmostElement(toScenePos);
|
|
||||||
if (targetElement) {
|
|
||||||
if (id == QStringLiteral("dependency")) {
|
|
||||||
auto dependantObject = dynamic_cast<DObject *>(targetElement);
|
|
||||||
if (dependantObject)
|
|
||||||
diagramSceneModel()->diagramSceneController()->createDependency(object(), dependantObject, intermediatePoints, diagramSceneModel()->diagram());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
QSizeF ItemItem::calcMinimumGeometry() const
|
QSizeF ItemItem::calcMinimumGeometry() const
|
||||||
{
|
{
|
||||||
double width = 0.0;
|
double width = 0.0;
|
||||||
|
@@ -27,8 +27,6 @@
|
|||||||
|
|
||||||
#include "objectitem.h"
|
#include "objectitem.h"
|
||||||
|
|
||||||
#include "qmt/diagram_scene/capabilities/relationable.h"
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QGraphicsRectItem;
|
class QGraphicsRectItem;
|
||||||
class QGraphicsSimpleTextItem;
|
class QGraphicsSimpleTextItem;
|
||||||
@@ -43,7 +41,7 @@ class CustomIconItem;
|
|||||||
class ContextLabelItem;
|
class ContextLabelItem;
|
||||||
class RelationStarter;
|
class RelationStarter;
|
||||||
|
|
||||||
class ItemItem : public ObjectItem, public IRelationable
|
class ItemItem : public ObjectItem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ItemItem(DItem *item, DiagramSceneModel *diagramSceneModel, QGraphicsItem *parent = 0);
|
ItemItem(DItem *item, DiagramSceneModel *diagramSceneModel, QGraphicsItem *parent = 0);
|
||||||
@@ -59,10 +57,6 @@ public:
|
|||||||
QList<Latch> horizontalLatches(Action action, bool grabbedItem) const override;
|
QList<Latch> horizontalLatches(Action action, bool grabbedItem) const override;
|
||||||
QList<Latch> verticalLatches(Action action, bool grabbedItem) const override;
|
QList<Latch> verticalLatches(Action action, bool grabbedItem) const override;
|
||||||
|
|
||||||
QPointF relationStartPos() const override;
|
|
||||||
void relationDrawn(const QString &id, const QPointF &toScenePos,
|
|
||||||
const QList<QPointF> &intermediatePoints) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QSizeF calcMinimumGeometry() const;
|
QSizeF calcMinimumGeometry() const;
|
||||||
void updateGeometry();
|
void updateGeometry();
|
||||||
|
@@ -34,6 +34,7 @@
|
|||||||
#include "qmt/diagram_scene/parts/alignbuttonsitem.h"
|
#include "qmt/diagram_scene/parts/alignbuttonsitem.h"
|
||||||
#include "qmt/diagram_scene/parts/editabletextitem.h"
|
#include "qmt/diagram_scene/parts/editabletextitem.h"
|
||||||
#include "qmt/diagram_scene/parts/rectangularselectionitem.h"
|
#include "qmt/diagram_scene/parts/rectangularselectionitem.h"
|
||||||
|
#include "qmt/diagram_scene/parts/relationstarter.h"
|
||||||
#include "qmt/diagram_scene/parts/customiconitem.h"
|
#include "qmt/diagram_scene/parts/customiconitem.h"
|
||||||
#include "qmt/diagram_scene/parts/stereotypesitem.h"
|
#include "qmt/diagram_scene/parts/stereotypesitem.h"
|
||||||
#include "qmt/infrastructure/contextmenuaction.h"
|
#include "qmt/infrastructure/contextmenuaction.h"
|
||||||
@@ -301,6 +302,23 @@ QList<ILatchable::Latch> ObjectItem::verticalLatches(ILatchable::Action action,
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QPointF ObjectItem::relationStartPos() const
|
||||||
|
{
|
||||||
|
return pos();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ObjectItem::relationDrawn(const QString &id, const QPointF &toScenePos, const QList<QPointF> &intermediatePoints)
|
||||||
|
{
|
||||||
|
DElement *targetElement = diagramSceneModel()->findTopmostElement(toScenePos);
|
||||||
|
if (targetElement) {
|
||||||
|
if (id == QLatin1String("dependency")) {
|
||||||
|
auto dependantObject = dynamic_cast<DObject *>(targetElement);
|
||||||
|
if (dependantObject)
|
||||||
|
diagramSceneModel()->diagramSceneController()->createDependency(object(), dependantObject, intermediatePoints, diagramSceneModel()->diagram());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ObjectItem::align(IAlignable::AlignType alignType, const QString &identifier)
|
void ObjectItem::align(IAlignable::AlignType alignType, const QString &identifier)
|
||||||
{
|
{
|
||||||
Q_UNUSED(identifier); // avoid warning in release mode
|
Q_UNUSED(identifier); // avoid warning in release mode
|
||||||
@@ -569,6 +587,34 @@ void ObjectItem::updateSelectionMarkerGeometry(const QRectF &objectRect)
|
|||||||
m_selectionMarker->setRect(objectRect);
|
m_selectionMarker->setRect(objectRect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ObjectItem::updateRelationStarter()
|
||||||
|
{
|
||||||
|
if (isFocusSelected()) {
|
||||||
|
if (!m_relationStarter) {
|
||||||
|
m_relationStarter = new RelationStarter(this, diagramSceneModel(), 0);
|
||||||
|
scene()->addItem(m_relationStarter);
|
||||||
|
m_relationStarter->setZValue(RELATION_STARTER_ZVALUE);
|
||||||
|
updateRelationStarterTools(m_relationStarter);
|
||||||
|
}
|
||||||
|
} else if (m_relationStarter) {
|
||||||
|
scene()->removeItem(m_relationStarter);
|
||||||
|
delete m_relationStarter;
|
||||||
|
m_relationStarter = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void ObjectItem::updateRelationStarterTools(RelationStarter *relationStarter)
|
||||||
|
{
|
||||||
|
relationStarter->addArrow(QLatin1String("dependency"), ArrowItem::ShaftDashed, ArrowItem::HeadOpen);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ObjectItem::updateRelationStarterGeometry(const QRectF &objectRect)
|
||||||
|
{
|
||||||
|
if (m_relationStarter)
|
||||||
|
m_relationStarter->setPos(mapToScene(QPointF(objectRect.right() + 8.0, objectRect.top())));
|
||||||
|
}
|
||||||
|
|
||||||
void ObjectItem::updateAlignmentButtons()
|
void ObjectItem::updateAlignmentButtons()
|
||||||
{
|
{
|
||||||
if (isFocusSelected() && m_diagramSceneModel->hasMultiObjectsSelection()) {
|
if (isFocusSelected() && m_diagramSceneModel->hasMultiObjectsSelection()) {
|
||||||
|
@@ -32,6 +32,7 @@
|
|||||||
#include "qmt/diagram_scene/capabilities/moveable.h"
|
#include "qmt/diagram_scene/capabilities/moveable.h"
|
||||||
#include "qmt/diagram_scene/capabilities/selectable.h"
|
#include "qmt/diagram_scene/capabilities/selectable.h"
|
||||||
#include "qmt/diagram_scene/capabilities/latchable.h"
|
#include "qmt/diagram_scene/capabilities/latchable.h"
|
||||||
|
#include "qmt/diagram_scene/capabilities/relationable.h"
|
||||||
#include "qmt/diagram_scene/capabilities/alignable.h"
|
#include "qmt/diagram_scene/capabilities/alignable.h"
|
||||||
#include "qmt/diagram_scene/capabilities/editable.h"
|
#include "qmt/diagram_scene/capabilities/editable.h"
|
||||||
|
|
||||||
@@ -51,6 +52,7 @@ class StereotypesItem;
|
|||||||
class CustomIconItem;
|
class CustomIconItem;
|
||||||
class EditableTextItem;
|
class EditableTextItem;
|
||||||
class RectangularSelectionItem;
|
class RectangularSelectionItem;
|
||||||
|
class RelationStarter;
|
||||||
class AlignButtonsItem;
|
class AlignButtonsItem;
|
||||||
class Style;
|
class Style;
|
||||||
|
|
||||||
@@ -66,6 +68,7 @@ class ObjectItem :
|
|||||||
public IMoveable,
|
public IMoveable,
|
||||||
public ISelectable,
|
public ISelectable,
|
||||||
public ILatchable,
|
public ILatchable,
|
||||||
|
public IRelationable,
|
||||||
public IAlignable,
|
public IAlignable,
|
||||||
public IEditable
|
public IEditable
|
||||||
{
|
{
|
||||||
@@ -113,6 +116,10 @@ public:
|
|||||||
QList<Latch> horizontalLatches(Action action, bool grabbedItem) const override;
|
QList<Latch> horizontalLatches(Action action, bool grabbedItem) const override;
|
||||||
QList<Latch> verticalLatches(Action action, bool grabbedItem) const override;
|
QList<Latch> verticalLatches(Action action, bool grabbedItem) const override;
|
||||||
|
|
||||||
|
QPointF relationStartPos() const override;
|
||||||
|
void relationDrawn(const QString &id, const QPointF &toScenePos,
|
||||||
|
const QList<QPointF> &intermediatePoints) override;
|
||||||
|
|
||||||
void align(AlignType alignType, const QString &identifier) override;
|
void align(AlignType alignType, const QString &identifier) override;
|
||||||
|
|
||||||
bool isEditable() const override;
|
bool isEditable() const override;
|
||||||
@@ -139,6 +146,9 @@ protected:
|
|||||||
void updateSelectionMarker(CustomIconItem *customIconItem);
|
void updateSelectionMarker(CustomIconItem *customIconItem);
|
||||||
void updateSelectionMarker(ResizeFlags resizeFlags);
|
void updateSelectionMarker(ResizeFlags resizeFlags);
|
||||||
void updateSelectionMarkerGeometry(const QRectF &objectRect);
|
void updateSelectionMarkerGeometry(const QRectF &objectRect);
|
||||||
|
void updateRelationStarter();
|
||||||
|
virtual void updateRelationStarterTools(RelationStarter *relationStarter);
|
||||||
|
void updateRelationStarterGeometry(const QRectF &objectRect);
|
||||||
void updateAlignmentButtons();
|
void updateAlignmentButtons();
|
||||||
void updateAlignmentButtonsGeometry(const QRectF &objectRect);
|
void updateAlignmentButtonsGeometry(const QRectF &objectRect);
|
||||||
|
|
||||||
@@ -169,6 +179,7 @@ private:
|
|||||||
CustomIconItem *m_stereotypeIcon = 0;
|
CustomIconItem *m_stereotypeIcon = 0;
|
||||||
EditableTextItem *m_nameItem = 0;
|
EditableTextItem *m_nameItem = 0;
|
||||||
RectangularSelectionItem *m_selectionMarker = 0;
|
RectangularSelectionItem *m_selectionMarker = 0;
|
||||||
|
RelationStarter *m_relationStarter = 0;
|
||||||
AlignButtonsItem *m_horizontalAlignButtons = 0;
|
AlignButtonsItem *m_horizontalAlignButtons = 0;
|
||||||
AlignButtonsItem *m_verticalAlignButtons = 0;
|
AlignButtonsItem *m_verticalAlignButtons = 0;
|
||||||
};
|
};
|
||||||
|
@@ -190,23 +190,6 @@ QList<ILatchable::Latch> PackageItem::verticalLatches(ILatchable::Action action,
|
|||||||
return ObjectItem::verticalLatches(action, grabbedItem);
|
return ObjectItem::verticalLatches(action, grabbedItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPointF PackageItem::relationStartPos() const
|
|
||||||
{
|
|
||||||
return pos();
|
|
||||||
}
|
|
||||||
|
|
||||||
void PackageItem::relationDrawn(const QString &id, const QPointF &toScenePos, const QList<QPointF> &intermediatePoints)
|
|
||||||
{
|
|
||||||
DElement *targetElement = diagramSceneModel()->findTopmostElement(toScenePos);
|
|
||||||
if (targetElement) {
|
|
||||||
if (id == QStringLiteral("dependency")) {
|
|
||||||
auto dependantObject = dynamic_cast<DObject *>(targetElement);
|
|
||||||
if (dependantObject)
|
|
||||||
diagramSceneModel()->diagramSceneController()->createDependency(object(), dependantObject, intermediatePoints, diagramSceneModel()->diagram());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
PackageItem::ShapeGeometry PackageItem::calcMinimumGeometry() const
|
PackageItem::ShapeGeometry PackageItem::calcMinimumGeometry() const
|
||||||
{
|
{
|
||||||
double width = 0.0;
|
double width = 0.0;
|
||||||
|
@@ -27,8 +27,6 @@
|
|||||||
|
|
||||||
#include "objectitem.h"
|
#include "objectitem.h"
|
||||||
|
|
||||||
#include "qmt/diagram_scene/capabilities/relationable.h"
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QGraphicsPolygonItem;
|
class QGraphicsPolygonItem;
|
||||||
class QGraphicsSimpleTextItem;
|
class QGraphicsSimpleTextItem;
|
||||||
@@ -42,7 +40,7 @@ class CustomIconItem;
|
|||||||
class ContextLabelItem;
|
class ContextLabelItem;
|
||||||
class RelationStarter;
|
class RelationStarter;
|
||||||
|
|
||||||
class PackageItem : public ObjectItem, public IRelationable
|
class PackageItem : public ObjectItem
|
||||||
{
|
{
|
||||||
class ShapeGeometry;
|
class ShapeGeometry;
|
||||||
|
|
||||||
@@ -60,10 +58,6 @@ public:
|
|||||||
QList<Latch> horizontalLatches(Action action, bool grabbedItem) const override;
|
QList<Latch> horizontalLatches(Action action, bool grabbedItem) const override;
|
||||||
QList<Latch> verticalLatches(Action action, bool grabbedItem) const override;
|
QList<Latch> verticalLatches(Action action, bool grabbedItem) const override;
|
||||||
|
|
||||||
QPointF relationStartPos() const override;
|
|
||||||
void relationDrawn(const QString &id, const QPointF &toScenePos,
|
|
||||||
const QList<QPointF> &intermediatePoints) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ShapeGeometry calcMinimumGeometry() const;
|
ShapeGeometry calcMinimumGeometry() const;
|
||||||
void updateGeometry();
|
void updateGeometry();
|
||||||
|
Reference in New Issue
Block a user