##// END OF EJS Templates
Creates a interface that defines a variable container...
Creates a interface that defines a variable container - A variable container is an entity that can eventually accomodate a variable (for example, from a menu or d'n'd) - The interfaces declares canDrop() method, that will be used to create a menu for a variable containing only the containers available for it, or to enable/disable d'n'd of this variable on a container - Each visualization widget is a variable container, so it implements canDrop() method

File last commit:

r209:7ef1d04a5917
r209:7ef1d04a5917
Show More
VisualizationWidget.h
53 lines | 1.4 KiB | text/x-c | CLexer
#ifndef SCIQLOP_VISUALIZATIONWIDGET_H
#define SCIQLOP_VISUALIZATIONWIDGET_H
#include "Visualization/IVisualizationWidget.h"
#include <QLoggingCategory>
#include <QWidget>
class Variable;
class VisualizationTabWidget;
Q_DECLARE_LOGGING_CATEGORY(LOG_VisualizationWidget)
namespace Ui {
class VisualizationWidget;
} // namespace Ui
class VisualizationWidget : public QWidget, public IVisualizationWidget {
Q_OBJECT
public:
explicit VisualizationWidget(QWidget *parent = 0);
virtual ~VisualizationWidget();
/// Add a zone widget
virtual void addTab(VisualizationTabWidget *tabWidget);
/// Create a tab using a Variable
VisualizationTabWidget *createTab();
/// Remove a tab
void removeTab(VisualizationTabWidget *tab);
// IVisualizationWidget interface
void accept(IVisualizationWidgetVisitor *visitor) override;
bool canDrop(const Variable &variable) const override;
void close() override;
QString name() const;
public slots:
/**
* Displays a variable in a new graph of a new zone of the current tab
* @param variable the variable to display
* @todo this is a temporary method that will be replaced by own actions for each type of
* visualization widget
*/
void displayVariable(std::shared_ptr<Variable> variable) noexcept;
private:
Ui::VisualizationWidget *ui;
};
#endif // VISUALIZATIONWIDGET_H