diff data/fileio/QueryConfigReader.cpp @ 227:59d84a8bb76c

compatibility with changes done for the web site: - easaier servlet name changed - new queryfield.xml ("range" attributes form)
author lbajardsilogic
date Wed, 27 Feb 2008 16:00:02 +0000
parents 11e298cdb9e7
children
line wrap: on
line diff
--- a/data/fileio/QueryConfigReader.cpp	Wed Feb 13 13:45:21 2008 +0000
+++ b/data/fileio/QueryConfigReader.cpp	Wed Feb 27 16:00:02 2008 +0000
@@ -46,6 +46,8 @@
 QueryConfigHandler::QueryConfigHandler(QueryModel * queryModel) : QXmlDefaultHandler(),
 	m_inTheme(false),
 	m_inFieldGroup(false),
+	m_inBinding(false),
+	m_propertyName(""),
 	m_queryModel(queryModel)
 {}
 
@@ -84,15 +86,19 @@
     } else if (name == "field") {
 	
 		ok = true;
-		QString name	= attributes.value("name");
+		m_propertyName	= attributes.value("name");
 		QString label	= attributes.value("label");
 		QString type	= attributes.value("xsi:type");
 		QString range	= attributes.value("range");
 		QString unit	= attributes.value("unit");
 		QString comment	= attributes.value("comment");
-		m_queryModel->addProperty(name, label, type, range, unit, comment);
+		m_queryModel->addProperty(m_propertyName, label, type, range, unit, comment);
 
-    }
+    } else if (name == "range") {
+
+		m_inBinding = true;
+		ok = true;
+	}
 
     if (!ok) {
 		std::cerr << "WARNING: QueryConfigReader-XML: Failed to completely process element \""
@@ -115,6 +121,10 @@
 	{
         m_inFieldGroup = false;
     } 
+	else if (name == "range") 
+	{
+        m_inBinding = false;
+    } 
 
 	return true;
 }
@@ -123,6 +133,11 @@
 {
 	bool ok = false;
 
+	if (m_inBinding)
+	{
+		m_queryModel->addRange(m_propertyName, str);
+	}
+
     return true;
 }