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 "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

Enumerations

enum  TimetableViewWindowWidgets {
  TTV_CAPTION, TTV_ORDER_VIEW, TTV_TIMETABLE_PANEL, TTV_FAKE_SCROLLBAR,
  TTV_ARRIVAL_DEPARTURE_PANEL, TTV_SCROLLBAR, TTV_SUMMARY_PANEL, TTV_START_DATE,
  TTV_CHANGE_TIME, TTV_CLEAR_TIME, TTV_RESET_LATENESS, TTV_AUTOFILL,
  TTV_EXPECTED, TTV_SHARED_ORDER_LIST, TTV_ARRIVAL_DEPARTURE_SELECTION, TTV_EXPECTED_SELECTION
}

Functions

void SetTimetableParams (int param1, int param2, Ticks ticks)
 Set the timetable parameters in the format as described by the setting.
static void SetArrivalDepartParams (int param1, int param2, Ticks ticks)
 Sets the arrival or departure string and parameters.
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)

Variables

static const NWidgetPart _nested_timetable_widgets []
static const WindowDesc _timetable_desc (WDP_AUTO, 400, 130, WC_VEHICLE_TIMETABLE, WC_VEHICLE_VIEW, WDF_UNCLICK_BUTTONS|WDF_CONSTRUCTION, _nested_timetable_widgets, lengthof(_nested_timetable_widgets))

Detailed Description

GUI for time tabling.

Definition in file timetable_gui.cpp.


Enumeration Type Documentation

Enumerator:
TTV_FAKE_SCROLLBAR 

So the timetable panel 'sees' the scrollbar too.

TTV_ARRIVAL_DEPARTURE_PANEL 

Panel with the expected/scheduled arrivals.

TTV_EXPECTED 

Toggle between expected and scheduled arrivals.

TTV_SHARED_ORDER_LIST 

Show the shared order list.

TTV_ARRIVAL_DEPARTURE_SELECTION 

Disable/hide the arrival departure panel.

TTV_EXPECTED_SELECTION 

Disable/hide the expected selection button.

Definition at line 31 of 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 91 of file timetable_gui.cpp.

References Order::GetNonStopType(), Order::IsType(), ONSF_NO_STOP_AT_DESTINATION_STATION, 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 164 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 112 of file timetable_gui.cpp.

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

Referenced by TimetableWindow::BuildArrivalDepartureList().

static void SetArrivalDepartParams ( int  param1,
int  param2,
Ticks  ticks 
) [static]

Sets the arrival or departure string and parameters.

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

Definition at line 79 of file timetable_gui.cpp.

References _date, DAY_TICKS, and SetDParam().

Referenced by TimetableWindow::DrawWidget().

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

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

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


Generated on Sat Apr 17 23:25:10 2010 for OpenTTD by  doxygen 1.6.1