##// END OF EJS Templates
Promotes hedley dep...
Promotes hedley dep Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>

File last commit:

r1420:3c3e24550401
r1506:ef7b62ddc473
Show More
VisualizationZoneWidget.h
108 lines | 3.8 KiB | text/x-c | CLexer
/ gui / include / Visualization / VisualizationZoneWidget.h
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 #ifndef SCIQLOP_VISUALIZATIONZONEWIDGET_H
#define SCIQLOP_VISUALIZATIONZONEWIDGET_H
Made core module a git submodule, ready to start switching to new...
r1347 #include "Data/DateTimeRange.h"
Add the visualization gui classes
r118 #include "Visualization/IVisualizationWidget.h"
Integrates the drag&drop classes into the existing visualization classes.
r839 #include "Visualization/VisualizationDragWidget.h"
Add the visualization gui classes
r118
Alexandre Leroux
Adds logs for null visitors
r219 #include <QLoggingCategory>
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 #include <QWidget>
Implementation of V5 acquisition
r539 #include <memory>
#include <Common/spimpl.h>
Alexandre Leroux
Adds logs for null visitors
r219 Q_DECLARE_LOGGING_CATEGORY(LOG_VisualizationZoneWidget)
Switched to new TS impl but quite broken!...
r1420 namespace Ui
{
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 class VisualizationZoneWidget;
Format changes
r844 } // namespace Ui
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58
Switched to new TS impl but quite broken!...
r1420 class Variable2;
Alexandre Leroux
Adds a name for a zone...
r197 class VisualizationGraphWidget;
Switched to new TS impl but quite broken!...
r1420 class VisualizationZoneWidget : public VisualizationDragWidget, public IVisualizationWidget
{
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 Q_OBJECT
public:
Switched to new TS impl but quite broken!...
r1420 explicit VisualizationZoneWidget(const QString& name = {}, QWidget* parent = 0);
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 virtual ~VisualizationZoneWidget();
Time Zone Mode + prepare graph mode
r1138 /// Sets the range of the zone, only works if there is at least one graph in the zone
/// Note: calibrations between graphs are lost.
Switched to new TS impl but quite broken!...
r1420 void setZoneRange(const DateTimeRange& range);
Time Zone Mode + prepare graph mode
r1138
Integrates the drag&drop classes into the existing visualization classes.
r839 /// Adds a graph widget
Switched to new TS impl but quite broken!...
r1420 void addGraph(VisualizationGraphWidget* graphWidget);
Add the visualization gui classes
r118
Format changes
r844 /// Inserts a graph widget
Switched to new TS impl but quite broken!...
r1420 void insertGraph(int index, VisualizationGraphWidget* graphWidget);
Integrates the drag&drop classes into the existing visualization classes.
r839
Alexandre Leroux
Completes the method of creating a zone from a variable
r200 /**
* Creates a graph using a variable. The variable will be displayed in the new graph.
Integrates the drag&drop classes into the existing visualization classes.
r839 * The graph is added at the end.
Alexandre Leroux
Completes the method of creating a zone from a variable
r200 * @param variable the variable for which to create the graph
* @return the pointer to the created graph
*/
Switched to new TS impl but quite broken!...
r1420 VisualizationGraphWidget* createGraph(std::shared_ptr<Variable2> variable);
Add the visualization gui classes
r118
Integrates the drag&drop classes into the existing visualization classes.
r839 /**
* Creates a graph using a variable. The variable will be displayed in the new graph.
* The graph is inserted at the specified index.
* @param variable the variable for which to create the graph
* @param index The index where the graph should be inserted in the layout
* @return the pointer to the created graph
*/
Switched to new TS impl but quite broken!...
r1420 VisualizationGraphWidget* createGraph(std::shared_ptr<Variable2> variable, int index);
Integrates the drag&drop classes into the existing visualization classes.
r839
/**
* Creates a graph using a list of variables. The variables will be displayed in the new graph.
* The graph is inserted at the specified index.
* @param variables List of variables to be added to the graph
* @param index The index where the graph should be inserted in the layout
* @return the pointer to the created graph
*/
Switched to new TS impl but quite broken!...
r1420 VisualizationGraphWidget* createGraph(
std::vector<std::shared_ptr<Variable2>> variables, int index);
Integrates the drag&drop classes into the existing visualization classes.
r839
Keep the selection zones when a graph is dropped in another synchro zone
r1048 /// Returns the first graph in the zone or nullptr if there is no graph inside
Switched to new TS impl but quite broken!...
r1420 VisualizationGraphWidget* firstGraph() const;
Keep the selection zones when a graph is dropped in another synchro zone
r1048
Closes all graphs of the selected zone in graph mode
r1307 /// Closes all graphes inside the zone
void closeAllGraphs();
Add the visualization gui classes
r118 // IVisualizationWidget interface
Switched to new TS impl but quite broken!...
r1420 void accept(IVisualizationWidgetVisitor* visitor) override;
bool canDrop(Variable2& variable) const override;
bool contains(Variable2& variable) const override;
Add const and override
r119 QString name() const override;
Add the visualization gui classes
r118
Integrates the drag&drop classes into the existing visualization classes.
r839 // VisualisationDragWidget
Switched to new TS impl but quite broken!...
r1420 QMimeData* mimeData(const QPoint& position) const override;
Integrates the drag&drop classes into the existing visualization classes.
r839 bool isDragAllowed() const override;
Switched to new TS impl but quite broken!...
r1420 void notifyMouseMoveInGraph(const QPointF& graphPosition, const QPointF& plotPosition,
VisualizationGraphWidget* graphWidget);
void notifyMouseLeaveGraph(VisualizationGraphWidget* graphWidget);
Implements cursor mode
r960
Alexandre Leroux
Handles desynchronisation when removing variable from a graph (2)...
r738 protected:
Switched to new TS impl but quite broken!...
r1420 void closeEvent(QCloseEvent* event) override;
Alexandre Leroux
Handles desynchronisation when removing variable from a graph (2)...
r738
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 private:
Switched to new TS impl but quite broken!...
r1420 Ui::VisualizationZoneWidget* ui;
Implementation of V5 acquisition
r539
class VisualizationZoneWidgetPrivate;
spimpl::unique_impl_ptr<VisualizationZoneWidgetPrivate> impl;
Alexandre Leroux
Vera corrections
r657
private slots:
Switched to new TS impl but quite broken!...
r1420 void onVariableAdded(std::shared_ptr<Variable2> variable);
Alexandre Leroux
Handles desynchronisation when removing variable from a graph (1)...
r737 /// Slot called when a variable is about to be removed from a graph contained in the zone
Switched to new TS impl but quite broken!...
r1420 void onVariableAboutToBeRemoved(std::shared_ptr<Variable2> variable);
Integrates the drag&drop classes into the existing visualization classes.
r839
Switched to new TS impl but quite broken!...
r1420 void dropMimeData(int index, const QMimeData* mimeData);
void dropMimeDataOnGraph(VisualizationDragWidget* dragWidget, const QMimeData* mimeData);
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 };
#endif // SCIQLOP_VISUALIZATIONZONEWIDGET_H