##// END OF EJS Templates
Multi-graph test is ready, just need to implement synchronization...
Multi-graph test is ready, just need to implement synchronization Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>

File last commit:

r1348:ea7d1a66f4ab
r1371:ae26ed165253
Show More
VisualizationZoneWidget.h
106 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)
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 namespace Ui {
class VisualizationZoneWidget;
Format changes
r844 } // namespace Ui
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58
Alexandre Leroux
Minor fixes...
r203 class Variable;
Alexandre Leroux
Adds a name for a zone...
r197 class VisualizationGraphWidget;
Integrates the drag&drop classes into the existing visualization classes.
r839 class VisualizationZoneWidget : public VisualizationDragWidget, public IVisualizationWidget {
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 Q_OBJECT
public:
Alexandre Leroux
Adds a name for a zone...
r197 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.
Renamed SqpRange to DateTimeRange, introduced VariableController2 to...
r1346 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
Add the visualization gui classes
r118 void addGraph(VisualizationGraphWidget *graphWidget);
Format changes
r844 /// Inserts a graph widget
Integrates the drag&drop classes into the existing visualization classes.
r839 void insertGraph(int index, VisualizationGraphWidget *graphWidget);
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
*/
VisualizationGraphWidget *createGraph(std::shared_ptr<Variable> 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
*/
VisualizationGraphWidget *createGraph(std::shared_ptr<Variable> variable, int index);
/**
* 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
*/
All the codebase is modified to build with new Variable Controller...
r1348 VisualizationGraphWidget *createGraph( std::vector<std::shared_ptr<Variable> > variables,
Format changes
r844 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
VisualizationGraphWidget *firstGraph() const;
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
Alexandre Leroux
Updates visitor interface...
r207 void accept(IVisualizationWidgetVisitor *visitor) override;
Alexandre Leroux
Creates a interface that defines a variable container...
r209 bool canDrop(const Variable &variable) const override;
Alexandre Leroux
Unplot menu (5): adds contains() method to an IVariableContainer...
r327 bool contains(const Variable &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
drag of selection zones
r1047 QMimeData *mimeData(const QPoint &position) const override;
Integrates the drag&drop classes into the existing visualization classes.
r839 bool isDragAllowed() const override;
Implements cursor mode
r960 void notifyMouseMoveInGraph(const QPointF &graphPosition, const QPointF &plotPosition,
VisualizationGraphWidget *graphWidget);
void notifyMouseLeaveGraph(VisualizationGraphWidget *graphWidget);
Alexandre Leroux
Handles desynchronisation when removing variable from a graph (2)...
r738 protected:
void closeEvent(QCloseEvent *event) override;
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 private:
Ui::VisualizationZoneWidget *ui;
Implementation of V5 acquisition
r539
class VisualizationZoneWidgetPrivate;
spimpl::unique_impl_ptr<VisualizationZoneWidgetPrivate> impl;
Alexandre Leroux
Vera corrections
r657
private slots:
void onVariableAdded(std::shared_ptr<Variable> 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
void onVariableAboutToBeRemoved(std::shared_ptr<Variable> variable);
Integrates the drag&drop classes into the existing visualization classes.
r839
Format changes
r844 void dropMimeData(int index, const QMimeData *mimeData);
drop of variable inside an existing graph
r875 void dropMimeDataOnGraph(VisualizationDragWidget *dragWidget, const QMimeData *mimeData);
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 };
#endif // SCIQLOP_VISUALIZATIONZONEWIDGET_H