26#pragma GCC diagnostic push
27#pragma GCC diagnostic ignored "-Wpedantic"
28#include <ArmarXGui/gui-plugins/PlotterPlugin/ui_ArmarXPlotter.h>
29#pragma GCC diagnostic pop
36#include <ArmarXCore/interface/components/TopicRecorderInterface.h>
37#include <ArmarXCore/interface/observers/ConditionHandlerInterface.h>
73 public TopicReplayerListenerInterface
80 const Ice::Current&
c = Ice::emptyCurrent)
override
87 if (!
ui.btnLogToFile->isChecked())
89 this->filename = filename;
90 ui.btnLogToFile->setChecked(
true);
101 if (!syncDataLogging)
106 if (
ui.btnLogToFile->isChecked())
108 ui.btnLogToFile->setChecked(
false);
116 Ui::ArmarXPlotter
ui;
130 return "Observers.LivePlotter";
136 return QIcon(
"://icons/combo_chart.svg");
139 void loadSettings(QSettings* settings)
override;
140 void saveSettings(QSettings* settings)
override;
144 void onInitComponent()
override;
145 void onConnectComponent()
override;
146 void onExitComponent()
override;
151 void onCloseWidget(QCloseEvent* event);
162 void logToFile(
long timestamp,
const std::map<std::string, VariantPtr>& dataMaptoAppend);
168 QDateTime startUpTime;
169 std::map<std::string, ObserverInterfacePrx> proxyMap;
170 bool __plottingPaused;
173 std::mutex dataMutex;
174 bool syncDataLogging;
175 std::vector<std::string> csvHeader;
176 std::ofstream logstream;
177 IceUtil::Time logStartTime;
178 std::string filename =
"";
182 std::mutex fileMutex;
#define ARMARXCOMPONENT_IMPORT_EXPORT
ConditionHandlerInterfacePrx handler
void toggleLogging(bool toggled)
void onStopReply(const Ice::Current &c=Ice::emptyCurrent) override
QwtPlotCurve * createCurve(const QString &label)
void ButtonAddSensorChannelClicked()
std::shared_ptr< QSettings > settings
QwtThermo * createBar(const QString &label)
void onGraphStyleChanged(const QString &style)
void logToFile(long timestamp, const std::map< std::string, VariantPtr > &dataMaptoAppend)
QPointer< ArmarXPlotterDialog > dialog
void onStartReplay(const std::string &filename, const Ice::Current &c=Ice::emptyCurrent) override
static QString GetWidgetName()
static QIcon GetWidgetIcon()
#define ARMARX_WARNING
The logging level for unexpected behaviour, but not a serious problem.
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceInternal::Handle< JSONObject > JSONObjectPtr