/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/processing/models/qgsmodelgraphicsview.h                     *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/





class QgsModelGraphicsView : QGraphicsView
{
%Docstring(signature="appended")
QGraphicsView subclass representing the model designer.

.. warning::

   Not stable API

.. versionadded:: 3.14
%End

%TypeHeaderCode
#include "qgsmodelgraphicsview.h"
%End
  public:
    QgsModelGraphicsView( QWidget *parent = 0 );
%Docstring
Constructor for QgsModelGraphicsView, with the specified ``parent``
widget.
%End
    ~QgsModelGraphicsView();

    virtual void dragEnterEvent( QDragEnterEvent *event );

    virtual void dropEvent( QDropEvent *event );

    virtual void dragMoveEvent( QDragMoveEvent *event );

    virtual void wheelEvent( QWheelEvent *event );

    virtual void mousePressEvent( QMouseEvent *event );

    virtual void mouseReleaseEvent( QMouseEvent *event );

    virtual void mouseMoveEvent( QMouseEvent *event );

    virtual void mouseDoubleClickEvent( QMouseEvent *event );

    virtual void keyPressEvent( QKeyEvent *event );

    virtual void keyReleaseEvent( QKeyEvent *event );


    void setModelScene( QgsModelGraphicsScene *scene );
%Docstring
Sets the related ``scene``.
%End

    QgsModelGraphicsScene *modelScene() const;
%Docstring
Returns the scene associated with the tool.

.. seealso:: :py:func:`view`
%End





    void startMacroCommand( const QString &text );
%Docstring
Starts a macro command, containing a group of interactions in the view.
%End

    void endMacroCommand();
%Docstring
Ends a macro command, containing a group of interactions in the view.
%End


    enum ClipboardOperation /BaseType=IntEnum/
    {
      ClipboardCut,
      ClipboardCopy,
    };

    void copySelectedItems( ClipboardOperation operation );
%Docstring
Cuts or copies the selected items, respecting the specified
``operation``.

.. seealso:: :py:func:`copyItems`

.. seealso:: :py:func:`pasteItems`
%End

    void copyItems( const QList<QgsModelComponentGraphicItem *> &items, ClipboardOperation operation );
%Docstring
Cuts or copies the a list of ``items``, respecting the specified
``operation``.

.. seealso:: :py:func:`copySelectedItems`

.. seealso:: :py:func:`pasteItems`
%End

    enum PasteMode /BaseType=IntEnum/
    {
      PasteModeCursor,
      PasteModeCenter,
      PasteModeInPlace,
    };

    void pasteItems( PasteMode mode );
%Docstring
Pastes items from clipboard, using the specified ``mode``.

.. seealso:: :py:func:`copySelectedItems`

.. seealso:: :py:func:`hasItemsInClipboard`
%End

  public slots:

    void snapSelected();
%Docstring
Snaps the selected items to the grid.
%End

  signals:

    void algorithmDropped( const QString &algorithmId, const QPointF &pos );
%Docstring
Emitted when an algorithm is dropped onto the view.
%End

    void inputDropped( const QString &inputId, const QPointF &pos );
%Docstring
Emitted when an input parameter is dropped onto the view.
%End


    void itemFocused( QgsModelComponentGraphicItem *item );
%Docstring
Emitted when an ``item`` is "focused" in the view, i.e. it becomes the
active item and should have its properties displayed in any designer
windows.
%End

    void willBeDeleted();
%Docstring
Emitted in the destructor when the view is about to be deleted, but is
still in a perfectly valid state.
%End

    void macroCommandStarted( const QString &text );
%Docstring
Emitted when a macro command containing a group of interactions is
started in the view.
%End

    void macroCommandEnded();
%Docstring
Emitted when a macro command containing a group of interactions in the
view has ended.
%End

    void beginCommand( const QString &text );
%Docstring
Emitted when an undo command is started in the view.
%End

    void endCommand();
%Docstring
Emitted when an undo command in the view has ended.
%End

    void deleteSelectedItems();
%Docstring
Emitted when the selected items should be deleted;
%End

};


class QgsModelViewSnapMarker : QGraphicsRectItem
{
%Docstring(signature="appended")
A simple graphics item rendered as an 'x'.
%End

%TypeHeaderCode
#include "qgsmodelgraphicsview.h"
%End
  public:
    QgsModelViewSnapMarker();

    virtual void paint( QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0 );


};



/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/processing/models/qgsmodelgraphicsview.h                     *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/
