##// END OF EJS Templates
Separate the initialization of the properties of the graph of the update of the units of the graph....
Separate the initialization of the properties of the graph of the update of the units of the graph. The initialization of the properties is carried out when adding a variable in the graph, the update of the units is carried out when loading the data of this variable

File last commit:

r1088:1eed201e150e
r1308:41b7c6aab8be
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
r841 #include "Visualization/VisualizationDragWidget.h"
#include "Visualization/VisualizationDragDropContainer.h"
#include <QApplication>
Format changes
r847 #include <QMouseEvent>
New visualization classes for the drag&drop
r841
Basic mouse wheel interactions + mode drag
r1001 #include <SqpApplication.h>
New visualization classes for the drag&drop
r841 struct VisualizationDragWidget::VisualizationDragWidgetPrivate {
Format changes
r847 QPoint m_DragStartPosition;
bool m_DragStartPositionValid = false;
New visualization classes for the drag&drop
r841
Format changes
r847 explicit VisualizationDragWidgetPrivate() {}
New visualization classes for the drag&drop
r841 };
Format changes
r847 VisualizationDragWidget::VisualizationDragWidget(QWidget *parent)
: QWidget{parent}, impl{spimpl::make_unique_impl<VisualizationDragWidgetPrivate>()}
New visualization classes for the drag&drop
r841 {
}
Keep the selection zones when a graph is dropped in another synchro zone
r1088 QPixmap VisualizationDragWidget::customDragPixmap(const QPoint &dragPosition)
drag of selection zones
r1087 {
Q_UNUSED(dragPosition);
return QPixmap();
}
New visualization classes for the drag&drop
r841 void VisualizationDragWidget::mousePressEvent(QMouseEvent *event)
{
Format changes
r847 if (event->button() == Qt::LeftButton) {
impl->m_DragStartPosition = event->pos();
}
New visualization classes for the drag&drop
r841
Format changes
r847 impl->m_DragStartPositionValid = isDragAllowed();
New visualization classes for the drag&drop
r841
QWidget::mousePressEvent(event);
}
void VisualizationDragWidget::mouseMoveEvent(QMouseEvent *event)
{
Format changes
r847 if (!impl->m_DragStartPositionValid || !isDragAllowed()) {
New visualization classes for the drag&drop
r841 return;
Format changes
r847 }
New visualization classes for the drag&drop
r841
Format changes
r847 if (!(event->buttons() & Qt::LeftButton)) {
New visualization classes for the drag&drop
r841 return;
Format changes
r847 }
New visualization classes for the drag&drop
r841
Basic mouse wheel interactions + mode drag
r1001 if (sqpApp->plotsInteractionMode() == SqpApplication::PlotsInteractionMode::DragAndDrop
|| event->modifiers().testFlag(Qt::AltModifier)) {
New visualization classes for the drag&drop
r841
Basic mouse wheel interactions + mode drag
r1001 if ((event->pos() - impl->m_DragStartPosition).manhattanLength()
< QApplication::startDragDistance()) {
return;
}
New visualization classes for the drag&drop
r841
Basic mouse wheel interactions + mode drag
r1001 emit dragDetected(this, impl->m_DragStartPosition);
}
New visualization classes for the drag&drop
r841
QWidget::mouseMoveEvent(event);
}