GraphView

    Subclassed by CutterGraphView,

    Public Types

    • enum Layout

      Values:

      • enumerator GridNarrow

      • enumerator GridMedium

      • enumerator GridWide

      • enumerator GridAAA

      • enumerator GridAAB

      • enumerator GridABA

      • enumerator GridABB

      • enumerator GridBAA

      • enumerator GridBAB

      • enumerator GridBBA

      • enumerator GridBBB

    • using GraphBlock = GraphLayout::

    • using GraphEdge = GraphLayout::

    Public Functions

    • explicit GraphView(QWidget *parent)

    • ~GraphView() override

    • void showRectangle(const QRect &rect, bool anywhere = false)

      Move view so that area is visible.

      • Parameters

        • rect – Rectangle to show

        • anywhere – - set to true for minimizing movement

    • GraphView:: *getBlockContaining(QPoint p)

      Get block containing specified point logical coordinates.

      • Parameters

        p – positionin graph logical coordinates

        Returns

        Block or nullptr if position is outside all blocks.

    • QPoint viewToLogicalCoordinates(QPoint p)

    • QPoint logicalToViewCoordinates(QPoint p)

    • void setGraphLayout(std::unique_ptr<GraphLayout> layout)

    • inline &getGraphLayout() const

    • void setLayoutConfig(const GraphLayout:: &config)

    • void paint(QPainter &p, QPoint offset, QRect area, qreal scale = 1.0, bool interactive = true)

    • void saveAsBitmap(QString path, const char *format = nullptr, double scaler = 1.0, bool transparent = false)

    • void saveAsSvg(QString path)

    • void computeGraphPlacement()

    • inline qreal getViewScale() const

    • void setViewScale(qreal scale)

    • void center()

    • inline void centerX()

    • inline void centerY()

    Signals

    • void viewOffsetChanged(QPoint offset)

    • void viewScaleChanged(qreal scale)

    Public Static Functions

    • static std::unique_ptr<GraphLayout> makeGraphLayout( layout, bool horizontal = false)

    • static void cleanupEdges(GraphLayout:: &graph)

      Remove duplicate edges and edges without target in graph.

      • Parameters

        graph

    • struct EdgeConfiguration

      Public Members

      • QColor color = QColor(128, 128, 128)

      • bool start_arrow = false

      • bool end_arrow = true

      • Qt::PenStyle lineStyle = Qt::PenStyle::SolidLine