7 #include <QStyleOptionGraphicsItem>
11 qreal ArrowSeparatedNet::sWireLength;
12 qreal ArrowSeparatedNet::sInputArrowOffset;
13 qreal ArrowSeparatedNet::sOutputArrowOffset;
14 qreal ArrowSeparatedNet::sArrowLeftXShift;
15 qreal ArrowSeparatedNet::sArrowRightXShift;
16 qreal ArrowSeparatedNet::sArrowSideLength;
17 qreal ArrowSeparatedNet::sArrowWidth;
18 qreal ArrowSeparatedNet::sArrowHeight;
20 qreal ArrowSeparatedNet::sInputWidth;
21 qreal ArrowSeparatedNet::sOutputWidth;
29 sInputArrowOffset = 3;
30 sOutputArrowOffset = 3;
33 sArrowRightXShift = 3;
34 sArrowSideLength = 12;
37 sArrowWidth = sArrowLeftXShift + sArrowSideLength + sArrowRightXShift;
39 sInputWidth = sWireLength + sInputArrowOffset + sArrowWidth +
sShapeWidth;
40 sOutputWidth = sWireLength + sOutputArrowOffset + sArrowWidth +
sShapeWidth;
42 QPointF point(sArrowLeftXShift, -sArrowHeight / 2);
44 #if (QT_VERSION >= QT_VERSION_CHECK(5, 13, 0))
52 point.
setX(point.
x() + sArrowSideLength);
54 point.
setX(point.
x() + sArrowRightXShift);
57 point.
setX(point.
x() - sArrowRightXShift);
58 point.
setY(sArrowHeight / 2);
60 point.
setX(point.
x() - sArrowSideLength);
73 if (
sLod < graph_widget_constants::sEparatedNetMinLod)
93 QPointF to(position.x() - sWireLength, position.y());
99 painter->
translate(
QPointF(position.x() - sWireLength - sInputArrowOffset - sArrowWidth, position.y()));
107 QPointF to(position.x() + sWireLength, position.y());
113 painter->
translate(
QPointF(position.x() + sWireLength + sOutputArrowOffset, position.y()));
122 #ifdef HAL_DEBUG_GUI_GRAPH_WIDGET
139 QPointF point(mapped_position.
x() - sWireLength - half_of_shape_width, mapped_position.
y() - half_of_shape_width);
150 point.
setX(mapped_position.
x() - sWireLength - sInputArrowOffset - sArrowWidth - half_of_shape_width);
151 point.
setY(mapped_position.
y() - sArrowHeight / 2 - half_of_shape_width);
170 QPointF point(mapped_position.
x() - half_of_shape_width, mapped_position.
y() - half_of_shape_width);
181 point.
setX(mapped_position.
x() + sWireLength + sOutputArrowOffset - half_of_shape_width);
182 point.
setY(mapped_position.
y() - sArrowHeight / 2 - half_of_shape_width);
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
void addOutput(const QPointF &scene_position) override
qreal outputWidth() const override
static void loadSettings()
ArrowSeparatedNet(Net *n)
qreal inputWidth() const override
void addInput(const QPointF &scene_position) override
QColor penColor(QStyle::State state, const QColor &colorHint=QColor()) const
Qt::BrushStyle mBrushStyle
Abstract base class for separated nets (e.g. ArrowSeparatedNet)
QVector< QPointF > mInputPositions
QVector< QPointF > mOutputPositions
option(PL_GUI "PL_GUI" ON) if(PL_GUI OR BUILD_ALL_PLUGINS) cmake_minimum_required(VERSION 3.1.0) if(APPLE AND CMAKE_HOST_APPLE AND NOT Qt5_DIR) set(Qt5_DIR "/usr/local/opt/qt@5/lib/cmake") endif(APPLE AND CMAKE_HOST_APPLE AND NOT Qt5_DIR) find_package(Qt5 COMPONENTS Core REQUIRED) find_package(Qt5 COMPONENTS Widgets REQUIRED) if(Qt5Widgets_FOUND) message(VERBOSE "Qt5Widgets_INCLUDE_DIRS
void setColor(const QColor &color)
void setStyle(Qt::BrushStyle style)
void setAlphaF(qreal alpha)
QPointF mapFromScene(const QPointF &point) const const
void drawLine(const QLineF &line)
void drawPath(const QPainterPath &path)
void setBrush(const QBrush &brush)
void setPen(const QColor &color)
void setRenderHint(QPainter::RenderHint hint, bool on)
void translate(const QPointF &offset)
void lineTo(const QPointF &endPoint)
void moveTo(const QPointF &point)
bool isCosmetic() const const
void setColor(const QColor &color)
void setCosmetic(bool cosmetic)
void setStyle(Qt::PenStyle style)
Qt::PenStyle style() const const
void append(const T &value)