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);
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>>>
IceUtil::Handle< PeriodicTask< T > > pointer_type
Shared pointer type for convenience.
std::map< std::string, QwtThermo * > bars
bool getAutoScale() const
void setUpdateInterval(int value)
QStackedLayout * stackedLayout
std::map< std::string, VariantPtr > getData(const QStringList &channels)
void autoScale(bool toggled)
QPointer< QWidget > widget
void plottingPaused(bool toggled)
void newDataAvailable(long timestamp, const std::map< std::string, VariantPtr > &newData)
QStringList selectedDatafields
QwtPlotCurve * createCurve(const QString &label)
QStringList getSelectedDatafields() const
void setIceManager(const IceManagerPtr &value)
PlotterController(QObject *parent)
void setGraphStyle(const std::string &style)
QPointer< QwtPlot > plotter
std::recursive_mutex dataMutex
PeriodicTask< PlotterController >::pointer_type pollingTask
int getUpdateInterval() const
QwtThermo * createBar(const QString &label)
int getShownInterval() const
void setPollingInterval(int value)
void setShownInterval(int value)
void legendChecked(const QVariant &itemInfo, bool on)
Required for Qt5.
std::map< std::string, std::map< IceUtil::Time, std::map< std::string, QwtPlotMarkerPtr > > > markers
void setSelectedDatafields(const QStringList &value, int samplingIntervalMs=-1)
Changes the datafields that are plotted.
void setupCurves(int samplingIntervalMs=-1)
int getPollingInterval() const
void setAutoScale(bool value)
std::map< std::string, QwtPlotCurve * > curves
std::string getGraphStyle() const
std::vector< std::string > getSelectedDatafieldsKeys() const
std::vector< Qt::GlobalColor > curveColors
void showCurve(QwtPlotItem *item, bool on)
QWidget * getPlotterWidget()
~PlotterController() override
std::vector< Qt::GlobalColor > getCurveColors() const
void setCurveColors(const std::vector< Qt::GlobalColor > &value)
This file offers overloads of toIce() and fromIce() functions for STL container types.
QwtPlotMarker * QwtPlotMarkerPtr
IceInternal::Handle< Variant > VariantPtr
std::map< std::string, ObserverInterfacePrx > ProxyMap
IceInternal::Handle< JSONObject > JSONObjectPtr
IceUtil::Handle< IceManager > IceManagerPtr
IceManager smart pointer.
std::map< std::string, std::vector< TimeData > > GraphDataMap
TimeData(const IceUtil::Time &time, const VariantPtr &data)