##// END OF EJS Templates
Merge branch 'feature/IntegrationCatalogueAPI' into develop
Merge branch 'feature/IntegrationCatalogueAPI' into develop

File last commit:

r1049:ead367adcd3d
r1068:22f8b7e43ec3 merge
Show More
VisualizationWidget.h
63 lines | 1.9 KiB | text/x-c | CLexer
#ifndef SCIQLOP_VISUALIZATIONWIDGET_H
#define SCIQLOP_VISUALIZATIONWIDGET_H
#include "Visualization/IVisualizationWidget.h"
#include <Data/SqpRange.h>
#include <QLoggingCategory>
#include <QWidget>
#include <Common/spimpl.h>
Q_DECLARE_LOGGING_CATEGORY(LOG_VisualizationWidget)
class QMenu;
class Variable;
class VisualizationTabWidget;
class VisualizationSelectionZoneManager;
namespace Ui {
class VisualizationWidget;
} // namespace Ui
class VisualizationWidget : public QWidget, public IVisualizationWidget {
Q_OBJECT
public:
explicit VisualizationWidget(QWidget *parent = 0);
virtual ~VisualizationWidget();
/// Returns the class which manage the selection of selection zone across the visualization
VisualizationSelectionZoneManager &selectionZoneManager() const;
// IVisualizationWidget interface
void accept(IVisualizationWidgetVisitor *visitor) override;
bool canDrop(const Variable &variable) const override;
bool contains(const Variable &variable) const override;
QString name() const override;
public slots:
/**
* Attaches to a menu the menu relative to the visualization of variables
* @param menu the parent menu of the generated menu
* @param variables the variables for which to generate the menu
*/
void attachVariableMenu(QMenu *menu,
const QVector<std::shared_ptr<Variable> > &variables) noexcept;
/// Slot called when a variable is about to be deleted from SciQlop
void onVariableAboutToBeDeleted(std::shared_ptr<Variable> variable) noexcept;
void onRangeChanged(std::shared_ptr<Variable> variable, const SqpRange &range) noexcept;
protected:
void closeEvent(QCloseEvent *event) override;
private:
Ui::VisualizationWidget *ui;
class VisualizationWidgetPrivate;
spimpl::unique_impl_ptr<VisualizationWidgetPrivate> impl;
};
#endif // VISUALIZATIONWIDGET_H