changeset 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 4a157a863e87
children a6b881972a62
files data/fileio/HttpClient.cpp data/fileio/QueryConfigReader.cpp data/fileio/QueryConfigReader.h data/model/QueryModel.cpp data/model/QueryModel.h
diffstat 5 files changed, 53 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/data/fileio/HttpClient.cpp	Wed Feb 13 13:45:21 2008 +0000
+++ b/data/fileio/HttpClient.cpp	Wed Feb 27 16:00:02 2008 +0000
@@ -29,7 +29,7 @@
 	m_host = "easaier.silogic.fr";
 	m_hostPort = 9876;
 
-	m_servletName = "/easaier/servlet/RetrieverService";
+	m_servletName = "/easaier/RetrieverService";
 	
 	if (config->exists())
 	{
--- 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;
 }
 
--- a/data/fileio/QueryConfigReader.h	Wed Feb 13 13:45:21 2008 +0000
+++ b/data/fileio/QueryConfigReader.h	Wed Feb 27 16:00:02 2008 +0000
@@ -49,6 +49,9 @@
 
 	bool	m_inTheme;
 	bool	m_inFieldGroup;
+	bool	m_inBinding;
+
+	QString m_propertyName;
 
 	QueryModel	*m_queryModel;
 };
--- a/data/model/QueryModel.cpp	Wed Feb 13 13:45:21 2008 +0000
+++ b/data/model/QueryModel.cpp	Wed Feb 27 16:00:02 2008 +0000
@@ -45,6 +45,11 @@
 	m_curThemeModel->addProperty(name, label, type, range, unit, comment);
 }
 
+void QueryModel::addRange(const QString &propertyName, const QString &range)
+{
+	m_curThemeModel->addRange(propertyName, range);
+}
+
 QueryThemeModel::QueryThemeModel(const QString &name, const QString &label) : 
 	m_name(name),
 	m_label(label),
@@ -234,6 +239,16 @@
 	setProperty(name, value);
 }
 
+void QueryThemeModel::addRange(const QString &propertyName, const QString &range)
+{
+	std::map<QString, PropertyModel*>::iterator iter = m_properties.find(propertyName);
+	if (iter != m_properties.end())
+	{
+		PropertyModel* model = iter->second;
+		model->addRange(range);
+	}
+}
+
 QueryThemeModel::PropertyModel::PropertyModel(const QString &name, const QString &label, const QString &type, 
 											  const QString &range, const QString &unit, const QString &comment,
 											  const QString &groupName, const QString &groupLabel) : 
@@ -284,4 +299,14 @@
 	{
 		m_type = InvalidProperty;
 	}
+}
+
+
+void QueryThemeModel::PropertyModel::addRange(const QString &range) 
+{
+	m_range << range;
+	m_type = ValueProperty;
+	m_value = "0";
+	m_min = 0;
+	m_max = m_range.size();
 }
\ No newline at end of file
--- a/data/model/QueryModel.h	Wed Feb 13 13:45:21 2008 +0000
+++ b/data/model/QueryModel.h	Wed Feb 27 16:00:02 2008 +0000
@@ -32,6 +32,8 @@
 	void newGroup(const QString &name, const QString &label);
 	void addProperty(const QString &name, const QString &label, const QString &type, const QString &range="", const QString &unit="", const QString &comment="");
 
+	void addRange(const QString &propertyName, const QString &range);
+
 	inline std::map<QString , QueryThemeModel* >& getThemes(){return m_themeModels;}
 
 protected:
@@ -76,6 +78,8 @@
 
 	virtual void setProperty(const PropertyName &name, int value);
 
+	void addRange(const QString &propertyName, const QString &range);
+
 public slots:
 	void setProperty(const PropertyName &name, QString value);
 	void setProperty(int value);
@@ -108,6 +112,8 @@
 		void setValue(int value){m_value = QString::number(value);}
 		void setValue(QString value){m_value = value;}
 
+		void addRange(const QString &range); 
+		
 	protected:
 		QString			m_name;
 		QString			m_label;