diff --git a/gui/include/Common/VisualizationDef.h b/gui/include/Common/VisualizationDef.h new file mode 100644 index 0000000..34f87f4 --- /dev/null +++ b/gui/include/Common/VisualizationDef.h @@ -0,0 +1,7 @@ +#ifndef SCIQLOP_VISUALIZATIONDEF_H +#define SCIQLOP_VISUALIZATIONDEF_H + +/// Minimum height for graph added in zones (in pixels) +extern const int GRAPH_MINIMUM_HEIGHT; + +#endif // SCIQLOP_VISUALIZATIONDEF_H diff --git a/gui/src/Common/VisualizationDef.cpp b/gui/src/Common/VisualizationDef.cpp new file mode 100644 index 0000000..fd2acf3 --- /dev/null +++ b/gui/src/Common/VisualizationDef.cpp @@ -0,0 +1,3 @@ +#include "Common/VisualizationDef.h" + +const int GRAPH_MINIMUM_HEIGHT = 300; diff --git a/gui/src/DragDropHelper.cpp b/gui/src/DragDropHelper.cpp index ec6cbe4..7e91e83 100644 --- a/gui/src/DragDropHelper.cpp +++ b/gui/src/DragDropHelper.cpp @@ -169,7 +169,7 @@ struct DragDropHelper::DragDropHelperPrivate { // Configuration of the placeHolder when there is no dragWidget // (for instance with a drag from a variable) - m_PlaceHolder->setMinimumSize(400, 300); + m_PlaceHolder->setMinimumSize(0, GRAPH_MINIMUM_HEIGHT); m_PlaceHolder->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); } } diff --git a/gui/src/Visualization/VisualizationDragDropContainer.cpp b/gui/src/Visualization/VisualizationDragDropContainer.cpp index 3ee37ff..e957a28 100644 --- a/gui/src/Visualization/VisualizationDragDropContainer.cpp +++ b/gui/src/Visualization/VisualizationDragDropContainer.cpp @@ -3,6 +3,8 @@ #include "SqpApplication.h" #include "Visualization/VisualizationDragWidget.h" +#include "Common/VisualizationDef.h" + #include #include #include @@ -262,7 +264,8 @@ void VisualizationDragDropContainer::dragMoveEvent(QDragMoveEvent *event) auto nbDragWidget = countDragWidget(); if (nbDragWidget > 0) { - auto graphHeight = size().height() / nbDragWidget; + auto graphHeight = qMax(size().height() / nbDragWidget, GRAPH_MINIMUM_HEIGHT); + auto dropIndex = floor(event->pos().y() / graphHeight); auto zoneSize = qMin(graphHeight / 3.0, 150.0); diff --git a/gui/src/Visualization/VisualizationZoneWidget.cpp b/gui/src/Visualization/VisualizationZoneWidget.cpp index 6c1a28e..ec39bdd 100644 --- a/gui/src/Visualization/VisualizationZoneWidget.cpp +++ b/gui/src/Visualization/VisualizationZoneWidget.cpp @@ -7,6 +7,8 @@ #include "ui_VisualizationZoneWidget.h" #include "Common/MimeTypesDef.h" +#include "Common/VisualizationDef.h" + #include #include #include @@ -24,8 +26,6 @@ Q_LOGGING_CATEGORY(LOG_VisualizationZoneWidget, "VisualizationZoneWidget") namespace { -/// Minimum height for graph added in zones (in pixels) -const auto GRAPH_MINIMUM_HEIGHT = 300; /// Generates a default name for a new graph, according to the number of graphs already displayed in /// the zone