@@ -81,8 +81,13 @@ QString DataLogger_API::disableMonitor(QString monitor)
81
81
82
82
void DataLogger_API::setRunning (bool running)
83
83
{
84
- Q_ASSERT (m_dataLoggerPlugin != nullptr );
85
- m_dataLoggerPlugin->toggleRunState (running);
84
+ Q_ASSERT (m_dataLoggerPlugin->m_dataAcquisitionManager != nullptr );
85
+ ToolMenuEntry *tool = ToolMenuEntry::findToolMenuEntryByName (m_dataLoggerPlugin->m_toolList , " Data Logger " );
86
+ if (tool) {
87
+ tool->setRunning (running);
88
+ tool->runToggled (running);
89
+ }
90
+
86
91
}
87
92
88
93
void DataLogger_API::clearData ()
@@ -91,6 +96,87 @@ void DataLogger_API::clearData()
91
96
m_dataLoggerPlugin->m_dataAcquisitionManager ->clearMonitorsData ();
92
97
}
93
98
99
+ void DataLogger_API::print (QString filepath)
100
+ {
101
+ Q_ASSERT (m_dataLoggerPlugin->m_dataAcquisitionManager != nullptr );
102
+ ToolMenuEntry *tool = ToolMenuEntry::findToolMenuEntryByName (m_dataLoggerPlugin->m_toolList , " Data Logger " );
103
+ if (tool) {
104
+ DatamonitorTool *monitorTool = dynamic_cast <DatamonitorTool *>(tool->tool ());
105
+ QList<PlotWidget *> plotList;
106
+ plotList.push_back (monitorTool->m_monitorPlot ->plot ());
107
+ monitorTool->printplotManager ->printPlots (plotList, " DataLogger" , filepath);
108
+ }
109
+ }
110
+
111
+ void DataLogger_API::changeTool (QString name)
112
+ {
113
+ Q_ASSERT (!m_dataLoggerPlugin->m_toolList .isEmpty ());
114
+
115
+ ToolMenuEntry *tool = ToolMenuEntry::findToolMenuEntryByName (m_dataLoggerPlugin->m_toolList , " Data Logger " );
116
+ if (tool) {
117
+ DatamonitorTool *monitorTool = dynamic_cast <DatamonitorTool *>(tool->tool ());
118
+ if (name == " Plot" ) {
119
+ monitorTool->showPlot ->click ();
120
+ } else if (name == " Text" ) {
121
+ monitorTool->showText ->click ();
122
+ } else if (name == " 7 Segment" ) {
123
+ monitorTool->showSegments ->click ();
124
+ } else {
125
+ qWarning (CAT_DATAMONITOR_API) << " No tool available with name " << name;
126
+ }
127
+ }
128
+ }
129
+
130
+ void DataLogger_API::setMinMax (bool enable)
131
+ {
132
+ Q_ASSERT (!m_dataLoggerPlugin->m_toolList .isEmpty ());
133
+
134
+ ToolMenuEntry *tool = ToolMenuEntry::findToolMenuEntryByName (m_dataLoggerPlugin->m_toolList , " Data Logger " );
135
+ if (tool) {
136
+ DatamonitorTool *monitorTool = dynamic_cast <DatamonitorTool *>(tool->tool ());
137
+ SevenSegmentMonitorSettings *monitorSettings =
138
+ monitorTool->m_dataMonitorSettings ->getSevenSegmentMonitorSettings ();
139
+ monitorTool->sevenSegmetMonitors ->togglePeakHolder (enable);
140
+ monitorSettings->peakHolderToggle ->onOffswitch ()->setChecked (enable);
141
+ }
142
+ }
143
+
144
+ void DataLogger_API::changePrecision (int decimals)
145
+ {
146
+ Q_ASSERT (!m_dataLoggerPlugin->m_toolList .isEmpty ());
147
+
148
+ ToolMenuEntry *tool = ToolMenuEntry::findToolMenuEntryByName (m_dataLoggerPlugin->m_toolList , " Data Logger " );
149
+ if (tool) {
150
+ DatamonitorTool *monitorTool = dynamic_cast <DatamonitorTool *>(tool->tool ());
151
+ SevenSegmentMonitorSettings *monitorSettings =
152
+ monitorTool->m_dataMonitorSettings ->getSevenSegmentMonitorSettings ();
153
+ monitorTool->sevenSegmetMonitors ->updatePrecision (decimals);
154
+ monitorSettings->precision ->setText (QString::number (decimals));
155
+ }
156
+ }
157
+
158
+ void DataLogger_API::setMinYAxis (double min)
159
+ {
160
+ Q_ASSERT (!m_dataLoggerPlugin->m_toolList .isEmpty ());
161
+
162
+ ToolMenuEntry *tool = ToolMenuEntry::findToolMenuEntryByName (m_dataLoggerPlugin->m_toolList , " Data Logger " );
163
+ if (tool) {
164
+ DatamonitorTool *monitorTool = dynamic_cast <DatamonitorTool *>(tool->tool ());
165
+ monitorTool->m_monitorPlot ->updateYAxisIntervalMin (min);
166
+ }
167
+ }
168
+
169
+ void DataLogger_API::setMaxYAxis (double max)
170
+ {
171
+ Q_ASSERT (!m_dataLoggerPlugin->m_toolList .isEmpty ());
172
+
173
+ ToolMenuEntry *tool = ToolMenuEntry::findToolMenuEntryByName (m_dataLoggerPlugin->m_toolList , " Data Logger " );
174
+ if (tool) {
175
+ DatamonitorTool *monitorTool = dynamic_cast <DatamonitorTool *>(tool->tool ());
176
+ monitorTool->m_monitorPlot ->updateYAxisIntervalMax (max);
177
+ }
178
+ }
179
+
94
180
QString DataLogger_API::createTool ()
95
181
{
96
182
Q_ASSERT (m_dataLoggerPlugin != nullptr );
0 commit comments