Changeset - r11029:bf0816bd43ea
[Not reviewed]
master
0 1 0
rubidium - 15 years ago 2009-02-06 10:38:57
rubidium@openttd.org
(svn r15369) -Codechange: generalise the GUIList a bit so peter can write filters for cargo type, speed and mass ;)
1 file changed with 4 insertions and 4 deletions:
0 comments (0 inline, 0 general)
src/sortlist_type.h
Show inline comments
 
@@ -32,11 +32,11 @@ struct Filtering {
 
	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 @@ public:
 
	 * @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 @@ public:
 
	 * @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);
0 comments (0 inline, 0 general)