comparison data/model/TextModel.h @ 1833:21c792334c2e sensible-delimited-data-strings

Rewrite all the DelimitedDataString stuff so as to return vectors of individual cell strings rather than having the classes add the delimiters themselves. Rename accordingly to names based on StringExport. Take advantage of this in the CSV writer code so as to properly quote cells that contain delimiter characters.
author Chris Cannam
date Fri, 03 Apr 2020 17:11:05 +0100
parents c546429d4c2f
children
comparison
equal deleted inserted replaced
1832:7c92c644db20 1833:21c792334c2e
276 options.valueAttributeName = "height"; 276 options.valueAttributeName = "height";
277 277
278 m_events.toXml(out, indent, QString("dimensions=\"2\""), options); 278 m_events.toXml(out, indent, QString("dimensions=\"2\""), options);
279 } 279 }
280 280
281 QString getDelimitedDataHeaderLine(QString delimiter, 281 QVector<QString>
282 DataExportOptions options) const override { 282 getStringExportHeaders(DataExportOptions options) const override {
283 Event::ExportNameOptions nameOpts; 283 Event::ExportNameOptions nameOpts;
284 nameOpts.valueAttributeName = "height"; 284 nameOpts.valueAttributeName = "height";
285 return m_events.getDelimitedDataHeaderLine(delimiter, 285 return m_events.getStringExportHeaders(options, nameOpts);
286 options, 286 }
287 nameOpts); 287
288 } 288 QVector<QVector<QString>>
289 289 toStringExportRows(DataExportOptions options,
290 QString toDelimitedDataString(QString delimiter, 290 sv_frame_t startFrame,
291 DataExportOptions options, 291 sv_frame_t duration) const override {
292 sv_frame_t startFrame, 292 return m_events.toStringExportRows(options,
293 sv_frame_t duration) const override { 293 startFrame,
294 return m_events.toDelimitedDataString(delimiter, 294 duration,
295 options, 295 m_sampleRate,
296 startFrame, 296 m_resolution,
297 duration, 297 Event().withValue(0.f));
298 m_sampleRate,
299 m_resolution,
300 Event().withValue(0.f));
301 } 298 }
302 299
303 protected: 300 protected:
304 sv_samplerate_t m_sampleRate; 301 sv_samplerate_t m_sampleRate;
305 int m_resolution; 302 int m_resolution;