diff --git a/gui/include/TimeWidget/TimeWidget.h b/gui/include/TimeWidget/TimeWidget.h index 561d5f2..379c0a9 100644 --- a/gui/include/TimeWidget/TimeWidget.h +++ b/gui/include/TimeWidget/TimeWidget.h @@ -5,6 +5,8 @@ #include +#include + namespace Ui { class TimeWidget; } // Ui @@ -17,6 +19,7 @@ public: virtual ~TimeWidget(); void setTimeRange(SqpRange time); + SqpRange timeRange() const; signals: /// Signal emitted when the time parameters has beed updated @@ -31,9 +34,14 @@ protected: void dragLeaveEvent(QDragLeaveEvent *event) override; void dropEvent(QDropEvent *event) override; + void mousePressEvent(QMouseEvent *event) override; + void mouseMoveEvent(QMouseEvent *event) override; private: Ui::TimeWidget *ui; + + class TimeWidgetPrivate; + spimpl::unique_impl_ptr impl; }; #endif // SCIQLOP_ SQPSIDEPANE_H diff --git a/gui/include/Visualization/VisualizationDragDropContainer.h b/gui/include/Visualization/VisualizationDragDropContainer.h index 1b60794..911c650 100644 --- a/gui/include/Visualization/VisualizationDragDropContainer.h +++ b/gui/include/Visualization/VisualizationDragDropContainer.h @@ -21,6 +21,7 @@ signals: void dropOccuredOnWidget(VisualizationDragWidget *dragWidget, const QMimeData *mimeData); public: + enum class DropBehavior { Inserted, Merged, InsertedAndMerged }; using AcceptMimeDataFunction = std::function; VisualizationDragDropContainer(QWidget *parent = nullptr); @@ -28,8 +29,7 @@ public: void addDragWidget(VisualizationDragWidget *dragWidget); void insertDragWidget(int index, VisualizationDragWidget *dragWidget); - void setAcceptedMimeTypes(const QStringList &mimeTypes); - void setMergeAllowedMimeTypes(const QStringList &mimeTypes); + void addAcceptedMimeType(const QString &mimeType, DropBehavior behavior); int countDragWidget() const; diff --git a/gui/src/TimeWidget/TimeWidget.cpp b/gui/src/TimeWidget/TimeWidget.cpp index e5017af..9d095ee 100644 --- a/gui/src/TimeWidget/TimeWidget.cpp +++ b/gui/src/TimeWidget/TimeWidget.cpp @@ -4,14 +4,27 @@ #include #include +#include #include #include