##// END OF EJS Templates
Sets the name of the plugin for products and components...
Sets the name of the plugin for products and components Since there is only one common root in the data source widget, it is no longer possible to retrieve on the fly the name of the plugin in which a component or product is located. This name is therefore attached to their creation.

File last commit:

r1001:ebb8b3d01eee
r1076:9c3bb5e93c54
Show More
VisualizationDragWidget.cpp
55 lines | 1.5 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 {
}
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);
}