changeset 48:a8dcc1ca82c4

include writing with ToXml function
author lbajardsilogic
date Wed, 16 May 2007 11:29:48 +0000
parents 7bd5773d4372
children 81e058c2be51
files data/model/IntervalModel.cpp data/model/IntervalModel.h
diffstat 2 files changed, 25 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/data/model/IntervalModel.cpp	Wed May 16 11:28:48 2007 +0000
+++ b/data/model/IntervalModel.cpp	Wed May 16 11:29:48 2007 +0000
@@ -16,6 +16,7 @@
 #include "system/System.h"
 #include "model/IntervalModel.h"
 
+#include <QTextStream>
 
 
 TimeInterval::TimeInterval(long start, long end, float value):
@@ -80,28 +81,40 @@
 	return s;
 }
 
-QString 
-IntervalModel::toXmlString(QString indent, QString extraAttributes) const
+void
+IntervalModel::toXml(QTextStream &out,
+                                  QString indent,
+                                  QString extraAttributes) const
 { 
-    QString s;
-
-    s += Model::toXmlString
+    out << Model::toXmlString
 	(indent, QString("type=\"interval\" dimensions=\"3\" resolution=\"%1\" notifyOnAdd=\"%2\" dataset=\"%3\" %4")
 		.arg(m_resolution)
 		.arg(m_notifyOnAdd ? "true" : "false")
 		.arg(getObjectExportId(&m_intervals))
 		.arg(extraAttributes));
 
-    s += indent;
-    s += QString("<dataset id=\"%1\" dimensions=\"3\"\">\n")
+    out << indent;
+    out << QString("<dataset id=\"%1\" dimensions=\"3\">\n")
 	.arg(getObjectExportId(&m_intervals));
 
     for (IntervalListConstIterator i = m_intervals.begin(); i != m_intervals.end(); ++i) 
 	{
-        s += (*i)->toXmlString(indent + "  ");
+        out << (*i)->toXmlString(indent + "  ");
     }
 
-    s += indent + "</dataset>\n";
+    out << indent + "</dataset>\n";
+}
+
+QString
+IntervalModel::toXmlString(QString indent,
+					QString extraAttributes) const
+{
+    QString s;
+
+    {
+        QTextStream out(&s);
+        toXml(out, indent, extraAttributes);
+    }
 
     return s;
 }
--- a/data/model/IntervalModel.h	Wed May 16 11:28:48 2007 +0000
+++ b/data/model/IntervalModel.h	Wed May 16 11:29:48 2007 +0000
@@ -84,6 +84,9 @@
 
     virtual Model *clone() const;
   
+	virtual void toXml(QTextStream &out,
+                       QString indent = "",
+                       QString extraAttributes = "") const;
 	virtual QString toXmlString(QString indent = "", QString extraAttributes = "") const;
     virtual QString toDelimitedDataString(QString) const;