Data Structures | Functions | Variables

# timetable_gui.cpp File Reference

GUI for time tabling. More...

`#include "stdafx.h"`
`#include "command_func.h"`
`#include "gui.h"`
`#include "window_gui.h"`
`#include "window_func.h"`
`#include "textbuf_gui.h"`
`#include "strings_func.h"`
`#include "vehicle_base.h"`
`#include "string_func.h"`
`#include "gfx_func.h"`
`#include "company_func.h"`
`#include "date_func.h"`
`#include "date_gui.h"`
`#include "vehicle_gui.h"`
`#include "settings_type.h"`
`#include "widgets/timetable_widget.h"`
`#include "table/sprites.h"`
`#include "table/strings.h"`

Go to the source code of this file.

## Data Structures
struct | TimetableArrivalDeparture
| Container for the arrival/departure dates of a vehicle. More...
struct | TimetableWindow
## Functions
void | SetTimetableParams (int param1, int param2, Ticks ticks)
| Set the timetable parameters in the format as described by the setting.
static bool | CanDetermineTimeTaken (const Order *order, bool travelling)
| Check whether it is possible to determine how long the order takes.
static void | FillTimetableArrivalDepartureTable (const Vehicle *v, VehicleOrderID start, bool travelling, TimetableArrivalDeparture *table, Ticks offset)
| Fill the table with arrivals and departures.
static void | ChangeTimetableStartCallback (const Window *w, Date date)
| Callback for when a time has been chosen to start the time table.
void | ShowTimetableWindow (const Vehicle *v)
| Show the timetable for a given vehicle.
## Variables
static const NWidgetPart | _nested_timetable_widgets []
static WindowDesc | _timetable_desc (WDP_AUTO,"view_vehicle_timetable", 400, 130, WC_VEHICLE_TIMETABLE, WC_VEHICLE_VIEW, WDF_CONSTRUCTION, _nested_timetable_widgets, lengthof(_nested_timetable_widgets))

## Detailed Description

GUI for time tabling.

Definition in file timetable_gui.cpp.

## Function Documentation

static bool CanDetermineTimeTaken | ( | const Order * | order,
|  | bool | travelling |
| ) |  |  | `[static]`

Check whether it is possible to determine how long the order takes.

Parameters:

  | order | the order to check.
  | travelling | whether we are interested in the travel or the wait part.

Returns:
  true if the travel/wait time can be used.

Definition at line 62 of file timetable_gui.cpp.

References Order::GetNonStopType(), Order::IsType(), Order::travel_time, and Order::wait_time.

Referenced by FillTimetableArrivalDepartureTable().

static void ChangeTimetableStartCallback | ( | const Window * | w,
|  | Date | date |
| ) |  |  | `[static]`

Callback for when a time has been chosen to start the time table.

Parameters:

  | window | the window related to the setting of the date
  | date | the actually chosen date

Definition at line 140 of file timetable_gui.cpp.

References CMD_MSG, CMD_SET_TIMETABLE_START, DoCommandP(), and Window::window_number.

Referenced by TimetableWindow::OnClick().

static void FillTimetableArrivalDepartureTable | ( | const Vehicle * | v,
|  | VehicleOrderID | start,
|  | bool | travelling,
|  | TimetableArrivalDeparture * | table,
|  | Ticks | offset |
| ) |  |  | `[static]`

Fill the table with arrivals and departures.

Parameters:

  | v | Vehicle which must have at least 2 orders.
  | start | order index to start at
  | travelling | Are we still in the travelling part of the start order
  | table | Fill in arrival and departures including intermediate orders
  | offset | Add this value to result and all arrivals and departures

Definition at line 83 of file timetable_gui.cpp.

References TimetableArrivalDeparture::arrival, CanDetermineTimeTaken(), TimetableArrivalDeparture::departure, OrderList::GetFirstOrder(), Vehicle::GetNumOrders(), Vehicle::GetOrder(), INVALID_TICKS, Order::IsType(), Vehicle::list, Order::next, Vehicle::orders, Order::travel_time, and Order::wait_time.

Referenced by TimetableWindow::BuildArrivalDepartureList().

void SetTimetableParams | ( | int | param1,
|  | int | param2,
|  | Ticks | ticks |
| ) |  |  |

Set the timetable parameters in the format as described by the setting.

Parameters:

  | param1 | the first DParam to fill
  | param2 | the second DParam to fill
  | ticks | the number of ticks to 'draw'

Definition at line 45 of file timetable_gui.cpp.

References _settings_client, DAY_TICKS, ClientSettings::gui, SetDParam(), and GUISettings::timetable_in_ticks.

Referenced by DrawOrderString(), and TimetableWindow::DrawWidget().

void ShowTimetableWindow | ( | const Vehicle * | v | ) |

Show the timetable for a given vehicle.

Parameters:

  | v | The vehicle to show the timetable for.

Definition at line 694 of file timetable_gui.cpp.

References DeleteWindowById(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, WC_VEHICLE_DETAILS, and WC_VEHICLE_ORDERS.

Referenced by VehicleViewWindow::OnClick(), and OrdersWindow::OnClick().