##// END OF EJS Templates
Fix the problem of calling the zoom at wheel event on the color scale
Fix the problem of calling the zoom at wheel event on the color scale

File last commit:

r1110:029fbf916457
r1390:ed0f1486704f
Show More
VisualizationDragDropContainer.h
61 lines | 2.0 KiB | text/x-c | CLexer
/ gui / include / Visualization / VisualizationDragDropContainer.h
#ifndef SCIQLOP_VISUALIZATIONDRAGDROPCONTAINER_H
#define SCIQLOP_VISUALIZATIONDRAGDROPCONTAINER_H
#include <Common/spimpl.h>
#include <QFrame>
#include <QLoggingCategory>
#include <QMimeData>
#include <QVBoxLayout>
#include <functional>
#include <DragAndDrop/DragDropGuiController.h>
Q_DECLARE_LOGGING_CATEGORY(LOG_VisualizationDragDropContainer)
class VisualizationDragWidget;
class VisualizationDragDropContainer : public QFrame {
Q_OBJECT
signals:
void dropOccuredInContainer(int dropIndex, const QMimeData *mimeData);
void dropOccuredOnWidget(VisualizationDragWidget *dragWidget, const QMimeData *mimeData);
public:
enum class DropBehavior { Inserted, Merged, InsertedAndMerged, Forbidden };
using AcceptMimeDataFunction = std::function<bool(const QMimeData *mimeData)>;
using AcceptDragWidgetFunction
= std::function<bool(const VisualizationDragWidget *dragWidget, const QMimeData *mimeData)>;
VisualizationDragDropContainer(QWidget *parent = nullptr);
void addDragWidget(VisualizationDragWidget *dragWidget);
void insertDragWidget(int index, VisualizationDragWidget *dragWidget);
void setMimeType(const QString &mimeType, DropBehavior behavior);
int countDragWidget() const;
void setAcceptMimeDataFunction(AcceptMimeDataFunction fun);
void setAcceptDragWidgetFunction(AcceptDragWidgetFunction fun);
void setPlaceHolderType(DragDropGuiController::PlaceHolderType type,
const QString &placeHolderText = QString());
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:
void startDrag(VisualizationDragWidget *dragWidget, const QPoint &dragPosition);
};
#endif // SCIQLOP_VISUALIZATIONDRAGDROPCONTAINER_H