changeset 11029:5bfb68c58fd3 draft

(svn r15369) -Codechange: generalise the GUIList a bit so peter can write filters for cargo type, speed and mass ;)
author rubidium <rubidium@openttd.org>
date Fri, 06 Feb 2009 10:38:57 +0000
parents 958accb0cb24
children 8ea72967ad79
files src/sortlist_type.h
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/sortlist_type.h
+++ b/src/sortlist_type.h
@@ -32,11 +32,11 @@
 	byte criteria; ///< Filtering criteria
 };
 
-template <typename T, typename F = char>
+template <typename T, typename F = const char*>
 class GUIList : public SmallVector<T, 32> {
 public:
 	typedef int CDECL SortFunction(const T*, const T*);
-	typedef bool CDECL FilterFunction(const T*, const F*);
+	typedef bool CDECL FilterFunction(const T*, F);
 
 protected:
 	SortFunction * const *sort_func_list;     ///< the sort criteria functions
@@ -316,7 +316,7 @@
 	 * @param filter_data Additional data passed to the filter function
 	 * @return true if the list has been altered by filtering
 	 */
-	bool Filter(FilterFunction *decide, const F *filter_data)
+	bool Filter(FilterFunction *decide, F filter_data)
 	{
 		/* Do not filter if the filter bit is not set */
 		if (!HASBITS(this->flags, VL_FILTER)) return false;
@@ -349,7 +349,7 @@
 	 * @param filter_data Additional data passed to the filter function.
 	 * @return true if the list has been altered by filtering
 	 */
-	bool Filter(const F *filter_data)
+	bool Filter(F filter_data)
 	{
 		if (this->filter_func_list == NULL) return false;
 		return this->Filter(this->filter_func_list[this->filter_type], filter_data);