16#ifndef QGSMODELGRAPHICITEM_H 
   17#define QGSMODELGRAPHICITEM_H 
   22#include <QGraphicsObject> 
   25class QgsModelGraphicsView;
 
   37class GUI_EXPORT QgsModelDesignerFlatButtonGraphicItem : 
public QGraphicsObject
 
   47    QgsModelDesignerFlatButtonGraphicItem( QGraphicsItem *parent 
SIP_TRANSFERTHIS, 
const QPicture &picture, 
const QPointF &position, 
const QSizeF &size = QSizeF( 16, 16 ) );
 
   49    void paint( QPainter *painter, 
const QStyleOptionGraphicsItem *option, QWidget *widget = 
nullptr ) 
override;
 
   50    QRectF boundingRect() 
const override;
 
   51    void hoverEnterEvent( QGraphicsSceneHoverEvent *event ) 
override;
 
   52    void hoverLeaveEvent( QGraphicsSceneHoverEvent *event ) 
override;
 
   53    void mousePressEvent( QGraphicsSceneMouseEvent *event ) 
override;
 
   76    QPointF position()
 const { 
return mPosition; };
 
   82    void setPosition( 
const QPointF &position );
 
   87    QgsModelGraphicsView *view();
 
  100    void setPicture( 
const QPicture &picture );
 
  101    bool mHoverState = 
false;
 
  116class GUI_EXPORT QgsModelDesignerFoldButtonGraphicItem : 
public QgsModelDesignerFlatButtonGraphicItem
 
  128    QgsModelDesignerFoldButtonGraphicItem( QGraphicsItem *parent 
SIP_TRANSFERTHIS, 
bool folded, 
const QPointF &position, 
const QSizeF &size = QSizeF( 11, 11 ) );
 
  130    void mousePressEvent( QGraphicsSceneMouseEvent *event ) 
override;
 
  142    void folded( 
bool folded );
 
  145    QPicture mPlusPicture;
 
  146    QPicture mMinusPicture;
 
  147    bool mFolded = 
false;
 
  157class GUI_EXPORT QgsModelDesignerSocketGraphicItem : 
public QgsModelDesignerFlatButtonGraphicItem
 
  169    QgsModelDesignerSocketGraphicItem( QgsModelComponentGraphicItem *parent 
SIP_TRANSFERTHIS, QgsProcessingModelComponent *component, 
int index, 
const QPointF &position, Qt::Edge edge, 
const QSizeF &size = QSizeF( 11, 11 ) );
 
  171    void paint( QPainter *painter, 
const QStyleOptionGraphicsItem *option, QWidget *widget = 
nullptr ) 
override;
 
  177    int index()
 const { 
return mIndex; };
 
  185    Qt::Edge edge()
 const { 
return mEdge; };
 
  192    bool isInput()
 const { 
return mEdge == Qt::TopEdge; };
 
  197    QgsProcessingModelComponent *component() { 
return mComponent; };
 
  202    QgsModelComponentGraphicItem *componentItem() { 
return mComponentItem; };
 
  205    QgsModelComponentGraphicItem *mComponentItem = 
nullptr;
 
  206    QgsProcessingModelComponent *mComponent = 
nullptr;
 
  208    Qt::Edge mEdge = Qt::Edge::TopEdge;
 
A mouse event which is the result of a user interaction with a QgsModelGraphicsView.