1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-17 20:13:07 +01:00
Files
OpenRCT2/src/openrct2-ui/scripting/CustomWindow.h
Ted John 007a33404e Close plugin's windows gracefully when stopped
When a plugin is stopped, close all windows created by that plugin.
Ensure the close event on the window can not open a new window if the plugin is being stopped.
2022-02-17 20:18:30 +00:00

43 lines
2.0 KiB
C++

/*****************************************************************************
* Copyright (c) 2014-2020 OpenRCT2 developers
*
* For a complete list of all authors, please refer to contributors.md
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
*
* OpenRCT2 is licensed under the GNU General Public License version 3.
*****************************************************************************/
#pragma once
#ifdef ENABLE_SCRIPTING
# include "../interface/Window.h"
# include <optional>
# include <string_view>
namespace OpenRCT2::Ui::Windows
{
class CustomListView;
std::string GetWindowTitle(rct_window* w);
void UpdateWindowTitle(rct_window* w, std::string_view value);
void UpdateWidgetText(rct_window* w, rct_widgetindex widget, std::string_view string_view);
void UpdateWidgetItems(rct_window* w, rct_widgetindex widgetIndex, const std::vector<std::string>& items);
void UpdateWidgetColour(rct_window* w, rct_widgetindex widgetIndex, colour_t colour);
void UpdateWidgetSelectedIndex(rct_window* w, rct_widgetindex widgetIndex, int32_t selectedIndex);
std::vector<std::string> GetWidgetItems(rct_window* w, rct_widgetindex widgetIndex);
colour_t GetWidgetColour(rct_window* w, rct_widgetindex widgetIndex);
int32_t GetWidgetSelectedIndex(rct_window* w, rct_widgetindex widgetIndex);
rct_window* FindCustomWindowByClassification(std::string_view classification);
std::optional<rct_widgetindex> FindWidgetIndexByName(rct_window* w, std::string_view name);
std::string GetWidgetName(rct_window* w, rct_widgetindex widgetIndex);
void SetWidgetName(rct_window* w, rct_widgetindex widgetIndex, std::string_view name);
CustomListView* GetCustomListView(rct_window* w, rct_widgetindex widgetIndex);
int32_t GetWidgetMaxLength(rct_window* w, rct_widgetindex widgetIndex);
void SetWidgetMaxLength(rct_window* w, rct_widgetindex widgetIndex, int32_t value);
void CloseWindowsOwnedByPlugin(std::shared_ptr<Plugin> plugin);
} // namespace OpenRCT2::Ui::Windows
#endif