QGIS API Documentation 3.43.0-Master (52e71951ee5)
Signals | Public Member Functions | List of all members
QgsModelViewToolLink Class Reference

Model designer view tool for linking socket together This tool is not exposed in the UI and is only set when the select tool click on a socket. More...

#include <qgsmodelviewtoollink.h>

Inheritance diagram for QgsModelViewToolLink:
Inheritance graph
[legend]

Signals

void requestRebuildRequired ()
 Emitted when a change was made to the model that requires a full rebuild of the scene.
 
- Signals inherited from QgsModelViewTool
void activated ()
 Emitted when the tool is activated.
 
void deactivated ()
 Emitted when the tool is deactivated.
 
void itemFocused (QgsModelComponentGraphicItem *item)
 Emitted when an item is "focused" by the tool, i.e.
 

Public Member Functions

 QgsModelViewToolLink (QgsModelGraphicsView *view)
 Constructor for QgsModelViewToolLink.
 
void activate () override
 Called when tool is set as the currently active model tool.
 
bool allowItemInteraction () override
 Returns true if the tool allows interaction with component graphic items.
 
void deactivate () override
 Called when tool is deactivated.
 
void modelMoveEvent (QgsModelViewMouseEvent *event) override
 Mouse move event for overriding.
 
void modelReleaseEvent (QgsModelViewMouseEvent *event) override
 Mouse release event for overriding.
 
void setFromSocket (QgsModelDesignerSocketGraphicItem *socket)
 Set the from socket.
 
- Public Member Functions inherited from QgsModelViewTool
 ~QgsModelViewTool () override
 
QAction * action ()
 Returns the action associated with the tool or nullptr if no action is associated.
 
QgsModelViewTool::Flags flags () const
 Returns the current combination of flags set for the tool.
 
virtual void keyPressEvent (QKeyEvent *event)
 Key press event for overriding.
 
virtual void keyReleaseEvent (QKeyEvent *event)
 Key release event for overriding.
 
virtual void modelDoubleClickEvent (QgsModelViewMouseEvent *event)
 Mouse double-click event for overriding.
 
virtual void modelPressEvent (QgsModelViewMouseEvent *event)
 Mouse press event for overriding.
 
QgsModelGraphicsScene * scene () const
 Returns the scene associated with the tool.
 
void setAction (QAction *action)
 Associates an action with this tool.
 
void setCursor (const QCursor &cursor)
 Sets a user defined cursor for use when the tool is active.
 
QString toolName () const
 Returns a user-visible, translated name for the tool.
 
QgsModelGraphicsView * view () const
 Returns the view associated with the tool.
 
virtual void wheelEvent (QWheelEvent *event)
 Mouse wheel event for overriding.
 

Additional Inherited Members

- Public Types inherited from QgsModelViewTool
enum  Flag { FlagSnaps = 1 << 1 }
 Flags for controlling how a tool behaves. More...
 
typedef QFlags< FlagFlags
 
- Protected Member Functions inherited from QgsModelViewTool
 QgsModelViewTool (QgsModelGraphicsView *view, const QString &name)
 Constructor for QgsModelViewTool, taking a model view and tool name as parameters.
 
bool isClickAndDrag (QPoint startViewPoint, QPoint endViewPoint) const
 Returns true if a mouse press/release operation which started at startViewPoint and ended at endViewPoint should be considered a "click and drag".
 
void setFlags (QgsModelViewTool::Flags flags)
 Sets the combination of flags that will be used for the tool.
 

Detailed Description

Model designer view tool for linking socket together This tool is not exposed in the UI and is only set when the select tool click on a socket.

Since
QGIS 3.44

Definition at line 34 of file qgsmodelviewtoollink.h.

Constructor & Destructor Documentation

◆ QgsModelViewToolLink()

QgsModelViewToolLink::QgsModelViewToolLink ( QgsModelGraphicsView *  view)

Constructor for QgsModelViewToolLink.

Definition at line 28 of file qgsmodelviewtoollink.cpp.

Member Function Documentation

◆ activate()

void QgsModelViewToolLink::activate ( )
overridevirtual

Called when tool is set as the currently active model tool.

Overridden implementations must take care to call the base class implementation.

Reimplemented from QgsModelViewTool.

Definition at line 178 of file qgsmodelviewtoollink.cpp.

◆ allowItemInteraction()

bool QgsModelViewToolLink::allowItemInteraction ( )
overridevirtual

Returns true if the tool allows interaction with component graphic items.

Reimplemented from QgsModelViewTool.

Definition at line 173 of file qgsmodelviewtoollink.cpp.

◆ deactivate()

void QgsModelViewToolLink::deactivate ( )
overridevirtual

Called when tool is deactivated.

Overridden implementations must take care to call the base class implementation.

Reimplemented from QgsModelViewTool.

Definition at line 193 of file qgsmodelviewtoollink.cpp.

◆ modelMoveEvent()

void QgsModelViewToolLink::modelMoveEvent ( QgsModelViewMouseEvent event)
overridevirtual

Mouse move event for overriding.

Default implementation does nothing.

Reimplemented from QgsModelViewTool.

Definition at line 38 of file qgsmodelviewtoollink.cpp.

◆ modelReleaseEvent()

void QgsModelViewToolLink::modelReleaseEvent ( QgsModelViewMouseEvent event)
overridevirtual

Mouse release event for overriding.

Default implementation does nothing. Note that subclasses must ensure that they correctly handle cases when a modelPressEvent is called without a corresponding modelReleaseEvent (e.g. due to tool being changed mid way through a press-release operation).

Reorder input and output socket whether the user dragged :

  • From an input socket to an output socket
  • From an output socket to an input socket

In the code, we always come back to the first case

Reimplemented from QgsModelViewTool.

Definition at line 72 of file qgsmodelviewtoollink.cpp.

◆ requestRebuildRequired

void QgsModelViewToolLink::requestRebuildRequired ( )
signal

Emitted when a change was made to the model that requires a full rebuild of the scene.

◆ setFromSocket()

void QgsModelViewToolLink::setFromSocket ( QgsModelDesignerSocketGraphicItem *  socket)

Set the from socket.

In the case the user started dragging from an already linked input socket we need to figure out, which is the output socket used as the source at the other side of the link.

This is used when the user disconnects a a link or relinks to another input socket

Definition at line 199 of file qgsmodelviewtoollink.cpp.


The documentation for this class was generated from the following files: