OpenTTD Source: src/group_gui.cpp File Reference

OpenTTD Source 14.0-beta1

Data Structures | Typedefs | Functions | Variables
group_gui.cpp File Reference
`#include "stdafx.h"`
`#include "textbuf_gui.h"`
`#include "command_func.h"`
`#include "vehicle_gui.h"`
`#include "vehicle_base.h"`
`#include "string_func.h"`
`#include "strings_func.h"`
`#include "window_func.h"`
`#include "vehicle_func.h"`
`#include "autoreplace_gui.h"`
`#include "company_func.h"`
`#include "widgets/dropdown_func.h"`
`#include "tilehighlight_func.h"`
`#include "vehicle_gui_base.h"`
`#include "core/geometry_func.hpp"`
`#include "core/container_func.hpp"`
`#include "company_base.h"`
`#include "company_gui.h"`
`#include "gui.h"`
`#include "group_cmd.h"`
`#include "vehicle_cmd.h"`
`#include "gfx_func.h"`
`#include "widgets/group_widget.h"`
`#include "table/sprites.h"`
`#include "safeguards.h"`

Go to the source code of this file.

## Data Structures
class | VehicleGroupWindow

## Typedefs
typedef GUIList< const Group * > | GUIGroupList

## Functions
void | ShowCompanyGroup (CompanyID company, VehicleType vehicle_type, GroupID group=INVALID_GROUP, bool need_existing_window=false)
| Show the group window for the given company and vehicle type. More...
void | ShowCompanyGroupForVehicle (const Vehicle *v)
| Show the group window for the given vehicle. More...
static VehicleGroupWindow * | FindVehicleGroupWindow (VehicleType vt, Owner owner)
| Finds a group list window determined by vehicle type and owner. More...
static void | CcCreateGroup (GroupID gid, VehicleType veh_type)
| Opens a 'Rename group' window for newly created group. More...
void | CcCreateGroup (Commands, const CommandCost &result, GroupID new_group, VehicleType vt, GroupID)
| Opens a 'Rename group' window for newly created group. More...
void | CcAddVehicleNewGroup (Commands, const CommandCost &result, GroupID new_group, GroupID, VehicleID, bool, const VehicleListIdentifier &)
| Open rename window after adding a vehicle to a new group via drag and drop. More...
void | DeleteGroupHighlightOfVehicle (const Vehicle *v)
| Removes the highlight of a vehicle in a group window. More...

## Variables
static constexpr NWidgetPart | _nested_group_widgets []
static WindowDesc | _other_group_desc (__FILE__, __LINE__, WDP_AUTO, "list_groups", 460, 246, WC_INVALID, WC_NONE, 0, std::begin(_nested_group_widgets), std::end(_nested_group_widgets))
static WindowDesc | _train_group_desc (__FILE__, __LINE__, WDP_AUTO, "list_groups_train", 525, 246, WC_TRAINS_LIST, WC_NONE, 0, std::begin(_nested_group_widgets), std::end(_nested_group_widgets))

## Detailed Description

GUI for the group window.

Definition in file group_gui.cpp.

## Function Documentation

## ◆ CcAddVehicleNewGroup()

void CcAddVehicleNewGroup | ( | Commands | ,
|  | const CommandCost & | result,
|  | GroupID | new_group,
|  | GroupID | ,
|  | VehicleID | ,
|  | bool | ,
|  | const VehicleListIdentifier & |
| ) |  |

Open rename window after adding a vehicle to a new group via drag and drop.

Parameters

  result | Did command succeed?
  new_group | ID of the created group.

Definition at line 1189 of file group_gui.cpp.

## ◆ CcCreateGroup() [1/2]

void CcCreateGroup | ( | Commands | ,
|  | const CommandCost & | result,
|  | GroupID | new_group,
|  | VehicleType | vt,
|  | GroupID |
| ) |  |

Opens a 'Rename group' window for newly created group.

Parameters

  result | Did command succeed?
  new_group | ID of the created group.
  vt | Vehicle type.

See also
  CmdCreateGroup

Definition at line 1176 of file group_gui.cpp.

## ◆ CcCreateGroup() [2/2]

static void CcCreateGroup | ( | GroupID | gid,
|  | VehicleType | veh_type
| ) |  |
| static

Opens a 'Rename group' window for newly created group.

Parameters

  veh_type | Vehicle type.

Definition at line 1163 of file group_gui.cpp.

References _current_company, and FindVehicleGroupWindow().

## ◆ DeleteGroupHighlightOfVehicle()

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

Removes the highlight of a vehicle in a group window.

Parameters

  *v | Vehicle to remove all highlights from

Definition at line 1201 of file group_gui.cpp.

References _special_mouse_mode, FindVehicleGroupWindow(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, Vehicle::owner, BaseVehicle::type, VehicleGroupWindow::UnselectVehicle(), and WSM_DRAGDROP.

## ◆ FindVehicleGroupWindow()

static VehicleGroupWindow* FindVehicleGroupWindow | ( | VehicleType | vt,
|  | Owner | owner
| ) |  |
| inlinestatic

Finds a group list window determined by vehicle type and owner.

Parameters

  vt | vehicle type
  owner | owner of groups

Returns
  pointer to VehicleGroupWindow, nullptr if not found

Definition at line 1154 of file group_gui.cpp.

References FindWindowById(), and GetWindowClassForVehicleType().

Referenced by CcCreateGroup(), and DeleteGroupHighlightOfVehicle().

## ◆ ShowCompanyGroup()

void ShowCompanyGroup | ( | CompanyID | company,
|  | VehicleType | vehicle_type,
|  | GroupID | group = `INVALID_GROUP`,
|  | bool | need_existing_window = `false`
| ) |  |

Show the group window for the given company and vehicle type.

Parameters

  company | The company to show the window for.
  vehicle_type | The type of vehicle to show it for.
  group | The group to be selected. Defaults to INVALID_GROUP.
  need_existing_window | Whether the existing window is needed. Defaults to false.

Definition at line 1124 of file group_gui.cpp.

References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID().

Referenced by ShowCompanyGroupForVehicle().

## ◆ ShowCompanyGroupForVehicle()

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

Show the group window for the given vehicle.

Parameters

  v | The vehicle to show the window for.

Definition at line 1143 of file group_gui.cpp.

References Vehicle::group_id, Vehicle::owner, ShowCompanyGroup(), and BaseVehicle::type.