![]() |
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 |
![]() | |
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 | |
![]() | |
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) |
![]() | |
typedef | QObjectList |
![]() | |
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) |
![]() | |
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().