##// END OF EJS Templates
Add Apple runtime config to find CatalogueAPI at runtime when building with cmake
Add Apple runtime config to find CatalogueAPI at runtime when building with cmake

File last commit:

r1023:1b1ede101ec5
r1061:124e87e46711
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/DragDropHelper.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(DragDropHelper::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