##// END OF EJS Templates
Adds a a gui controller class to manage global actions across the application.
Adds a a gui controller class to manage global actions across the application.

File last commit:

r1075:029fbf916457
r1076:666a84a7f3b2
Show More
VisualizationDragDropContainer.h
61 lines | 2.0 KiB | text/x-c | CLexer
/ gui / include / Visualization / VisualizationDragDropContainer.h
Fixes for review
r846 #ifndef SCIQLOP_VISUALIZATIONDRAGDROPCONTAINER_H
#define SCIQLOP_VISUALIZATIONDRAGDROPCONTAINER_H
New visualization classes for the drag&drop
r838
#include <Common/spimpl.h>
Fix some glitches which occurred when dragging in the visualization something from the sides.
r880 #include <QFrame>
drop of variables in the visualization
r850 #include <QLoggingCategory>
Format changes
r844 #include <QMimeData>
#include <QVBoxLayout>
New visualization classes for the drag&drop
r838
drop of variables in the visualization
r850 #include <functional>
Rename "DragDropHelper" in "DragDropGuiController"
r1075 #include <DragAndDrop/DragDropGuiController.h>
Add an empty area at the bottom of the tab where a new zone can be created from a drop. Differentiate graph and zone placeHolders.
r881
drop of variables in the visualization
r850 Q_DECLARE_LOGGING_CATEGORY(LOG_VisualizationDragDropContainer)
New visualization classes for the drag&drop
r838 class VisualizationDragWidget;
Fix some glitches which occurred when dragging in the visualization something from the sides.
r880 class VisualizationDragDropContainer : public QFrame {
New visualization classes for the drag&drop
r838 Q_OBJECT
signals:
drop of variable inside an existing graph
r875 void dropOccuredInContainer(int dropIndex, const QMimeData *mimeData);
void dropOccuredOnWidget(VisualizationDragWidget *dragWidget, const QMimeData *mimeData);
New visualization classes for the drag&drop
r838
public:
drop of zone on the time widget
r936 enum class DropBehavior { Inserted, Merged, InsertedAndMerged, Forbidden };
drop of variables in the visualization
r850 using AcceptMimeDataFunction = std::function<bool(const QMimeData *mimeData)>;
Alexandre Leroux
Handle the previous prohibition for drag and drop
r1023 using AcceptDragWidgetFunction
= std::function<bool(const VisualizationDragWidget *dragWidget, const QMimeData *mimeData)>;
drop of variables in the visualization
r850
Format changes
r844 VisualizationDragDropContainer(QWidget *parent = nullptr);
New visualization classes for the drag&drop
r838
Format changes
r844 void addDragWidget(VisualizationDragWidget *dragWidget);
void insertDragWidget(int index, VisualizationDragWidget *dragWidget);
New visualization classes for the drag&drop
r838
drop of zone on the time widget
r936 void setMimeType(const QString &mimeType, DropBehavior behavior);
New visualization classes for the drag&drop
r838
int countDragWidget() const;
drop of variables in the visualization
r850 void setAcceptMimeDataFunction(AcceptMimeDataFunction fun);
Alexandre Leroux
Handle the previous prohibition for drag and drop
r1023 void setAcceptDragWidgetFunction(AcceptDragWidgetFunction fun);
Rename "DragDropHelper" in "DragDropGuiController"
r1075 void setPlaceHolderType(DragDropGuiController::PlaceHolderType type,
Add an empty area at the bottom of the tab where a new zone can be created from a drop. Differentiate graph and zone placeHolders.
r881 const QString &placeHolderText = QString());
New visualization classes for the drag&drop
r838 protected:
void dragEnterEvent(QDragEnterEvent *event);
void dragLeaveEvent(QDragLeaveEvent *event);
void dragMoveEvent(QDragMoveEvent *event);
void dropEvent(QDropEvent *event);
private:
class VisualizationDragDropContainerPrivate;
spimpl::unique_impl_ptr<VisualizationDragDropContainerPrivate> impl;
private slots:
Format changes
r844 void startDrag(VisualizationDragWidget *dragWidget, const QPoint &dragPosition);
New visualization classes for the drag&drop
r838 };
Fixes for review
r846 #endif // SCIQLOP_VISUALIZATIONDRAGDROPCONTAINER_H