OpenTTD: src/timetable_gui.cpp File Reference

OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

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"`
`#include "safeguards.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 64 of file timetable_gui.cpp.

References Order::GetNonStopType(), Order::IsTravelTimetabled(), Order::IsType(), Order::IsWaitTimetabled(), and ONSF_NO_STOP_AT_DESTINATION_STATION.

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 145 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 88 of file timetable_gui.cpp.

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

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 47 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 710 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 OrdersWindow::OnClick(), and VehicleViewWindow::OnClick().