7 #include <QStyleOptionGraphicsItem>
11 static const qreal sBaseline = 1;
13 qreal LabeledSeparatedNet::sWireLength;
14 qreal LabeledSeparatedNet::sTextOffset;
16 QFont LabeledSeparatedNet::sFont;
17 qreal LabeledSeparatedNet::sFontHeight;
18 qreal LabeledSeparatedNet::sFontAscend;
25 sFont =
QFont(
"Iosevka");
37 mText = mText.
mid(ipos+1);
39 mTextWidth = fm.
width(mText);
46 if (
sLod < graph_widget_constants::sEparatedNetMinLod)
66 painter->
fillRect(
QRectF(position.x() - sWireLength - sTextOffset - mTextWidth, position.y() - sFontHeight / 2, mTextWidth, sFontHeight),
sBrush);
68 QPointF point(position.x() - sWireLength, position.y());
70 point.
setX(point.
x() - sTextOffset - mTextWidth);
71 point.
setY(point.
y() + sBaseline + sFontAscend - sFontHeight / 2);
78 painter->
fillRect(
QRectF(position.x() + sWireLength + sTextOffset, position.y() - sFontHeight / 2, mTextWidth, sFontHeight),
sBrush);
80 QPointF point(position.x() + sWireLength, position.y());
82 point.
setX(point.
x() + sTextOffset);
83 point.
setY(point.
y() + sBaseline + sFontAscend - sFontHeight / 2);
90 #ifdef HAL_DEBUG_GUI_GRAPH_WIDGET
103 const qreal half_of_font_height = sFontHeight / 2;
105 QPointF point(mapped_position.
x() - sWireLength - half_of_shape_width, mapped_position.
y() - half_of_shape_width);
116 point.
setX(mapped_position.
x() - sWireLength - sTextOffset - mTextWidth);
117 point.
setY(mapped_position.
y() - half_of_font_height);
120 point.
setX(point.
x() + mTextWidth);
122 point.
setY(point.
y() + sFontHeight);
124 point.
setX(point.
x() - mTextWidth);
135 const qreal half_of_font_height = sFontHeight / 2;
137 QPointF point(mapped_position.
x() - half_of_shape_width, mapped_position.
y() - half_of_shape_width);
148 point.
setX(mapped_position.
x() + sWireLength + sTextOffset);
149 point.
setY(mapped_position.
y() - half_of_font_height);
152 point.
setX(point.
x() + mTextWidth);
154 point.
setY(point.
y() + sFontHeight);
156 point.
setX(point.
x() - mTextWidth);
163 return sWireLength + sTextOffset + mTextWidth;
168 return sWireLength + sTextOffset + mTextWidth;
QColor penColor(QStyle::State state, const QColor &colorHint=QColor()) const
Qt::BrushStyle mBrushStyle
void addOutput(const QPointF &scene_position) override
qreal outputWidth() const override
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
static void loadSettings()
LabeledSeparatedNet(Net *n, const QString &text)
qreal inputWidth() const override
void addInput(const QPointF &scene_position) override
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)
void setPixelSize(int pixelSize)
qreal width(const QString &text) const const
qreal ascent() const const
qreal height() const const
QPointF mapFromScene(const QPointF &point) const const
void drawLine(const QLineF &line)
void drawPath(const QPainterPath &path)
void drawText(const QPointF &position, const QString &text)
void fillRect(const QRectF &rectangle, const QBrush &brush)
void setBrush(const QBrush &brush)
void setFont(const QFont &font)
void setPen(const QColor &color)
void lineTo(const QPointF &endPoint)
void moveTo(const QPointF &point)
void setColor(const QColor &color)
int lastIndexOf(QChar ch, int from, Qt::CaseSensitivity cs) const const
QString mid(int position, int n) const const
void append(const T &value)