r3026 - software/ui/src

Enrico Zini enrico at alioth.debian.org
Wed Jun 20 18:16:11 UTC 2007


Author: enrico
Date: 2007-06-20 18:16:11 +0000 (Wed, 20 Jun 2007)
New Revision: 3026

Modified:
   software/ui/src/Engine.cpp
   software/ui/src/Engine.h
Log:
Added ability to retrieve max popcon scores to the Engine

Modified: software/ui/src/Engine.cpp
===================================================================
--- software/ui/src/Engine.cpp	2007-06-20 17:39:41 UTC (rev 3025)
+++ software/ui/src/Engine.cpp	2007-06-20 18:16:11 UTC (rev 3026)
@@ -84,6 +84,7 @@
 	m_results.clear();
 	m_types.clear();
 	m_interfaces.clear();
+	m_res_max = 0;
 
 	// Compute the types
 	if (m_filter_type.valid())
@@ -164,6 +165,9 @@
 		res.popcon = m_popcon[res.name];
 		res.relevance = i.get_percent();
 
+		if (res.popcon > m_res_max)
+			m_res_max = res.popcon;
+
 		m_results.push_back(res);
 
 		// Get all the game and interface tags in the result set
@@ -180,6 +184,9 @@
 		}
 	}
 
+	if (m_res_max > m_max)
+		m_max = m_res_max;
+
 	m_dirty = false;
 }
 

Modified: software/ui/src/Engine.h
===================================================================
--- software/ui/src/Engine.h	2007-06-20 17:39:41 UTC (rev 3025)
+++ software/ui/src/Engine.h	2007-06-20 18:16:11 UTC (rev 3026)
@@ -71,11 +71,14 @@
 	std::set<ept::debtags::Tag> m_types;
 	std::set<ept::debtags::Tag> m_interfaces;
 
+	float m_max;
+	float m_res_max;
+
 	Xapian::Query makeQuery();
 	void recompute();
 
 public:
-	Engine() : m_filter_state(ANY), m_dirty(true) {}
+	Engine() : m_filter_state(ANY), m_dirty(true), m_max(0) {}
 		
 	/// Access the apt data provider
 	ept::apt::Apt& apt() { return m_apt; }
@@ -107,6 +110,12 @@
 		return m_results;
 	}
 
+	/// Get the maximum popcon score in the result set
+	float popconLocalMax() const { return m_res_max; }
+
+	/// Get the maximum popcon score seen so far
+	float popconMax() const { return m_max; }
+
 	/**
 	 * Set the keyword filter from the given string (which will be tokenized
 	 * and stemmed properly)




More information about the Pkg-games-commits mailing list