VisualizationWidget.h
65 lines
| 1.9 KiB
| text/x-c
|
CLexer
r58 | #ifndef SCIQLOP_VISUALIZATIONWIDGET_H | |||
#define SCIQLOP_VISUALIZATIONWIDGET_H | ||||
r118 | #include "Visualization/IVisualizationWidget.h" | |||
r512 | #include <Data/SqpRange.h> | |||
r118 | ||||
r88 | #include <QLoggingCategory> | |||
r58 | #include <QWidget> | |||
r1089 | #include <Common/spimpl.h> | |||
Alexandre Leroux
|
r219 | Q_DECLARE_LOGGING_CATEGORY(LOG_VisualizationWidget) | ||
Alexandre Leroux
|
r248 | class QMenu; | ||
Alexandre Leroux
|
r175 | class Variable; | ||
r118 | class VisualizationTabWidget; | |||
r1089 | class VisualizationSelectionZoneManager; | |||
r118 | ||||
r58 | namespace Ui { | |||
class VisualizationWidget; | ||||
} // namespace Ui | ||||
r118 | class VisualizationWidget : public QWidget, public IVisualizationWidget { | |||
r58 | Q_OBJECT | |||
public: | ||||
explicit VisualizationWidget(QWidget *parent = 0); | ||||
virtual ~VisualizationWidget(); | ||||
r1089 | /// Returns the class which manage the selection of selection zone across the visualization | |||
VisualizationSelectionZoneManager &selectionZoneManager() const; | ||||
r1169 | VisualizationTabWidget *currentTabWidget() const; | |||
r118 | // IVisualizationWidget interface | |||
Alexandre Leroux
|
r207 | void accept(IVisualizationWidgetVisitor *visitor) override; | ||
Alexandre Leroux
|
r209 | bool canDrop(const Variable &variable) const override; | ||
Alexandre Leroux
|
r327 | bool contains(const Variable &variable) const override; | ||
Alexandre Leroux
|
r218 | QString name() const override; | ||
r118 | ||||
Alexandre Leroux
|
r175 | public slots: | ||
/** | ||||
Alexandre Leroux
|
r288 | * Attaches to a menu the menu relative to the visualization of variables | ||
Alexandre Leroux
|
r248 | * @param menu the parent menu of the generated menu | ||
Alexandre Leroux
|
r288 | * @param variables the variables for which to generate the menu | ||
Alexandre Leroux
|
r175 | */ | ||
Alexandre Leroux
|
r288 | void attachVariableMenu(QMenu *menu, | ||
const QVector<std::shared_ptr<Variable> > &variables) noexcept; | ||||
Alexandre Leroux
|
r175 | |||
Alexandre Leroux
|
r334 | /// Slot called when a variable is about to be deleted from SciQlop | ||
void onVariableAboutToBeDeleted(std::shared_ptr<Variable> variable) noexcept; | ||||
r512 | void onRangeChanged(std::shared_ptr<Variable> variable, const SqpRange &range) noexcept; | |||
r437 | ||||
Alexandre Leroux
|
r738 | protected: | ||
void closeEvent(QCloseEvent *event) override; | ||||
r58 | private: | |||
Ui::VisualizationWidget *ui; | ||||
r1089 | ||||
class VisualizationWidgetPrivate; | ||||
spimpl::unique_impl_ptr<VisualizationWidgetPrivate> impl; | ||||
r58 | }; | |||
#endif // VISUALIZATIONWIDGET_H | ||||