OpenTTD Source  20240919-master-gdf0233f4c2
group_gui.h
Go to the documentation of this file.
1 /*
2  * This file is part of OpenTTD.
3  * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4  * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5  * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
6  */
7 
10 #ifndef GROUP_GUI_H
11 #define GROUP_GUI_H
12 
13 #include "company_type.h"
14 #include "vehicle_type.h"
15 
16 void ShowCompanyGroup(CompanyID company, VehicleType veh, GroupID group = INVALID_GROUP, bool need_existing_window = false);
17 void ShowCompanyGroupForVehicle(const Vehicle *v);
19 
21  const Group *group;
22  uint8_t indent;
23  uint16_t level_mask;
24 
25  constexpr GUIGroupListItem(const Group *group, int8_t indent) : group(group), indent(indent), level_mask(0) {}
26 };
27 
29 
30 void BuildGuiGroupList(GUIGroupList &dst, bool fold, Owner owner, VehicleType veh_type);
31 
32 #endif /* GROUP_GUI_H */
GUIList< GUIGroupListItem >
Owner
Owner
Enum for all companies/owners.
Definition: company_type.h:18
BuildGuiGroupList
void BuildGuiGroupList(GUIGroupList &dst, bool fold, Owner owner, VehicleType veh_type)
Build GUI group list, a sorted hierarchical list of groups for owner and vehicle type.
Definition: group_gui.cpp:156
Vehicle
Vehicle data structure.
Definition: vehicle_base.h:244
GUIGroupListItem::level_mask
uint16_t level_mask
Bitmask of indentation continuation.
Definition: group_gui.h:23
Group
Group data.
Definition: group.h:72
INVALID_GROUP
static const GroupID INVALID_GROUP
Sentinel for invalid groups.
Definition: group_type.h:18
vehicle_type.h
GUIGroupListItem::indent
uint8_t indent
Display indentation level.
Definition: group_gui.h:22
DeleteGroupHighlightOfVehicle
void DeleteGroupHighlightOfVehicle(const Vehicle *v)
Removes the highlight of a vehicle in a group window.
Definition: group_gui.cpp:1243
ShowCompanyGroupForVehicle
void ShowCompanyGroupForVehicle(const Vehicle *v)
Show the group window for the given vehicle.
Definition: group_gui.cpp:1185
GroupID
uint16_t GroupID
Type for all group identifiers.
Definition: group_type.h:13
ShowCompanyGroup
void ShowCompanyGroup(CompanyID company, VehicleType veh, GroupID group=INVALID_GROUP, bool need_existing_window=false)
Show the group window for the given company and vehicle type.
Definition: group_gui.cpp:1166
VehicleType
VehicleType
Available vehicle types.
Definition: vehicle_type.h:21
company_type.h
GUIGroupListItem
Definition: group_gui.h:20