Go to the documentation of this file.
29 #include <QStackedLayout>
34 #pragma GCC diagnostic push
35 #pragma GCC diagnostic ignored "-Wpedantic"
36 #include <qwt_legend.h>
38 #include <qwt_plot_canvas.h>
39 #include <qwt_plot_curve.h>
40 #include <qwt_plot_magnifier.h>
41 #include <qwt_plot_marker.h>
42 #include <qwt_plot_panner.h>
43 #include <qwt_scale_draw.h>
44 #include <qwt_series_data.h>
45 #include <qwt_thermo.h>
46 #pragma GCC diagnostic pop
51 #include <ArmarXCore/interface/observers/ObserverInterface.h>
72 using ProxyMap = std::map<std::string, ObserverInterfacePrx>;
88 void showCurve(QwtPlotItem* item,
bool on);
104 std::map<std::string, VariantPtr>
getData(
const QStringList& channels);
109 QwtThermo*
createBar(
const QString& label);
144 void newDataAvailable(
long timestamp,
const std::map<std::string, VariantPtr>& newData);
166 std::map<std::string, QwtPlotCurve*>
curves;
168 std::map<std::string, QwtThermo*>
bars;
169 std::map<std::string, std::map<IceUtil::Time, std::map<std::string, QwtPlotMarkerPtr>>>
void setPollingInterval(int value)
void setIceManager(const IceManagerPtr &value)
QStringList selectedDatafields
std::map< std::string, QwtThermo * > bars
QPointer< QWidget > widget
std::recursive_mutex dataMutex
QWidget * getPlotterWidget()
void showCurve(QwtPlotItem *item, bool on)
void setAutoScale(bool value)
std::vector< Qt::GlobalColor > curveColors
TimeData(const IceUtil::Time &time, const VariantPtr &data)
void newDataAvailable(long timestamp, const std::map< std::string, VariantPtr > &newData)
int getPollingInterval() const
QwtThermo * createBar(const QString &label)
void autoScale(bool toggled)
bool getAutoScale() const
~PlotterController() override
QStringList getSelectedDatafields() const
QwtPlotMarker * QwtPlotMarkerPtr
std::shared_ptr< Value > value()
std::map< std::string, QwtPlotCurve * > curves
void setupCurves(int samplingIntervalMs=-1)
void setUpdateInterval(int value)
QStackedLayout * stackedLayout
void legendChecked(const QVariant &itemInfo, bool on)
Required for Qt5.
void plottingPaused(bool toggled)
std::string getGraphStyle() const
armarx::core::time::DateTime Time
PeriodicTask< PlotterController >::pointer_type pollingTask
std::map< std::string, std::vector< TimeData > > GraphDataMap
int getShownInterval() const
QwtPlotCurve * createCurve(const QString &label)
PlotterController(QObject *parent)
std::map< std::string, VariantPtr > getData(const QStringList &channels)
void setGraphStyle(const std::string &style)
QPointer< QwtPlot > plotter
int getUpdateInterval() const
std::map< std::string, std::map< IceUtil::Time, std::map< std::string, QwtPlotMarkerPtr > > > markers
std::vector< Qt::GlobalColor > getCurveColors() const
std::vector< std::string > getSelectedDatafieldsKeys() const
void setShownInterval(int value)
void setCurveColors(const std::vector< Qt::GlobalColor > &value)
void setSelectedDatafields(const QStringList &value, int samplingIntervalMs=-1)
Changes the datafields that are plotted.
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::map< std::string, ObserverInterfacePrx > ProxyMap