(svn r13140) -Codechange: move the gui-list-sorting out of window_gui.h so window_gui.h only needs to be included in *_gui.cpp.
parent
a89b5721a8
commit
ad6e52080c
@ -0,0 +1,31 @@
|
||||
/* $Id$ */
|
||||
|
||||
/** @file sortlist_type.h Base types for having sorted lists in GUIs. */
|
||||
|
||||
#ifndef SORTLIST_TYPE_H
|
||||
#define SORTLIST_TYPE_H
|
||||
|
||||
enum SortListFlags {
|
||||
VL_NONE = 0, ///< no sort
|
||||
VL_DESC = 1 << 0, ///< sort descending or ascending
|
||||
VL_RESORT = 1 << 1, ///< instruct the code to resort the list in the next loop
|
||||
VL_REBUILD = 1 << 2, ///< create sort-listing to use for qsort and friends
|
||||
VL_END = 1 << 3,
|
||||
};
|
||||
DECLARE_ENUM_AS_BIT_SET(SortListFlags);
|
||||
|
||||
struct Listing {
|
||||
bool order; ///< Ascending/descending
|
||||
byte criteria; ///< Sorting criteria
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
struct GUIList {
|
||||
T* sort_list; ///< The items to sort.
|
||||
SortListFlags flags; ///< used to control sorting/resorting/etc.
|
||||
uint16 list_length; ///< length of the list being sorted
|
||||
uint16 resort_timer; ///< resort list after a given amount of ticks if set
|
||||
byte sort_type; ///< what criteria to sort on
|
||||
};
|
||||
|
||||
#endif /* SORTLIST_TYPE_H */
|
Loading…
Reference in New Issue