OpenTTD Source  1.11.0-beta2
network_content_gui.cpp File Reference
#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 "../sortlist_type.h"
#include "../stringfilter_type.h"
#include "../querystring_gui.h"
#include "../core/geometry_func.hpp"
#include "../textfile_gui.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 const 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, lengthof(_nested_network_content_download_status_window_widgets))
 Window description for the download window.
 
static const 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, lengthof(_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 291 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 1137 of file network_content_gui.cpp.

References _network_content_client, _network_content_list_desc, ClientNetworkContentSocketHandler::Clear(), CONTENT_TYPE_END, DeleteWindowById(), 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

const NWidgetPart _nested_network_content_download_status_window_widgets[]
static
Initial value:
= {
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_CONTENT_DOWNLOAD_TITLE, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NCDS_CANCELOK), SetMinimalSize(101, 12), SetDataTip(STR_BUTTON_CANCEL, STR_NULL),
}

Nested widgets for the download window.

Definition at line 81 of file network_content_gui.cpp.

WD_FRAMERECT_TOP
@ WD_FRAMERECT_TOP
Offset at top to draw the frame rectangular area.
Definition: window_gui.h:62
WWT_CAPTION
@ WWT_CAPTION
Window caption (window title between closebox and stickybox)
Definition: widget_type.h:59
NWID_HORIZONTAL
@ NWID_HORIZONTAL
Horizontal container.
Definition: widget_type.h:73
SetDataTip
static NWidgetPart SetDataTip(uint32 data, StringID tip)
Widget part function for setting the data and tooltip.
Definition: widget_type.h:1013
WD_FRAMERECT_BOTTOM
@ WD_FRAMERECT_BOTTOM
Offset at bottom to draw the frame rectangular area.
Definition: window_gui.h:63
WWT_PUSHTXTBTN
@ WWT_PUSHTXTBTN
Normal push-button (no toggle button) with text caption.
Definition: widget_type.h:102
WID_NCDS_BACKGROUND
@ WID_NCDS_BACKGROUND
Background of the window.
Definition: network_content_widget.h:17
EndContainer
static NWidgetPart EndContainer()
Widget part function for denoting the end of a container (horizontal, vertical, WWT_FRAME,...
Definition: widget_type.h:998
NWidget
static NWidgetPart NWidget(WidgetType tp, Colours col, int16 idx=-1)
Widget part function for starting a new 'real' widget.
Definition: widget_type.h:1113
SetMinimalSize
static NWidgetPart SetMinimalSize(int16 x, int16 y)
Widget part function for setting the minimal size.
Definition: widget_type.h:946
WWT_PANEL
@ WWT_PANEL
Simple depressed panel.
Definition: widget_type.h:48
NWID_SPACER
@ NWID_SPACER
Invisible widget that takes some space.
Definition: widget_type.h:77
WID_NCDS_CANCELOK
@ WID_NCDS_CANCELOK
(Optional) Cancel/OK button.
Definition: network_content_widget.h:18
SetFill
static NWidgetPart SetFill(uint fill_x, uint fill_y)
Widget part function for setting filling.
Definition: widget_type.h:982
SetMinimalTextLines
static NWidgetPart SetMinimalTextLines(uint8 lines, uint8 spacing, FontSize size=FS_NORMAL)
Widget part function for setting the minimal text lines.
Definition: widget_type.h:964