##// END OF EJS Templates
Wait for the end of an acquisition to validate an operation (3)...
Wait for the end of an acquisition to validate an operation (3) If an operation is to validate, waits the end of the acquisition

File last commit:

r1048:1eed201e150e
r1215:7541b71e5b78
Show More
VisualizationDragWidget.cpp
61 lines | 1.6 KiB | text/x-c | CppLexer
/ gui / src / Visualization / VisualizationDragWidget.cpp
New visualization classes for the drag&drop
r838 #include "Visualization/VisualizationDragWidget.h"
#include "Visualization/VisualizationDragDropContainer.h"
#include <QApplication>
Format changes
r844 #include <QMouseEvent>
New visualization classes for the drag&drop
r838
Basic mouse wheel interactions + mode drag
r958 #include <SqpApplication.h>
New visualization classes for the drag&drop
r838 struct VisualizationDragWidget::VisualizationDragWidgetPrivate {
Format changes
r844 QPoint m_DragStartPosition;
bool m_DragStartPositionValid = false;
New visualization classes for the drag&drop
r838
Format changes
r844 explicit VisualizationDragWidgetPrivate() {}
New visualization classes for the drag&drop
r838 };
Format changes
r844 VisualizationDragWidget::VisualizationDragWidget(QWidget *parent)
: QWidget{parent}, impl{spimpl::make_unique_impl<VisualizationDragWidgetPrivate>()}
New visualization classes for the drag&drop
r838 {
}
Keep the selection zones when a graph is dropped in another synchro zone
r1048 QPixmap VisualizationDragWidget::customDragPixmap(const QPoint &dragPosition)
drag of selection zones
r1047 {
Q_UNUSED(dragPosition);
return QPixmap();
}
New visualization classes for the drag&drop
r838 void VisualizationDragWidget::mousePressEvent(QMouseEvent *event)
{
Format changes
r844 if (event->button() == Qt::LeftButton) {
impl->m_DragStartPosition = event->pos();
}
New visualization classes for the drag&drop
r838
Format changes
r844 impl->m_DragStartPositionValid = isDragAllowed();
New visualization classes for the drag&drop
r838
QWidget::mousePressEvent(event);
}
void VisualizationDragWidget::mouseMoveEvent(QMouseEvent *event)
{
Format changes
r844 if (!impl->m_DragStartPositionValid || !isDragAllowed()) {
New visualization classes for the drag&drop
r838 return;
Format changes
r844 }
New visualization classes for the drag&drop
r838
Format changes
r844 if (!(event->buttons() & Qt::LeftButton)) {
New visualization classes for the drag&drop
r838 return;
Format changes
r844 }
New visualization classes for the drag&drop
r838
Basic mouse wheel interactions + mode drag
r958 if (sqpApp->plotsInteractionMode() == SqpApplication::PlotsInteractionMode::DragAndDrop
|| event->modifiers().testFlag(Qt::AltModifier)) {
New visualization classes for the drag&drop
r838
Basic mouse wheel interactions + mode drag
r958 if ((event->pos() - impl->m_DragStartPosition).manhattanLength()
< QApplication::startDragDistance()) {
return;
}
New visualization classes for the drag&drop
r838
Basic mouse wheel interactions + mode drag
r958 emit dragDetected(this, impl->m_DragStartPosition);
}
New visualization classes for the drag&drop
r838
QWidget::mouseMoveEvent(event);
}