changeset 6:44bbf5793d84

* Rework handling of layer properties in file I/O -- we now get the individual layers to load and save them rather than doing it via generic property lists in the base class, so as to ensure we read and write meaningful values rather than generic int values requiring conversion.
author Chris Cannam
date Thu, 19 Jan 2006 12:54:38 +0000
parents 31c4ed2d5da6
children 49a95b174050
files base/Layer.cpp base/Layer.h
diffstat 2 files changed, 4 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/base/Layer.cpp	Tue Jan 17 17:45:55 2006 +0000
+++ b/base/Layer.cpp	Thu Jan 19 12:54:38 2006 +0000
@@ -41,7 +41,7 @@
     
     s += indent;
 
-    s += QString("<layer id=\"%2\" type=\"%1\" name=\"%3\" model=\"%4\" %5>\n")
+    s += QString("<layer id=\"%2\" type=\"%1\" name=\"%3\" model=\"%4\" %5/>\n")
 	.arg(LayerFactory::instance()->getLayerTypeName
 	     (LayerFactory::instance()->getLayerType(this)))
 	.arg(getObjectExportId(this))
@@ -49,18 +49,6 @@
 	.arg(getObjectExportId(getModel()))
 	.arg(extraAttributes);
 
-    PropertyList properties = getProperties();
-
-    for (PropertyList::const_iterator i = properties.begin();
-	 i != properties.end(); ++i) {
-
-	int pv = getPropertyRangeAndValue(*i, 0, 0);
-	s += indent + "";
-	s += QString("<property name=\"%1\" value=\"%2\"/>\n").arg(*i).arg(pv);
-    }
-
-    s += indent + "</layer>\n";
-
     return s;
 }
 
--- a/base/Layer.h	Tue Jan 17 17:45:55 2006 +0000
+++ b/base/Layer.h	Thu Jan 19 12:54:38 2006 +0000
@@ -16,6 +16,7 @@
 
 #include <QObject>
 #include <QRect>
+#include <QXmlAttributes>
 
 class ZoomConstraint;
 class Model;
@@ -91,6 +92,8 @@
     virtual QString toXmlString(QString indent = "",
 				QString extraAttributes = "") const;
 
+    virtual void setProperties(const QXmlAttributes &) = 0;
+
 signals:
     void modelChanged();
     void modelCompletionChanged();