OpenTTD Source  20241121-master-g67a0fccfad
network_content_gui.cpp File Reference

Implementation of the Network Content related GUIs. More...

#include "../stdafx.h"
#include "../strings_func.h"
#include "../gfx_func.h"
#include "../window_func.h"
#include "../error.h"
#include "../ai/ai.hpp"
#include "../game/game.hpp"
#include "../base_media_base.h"
#include "../openttd.h"
#include "../sortlist_type.h"
#include "../stringfilter_type.h"
#include "../querystring_gui.h"
#include "../core/geometry_func.hpp"
#include "../textfile_gui.h"
#include "../fios.h"
#include "network_content_gui.h"
#include "table/strings.h"
#include "../table/sprites.h"
#include <bitset>
#include "../safeguards.h"

Go to the source code of this file.

Data Structures

struct  ContentTextfileWindow
 Window for displaying the textfile of an item in the content list. More...
 
struct  NetworkContentDownloadStatusWindow
 Window for showing the download status of content. More...
 
struct  ContentListFilterData
 Filter data for NetworkContentListWindow. More...
 
class  NetworkContentListWindow
 Window that lists the content that's at the content server. More...
 

Enumerations

enum  ContentListFilterCriteria { CONTENT_FILTER_TEXT = 0 , CONTENT_FILTER_TYPE_OR_SELECTED }
 Filter criteria for NetworkContentListWindow. More...
 

Functions

void ShowContentTextfileWindow (TextfileType file_type, const ContentInfo *ci)
 
void BuildContentTypeStringList ()
 Build array of all strings corresponding to the content types.
 
void ShowNetworkContentListWindow (ContentVector *cv, ContentType type1, ContentType type2)
 Show the content list window with a given set of content. More...
 

Variables

static bool _accepted_external_search = false
 Whether the user accepted to enter external websites during this session.
 
static constexpr NWidgetPart _nested_network_content_download_status_window_widgets []
 Nested widgets for the download window. More...
 
static WindowDesc _network_content_download_status_window_desc (WDP_CENTER, nullptr, 0, 0, WC_NETWORK_STATUS_WINDOW, WC_NONE, WDF_MODAL, _nested_network_content_download_status_window_widgets)
 Window description for the download window.
 
static constexpr NWidgetPart _nested_network_content_list_widgets []
 The widgets for the content list.
 
static WindowDesc _network_content_list_desc (WDP_CENTER, "list_content", 630, 460, WC_NETWORK_WINDOW, WC_NONE, 0, _nested_network_content_list_widgets)
 Window description of the content list.
 

Detailed Description

Implementation of the Network Content related GUIs.

Definition in file network_content_gui.cpp.

Enumeration Type Documentation

◆ ContentListFilterCriteria

Filter criteria for NetworkContentListWindow.

Enumerator
CONTENT_FILTER_TEXT 

Filter by query sting.

CONTENT_FILTER_TYPE_OR_SELECTED 

Filter by being of displayed type or selected for download.

Definition at line 323 of file network_content_gui.cpp.

Function Documentation

◆ ShowNetworkContentListWindow()

void ShowNetworkContentListWindow ( ContentVector cv,
ContentType  type1,
ContentType  type2 
)

Show the content list window with a given set of content.

Parameters
cvthe content to show, or nullptr when it has to search for itself
type1the first type to (only) show or CONTENT_TYPE_END to show all.
type2the second type to (only) show in addition to type1. If type2 is != CONTENT_TYPE_END, then also type1 should be != CONTENT_TYPE_END. If type2 != CONTENT_TYPE_END, then type1 != type2 must be true.

Definition at line 1129 of file network_content_gui.cpp.

References _network_content_client, _network_content_list_desc, ClientNetworkContentSocketHandler::Clear(), CloseWindowById(), CONTENT_TYPE_END, ClientNetworkContentSocketHandler::RequestContentList(), ShowErrorMessage(), WC_NETWORK_WINDOW, WL_ERROR, and WN_NETWORK_WINDOW_CONTENT_LIST.

Referenced by ShowMissingContentWindow().

Variable Documentation

◆ _nested_network_content_download_status_window_widgets

constexpr NWidgetPart _nested_network_content_download_status_window_widgets[]
staticconstexpr
Initial value:
= {
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_CONTENT_DOWNLOAD_TITLE, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_NCDS_PROGRESS_BAR), SetFill(1, 0),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_NCDS_PROGRESS_TEXT), SetFill(1, 0), SetMinimalSize(350, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NCDS_CANCELOK), SetDataTip(STR_BUTTON_CANCEL, STR_NULL), SetFill(1, 0),
}
static const WidgetDimensions unscaled
Unscaled widget dimensions.
Definition: window_gui.h:67
constexpr NWidgetPart SetFill(uint16_t fill_x, uint16_t fill_y)
Widget part function for setting filling.
Definition: widget_type.h:1181
constexpr NWidgetPart SetPIP(uint8_t pre, uint8_t inter, uint8_t post)
Widget part function for setting a pre/inter/post spaces.
Definition: widget_type.h:1260
constexpr NWidgetPart SetPadding(uint8_t top, uint8_t right, uint8_t bottom, uint8_t left)
Widget part function for setting additional space around a widget.
Definition: widget_type.h:1228
constexpr NWidgetPart SetDataTip(uint32_t data, StringID tip)
Widget part function for setting the data and tooltip.
Definition: widget_type.h:1202
constexpr NWidgetPart SetMinimalSize(int16_t x, int16_t y)
Widget part function for setting the minimal size.
Definition: widget_type.h:1137
constexpr NWidgetPart NWidget(WidgetType tp, Colours col, WidgetID idx=-1)
Widget part function for starting a new 'real' widget.
Definition: widget_type.h:1309
constexpr NWidgetPart EndContainer()
Widget part function for denoting the end of a container (horizontal, vertical, WWT_FRAME,...
Definition: widget_type.h:1191
@ WID_NCDS_CANCELOK
(Optional) Cancel/OK button.
@ WID_NCDS_PROGRESS_TEXT
Text explaining what is happening.
@ WID_NCDS_PROGRESS_BAR
Simple progress bar.
@ WWT_PUSHTXTBTN
Normal push-button (no toggle button) with text caption.
Definition: widget_type.h:112
@ WWT_PANEL
Simple depressed panel.
Definition: widget_type.h:50
@ WWT_CAPTION
Window caption (window title between closebox and stickybox)
Definition: widget_type.h:61
@ NWID_VERTICAL
Vertical container.
Definition: widget_type.h:77
@ WWT_EMPTY
Empty widget, place holder to reserve space in widget tree.
Definition: widget_type.h:48

Nested widgets for the download window.

Definition at line 85 of file network_content_gui.cpp.