diff data/model/BoxModel.h @ 1835:804dd0c06f0e

Merge from branch sensible-delimited-data-strings
author Chris Cannam
date Mon, 06 Apr 2020 13:55:44 +0100
parents 21c792334c2e
children
line wrap: on
line diff
--- a/data/model/BoxModel.h	Fri Apr 03 12:12:02 2020 +0100
+++ b/data/model/BoxModel.h	Mon Apr 06 13:55:44 2020 +0100
@@ -348,8 +348,9 @@
         m_events.toXml(out, indent, QString("dimensions=\"2\""), options);
     }
 
-    QString getDelimitedDataHeaderLine(QString delimiter,
-                                       DataExportOptions opts) const override {
+    QVector<QString>
+    getStringExportHeaders(DataExportOptions opts) const override {
+
         QStringList list;
 
         // These are considered API rather than human-readable text -
@@ -363,23 +364,27 @@
 
         list << "extent start" << "extent end" << "label";
 
-        return list.join(delimiter).toUpper();
+        QVector<QString> sv;
+        for (QString s: list) {
+            sv.push_back(s.toUpper());
+        }
+        return sv;
     }
     
-    QString toDelimitedDataString(QString delimiter,
-                                  DataExportOptions opts,
-                                  sv_frame_t startFrame,
-                                  sv_frame_t duration) const override {
+    QVector<QVector<QString>>
+    toStringExportRows(DataExportOptions opts,
+                       sv_frame_t startFrame,
+                       sv_frame_t duration) const override {
 
         // We need a custom format here
 
         EventVector ee = m_events.getEventsSpanning(startFrame, duration);
 
-        QString s;
+        QVector<QVector<QString>> rows;
         
         for (auto e: ee) {
 
-            QStringList list;
+            QVector<QString> list;
 
             if (opts & DataExportWriteTimeInFrames) {
                 
@@ -405,10 +410,10 @@
                 list << e.getLabel();
             }
 
-            s += list.join(delimiter) + "\n";
+            rows.push_back(list);
         }
 
-        return s;
+        return rows;
     }
 
 protected: