|
HAL
|
#include <drag_controller.h>


Public Member Functions | |
| DragController (GraphWidget *gw, QObject *parent=nullptr) | |
| void | clear () |
| void | set (GraphicsNode *drgItem, const QPoint &eventPos) |
| void | enterDrag (bool wantSwap) |
| void | move (const QPoint &eventPos, bool wantSwap, const QPoint &gridPos) |
| void | clearShadows (GraphicsScene *sc) |
| bool | hasDragged (const QPoint &eventPos) |
| bool | isDropAllowed () const |
| GridPlacement * | finalGridPlacement () const |
| NodeDragShadow::DragCue | dragCue () const |
Public Member Functions inherited from QObject | |
| virtual const QMetaObject * | metaObject () const const |
| QObject (QObject *parent) | |
| virtual | ~QObject () |
| virtual bool | event (QEvent *e) |
| virtual bool | eventFilter (QObject *watched, QEvent *event) |
| QString | objectName () const const |
| void | setObjectName (const QString &name) |
| bool | isWidgetType () const const |
| bool | isWindowType () const const |
| bool | signalsBlocked () const const |
| bool | blockSignals (bool block) |
| QThread * | thread () const const |
| void | moveToThread (QThread *targetThread) |
| int | startTimer (int interval, Qt::TimerType timerType) |
| int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
| void | killTimer (int id) |
| T | findChild (const QString &name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
| const QObjectList & | children () const const |
| void | setParent (QObject *parent) |
| void | installEventFilter (QObject *filterObj) |
| void | removeEventFilter (QObject *obj) |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
| bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
| bool | disconnect (const QObject *receiver, const char *method) const const |
| void | dumpObjectTree () |
| void | dumpObjectInfo () |
| void | dumpObjectTree () const const |
| void | dumpObjectInfo () const const |
| bool | setProperty (const char *name, const QVariant &value) |
| QVariant | property (const char *name) const const |
| QList< QByteArray > | dynamicPropertyNames () const const |
| void | destroyed (QObject *obj) |
| void | objectNameChanged (const QString &objectName) |
| QObject * | parent () const const |
| bool | inherits (const char *className) const const |
| void | deleteLater () |
| Q_DISABLE_COPY (Class) | |
| Q_DISABLE_MOVE (Class) | |
| Q_DISABLE_COPY_MOVE (Class) | |
| T | qobject_cast (QObject *object) |
| T | qobject_cast (const QObject *object) |
| T | qFindChild (const QObject *obj, const QString &name) |
| QList< T > | qFindChildren (const QObject *obj, const QString &name) |
| QList< T > | qFindChildren (const QObject *obj, const QRegExp ®Exp) |
| Q_CLASSINFO (Name, Value) | |
| Q_INTERFACES (...) | |
| Q_PROPERTY (...) | |
| Q_ENUMS (...) | |
| Q_FLAGS (...) | |
| Q_ENUM (...) | |
| Q_FLAG (...) | |
| Q_ENUM_NS (...) | |
| Q_FLAG_NS (...) | |
| Q_OBJECT Q_OBJECT | |
| Q_GADGET Q_GADGET | |
| Q_NAMESPACE Q_NAMESPACE | |
| Q_NAMESPACE_EXPORT (EXPORT_MACRO) | |
| Q_SIGNALS Q_SIGNALS | |
| Q_SIGNAL Q_SIGNAL | |
| Q_SLOTS Q_SLOTS | |
| Q_SLOT Q_SLOT | |
| Q_EMIT Q_EMIT | |
| Q_INVOKABLE Q_INVOKABLE | |
| Q_REVISION Q_REVISION | |
| Q_SET_OBJECT_NAME (Object) | |
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
Additional Inherited Members | |
Static Public Member Functions inherited from QObject | |
| QString | tr (const char *sourceText, const char *disambiguation, int n) |
| QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
| bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
| bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
| bool | disconnect (const QMetaObject::Connection &connection) |
| bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
Public Attributes inherited from QObject | |
| typedef | QObjectList |
Protected Member Functions inherited from QObject | |
| QObject * | sender () const const |
| int | senderSignalIndex () const const |
| int | receivers (const char *signal) const const |
| bool | isSignalConnected (const QMetaMethod &signal) const const |
| virtual void | timerEvent (QTimerEvent *event) |
| virtual void | childEvent (QChildEvent *event) |
| virtual void | customEvent (QEvent *event) |
| virtual void | connectNotify (const QMetaMethod &signal) |
| virtual void | disconnectNotify (const QMetaMethod &signal) |
Properties inherited from QObject | |
| objectName | |
Definition at line 42 of file drag_controller.h.
| hal::DragController::DragController | ( | GraphWidget * | gw, |
| QObject * | parent = nullptr |
||
| ) |
Definition at line 9 of file drag_controller.cpp.
| void hal::DragController::clear | ( | ) |
Definition at line 13 of file drag_controller.cpp.
References clearShadows(), hal::GraphWidget::getContext(), hal::GraphContext::getLayouter(), and hal::GraphLayouter::scene().
Referenced by hal::GraphGraphicsView::dragLeaveEvent(), hal::GraphGraphicsView::dropEvent(), hal::GraphGraphicsView::mousePressEvent(), and set().
| void hal::DragController::clearShadows | ( | GraphicsScene * | sc | ) |
Remove all painted shadows from graphics scene
Definition at line 23 of file drag_controller.cpp.
References QGraphicsScene::removeItem(), and hal::GraphicsScene::setDragController().
Referenced by clear().
| NodeDragShadow::DragCue hal::DragController::dragCue | ( | ) | const |
Definition at line 39 of file drag_controller.cpp.
References hal::NodeDragShadow::Movable, hal::NodeDragShadow::Rejected, and hal::NodeDragShadow::Swappable.
Referenced by move().
| void hal::DragController::enterDrag | ( | bool | wantSwap | ) |
Starts the dragging of a gate or module to show its shadow meanwhile.
| wantSwap | - True if keyboard swap modifier has been pressed, false otherwise |
Definition at line 145 of file drag_controller.cpp.
References hal::NodeBox::gridPosition().
Referenced by hal::GraphGraphicsView::dragEnterEvent().
| GridPlacement * hal::DragController::finalGridPlacement | ( | ) | const |
Definition at line 213 of file drag_controller.cpp.
References hal::GraphWidget::getContext(), hal::GraphContext::getLayouter(), hal::NodeBox::getNode(), hal::GraphLayouter::gridPlacementFactory(), hal::NodeBox::gridPosition(), hal::Node::isNull(), and hal::GraphLayouter::nodeAtPosition().
Referenced by hal::GraphGraphicsView::dropEvent().
| bool hal::DragController::hasDragged | ( | const QPoint & | eventPos | ) |
Definition at line 176 of file drag_controller.cpp.
References QApplication::startDragDistance.
Referenced by hal::GraphGraphicsView::mouseMoveEvent().
| bool hal::DragController::isDropAllowed | ( | ) | const |
Definition at line 182 of file drag_controller.cpp.
References QList::append(), hal::GraphLayouter::boxes(), hal::NodeBoxes::boxForPoint(), QSet::contains(), hal::GraphWidget::getContext(), hal::GraphContext::getLayouter(), hal::NodeBox::gridPosition(), and QSet::insert().
Referenced by hal::GraphGraphicsView::dropEvent(), and move().
Moves the shadow that appears while dragging a gate or module.
| eventPos | - The mouse position in scene coordinates while dragging |
| wantSwap | - True if keyboard swap modifier has been pressed, false otherwise |
| gridPos | - The new grid position of the primary node |
Definition at line 156 of file drag_controller.cpp.
References dragCue(), hal::GraphWidget::getContext(), hal::GraphContext::getLayouter(), hal::NodeBox::gridPosition(), hal::GraphLayouter::gridXposition(), hal::GraphLayouter::gridYposition(), isDropAllowed(), QPoint::x(), and QPoint::y().
Referenced by hal::GraphGraphicsView::dragMoveEvent().
| void hal::DragController::set | ( | GraphicsNode * | drgItem, |
| const QPoint & | eventPos | ||
| ) |
Definition at line 48 of file drag_controller.cpp.
References hal::GraphLayouter::boxes(), hal::NodeBoxes::boxForNode(), clear(), QSet::contains(), hal::GraphLayouter::done(), hal::Gate, hal::Node::Gate, hal::GraphWidget::getContext(), hal::gSelectionRelay, hal::GraphicsItem::id(), QSet::insert(), hal::NodeBox::item(), hal::GraphicsItem::itemType(), hal::Module, hal::Node::Module, hal::SelectionRelay::selectedGates(), and hal::SelectionRelay::selectedModules().
Referenced by hal::GraphGraphicsView::mousePressEvent().