(svn r13165) -Codechange: replace some RebuildXXXList/ResortXXXList+InvalidateWindowXXX with InvalidateWindowXXXData.

This commit is contained in:
rubidium
2008-05-18 16:51:44 +00:00
parent aab9e191f5
commit 9defec7876
16 changed files with 53 additions and 127 deletions

View File

@@ -86,47 +86,6 @@ const StringID _vehicle_sort_listing[] = {
INVALID_STRING_ID
};
/**
* Set sort list flag for all vehicle list windows
* @param sl_flag Sort list flag to set
*/
static void SetVehicleListsFlag(SortListFlags sl_flag)
{
Window* const *wz;
FOR_ALL_WINDOWS(wz) {
Window *w = *wz;
switch (w->window_class) {
case WC_TRAINS_LIST:
case WC_ROADVEH_LIST:
case WC_SHIPS_LIST:
case WC_AIRCRAFT_LIST:
dynamic_cast<VehicleListBase*>(w)->vehicles.flags |= sl_flag;
w->SetDirty();
break;
default: break;
}
}
}
/**
* Rebuild all vehicle list windows
*/
void RebuildVehicleLists()
{
SetVehicleListsFlag(VL_REBUILD);
}
/**
* Resort all vehicle list windows
*/
void ResortVehicleLists()
{
SetVehicleListsFlag(VL_RESORT);
}
void BuildVehicleList(VehicleListBase *vl, PlayerID owner, uint16 index, uint16 window_type)
{
if (!(vl->vehicles.flags & VL_REBUILD)) return;
@@ -1187,6 +1146,11 @@ struct VehicleListWindow : public Window, public VehicleListBase {
this->vscroll.cap += delta.y / (int)this->resize.step_height;
this->widget[VLW_WIDGET_LIST].data = (this->vscroll.cap << 8) + 1;
}
virtual void OnInvalidateData(int data)
{
this->vehicles.flags |= (data == 0 ? VL_REBUILD : VL_RESORT);
}
};
static const WindowDesc _player_vehicle_list_train_desc = {