##// END OF EJS Templates
Refactoring handling of axes properties (2)...
Refactoring handling of axes properties (2) Moves methods to set the axes properties to VisualizationGraphRenderingDelegate to the helper created previously

File last commit:

r847:90e991aec5fa
r917:3bf91527f27d
Show More
VisualizationDragWidget.cpp
53 lines | 1.3 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
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 {
}
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
Format changes
r847 if (!event->modifiers().testFlag(Qt::AltModifier)) {
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->pos() - impl->m_DragStartPosition).manhattanLength()
< QApplication::startDragDistance()) {
New visualization classes for the drag&drop
r841 return;
Format changes
r847 }
New visualization classes for the drag&drop
r841
Format changes
r847 emit dragDetected(this, impl->m_DragStartPosition);
New visualization classes for the drag&drop
r841
QWidget::mouseMoveEvent(event);
}