2020-02-15 00:36:24 +01:00
|
|
|
/*****************************************************************************
|
2020-04-22 17:06:29 +02:00
|
|
|
* Copyright (c) 2014-2020 OpenRCT2 developers
|
2020-02-15 00:36:24 +01:00
|
|
|
*
|
|
|
|
* 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.
|
|
|
|
*****************************************************************************/
|
|
|
|
|
2020-02-23 16:33:01 +01:00
|
|
|
#pragma once
|
2020-02-15 00:36:24 +01:00
|
|
|
|
2020-04-24 16:58:01 +02:00
|
|
|
#ifdef ENABLE_SCRIPTING
|
2020-02-23 16:33:01 +01:00
|
|
|
|
|
|
|
# include "../interface/Window.h"
|
|
|
|
|
2022-07-29 18:45:10 +02:00
|
|
|
# include <memory>
|
2020-02-23 16:33:01 +01:00
|
|
|
# include <optional>
|
|
|
|
# include <string_view>
|
2020-02-15 00:36:24 +01:00
|
|
|
|
|
|
|
namespace OpenRCT2::Ui::Windows
|
|
|
|
{
|
2020-05-06 21:39:57 +02:00
|
|
|
class CustomListView;
|
|
|
|
|
2020-02-27 23:13:49 +01:00
|
|
|
std::string GetWindowTitle(rct_window* w);
|
2021-01-06 17:22:22 +01:00
|
|
|
void UpdateWindowTitle(rct_window* w, std::string_view value);
|
|
|
|
void UpdateWidgetText(rct_window* w, rct_widgetindex widget, std::string_view string_view);
|
2020-05-13 02:10:07 +02:00
|
|
|
void UpdateWidgetItems(rct_window* w, rct_widgetindex widgetIndex, const std::vector<std::string>& items);
|
2020-12-02 01:21:33 +01:00
|
|
|
void UpdateWidgetColour(rct_window* w, rct_widgetindex widgetIndex, colour_t colour);
|
2020-05-13 02:10:07 +02:00
|
|
|
void UpdateWidgetSelectedIndex(rct_window* w, rct_widgetindex widgetIndex, int32_t selectedIndex);
|
|
|
|
std::vector<std::string> GetWidgetItems(rct_window* w, rct_widgetindex widgetIndex);
|
2020-12-02 01:21:33 +01:00
|
|
|
colour_t GetWidgetColour(rct_window* w, rct_widgetindex widgetIndex);
|
2020-05-13 02:10:07 +02:00
|
|
|
int32_t GetWidgetSelectedIndex(rct_window* w, rct_widgetindex widgetIndex);
|
2021-01-06 17:22:22 +01:00
|
|
|
rct_window* FindCustomWindowByClassification(std::string_view classification);
|
|
|
|
std::optional<rct_widgetindex> FindWidgetIndexByName(rct_window* w, std::string_view name);
|
2020-05-06 23:46:03 +02:00
|
|
|
std::string GetWidgetName(rct_window* w, rct_widgetindex widgetIndex);
|
2021-01-06 17:22:22 +01:00
|
|
|
void SetWidgetName(rct_window* w, rct_widgetindex widgetIndex, std::string_view name);
|
2020-05-06 21:39:57 +02:00
|
|
|
CustomListView* GetCustomListView(rct_window* w, rct_widgetindex widgetIndex);
|
2021-01-23 15:28:07 +01:00
|
|
|
int32_t GetWidgetMaxLength(rct_window* w, rct_widgetindex widgetIndex);
|
|
|
|
void SetWidgetMaxLength(rct_window* w, rct_widgetindex widgetIndex, int32_t value);
|
2022-02-15 21:26:37 +01:00
|
|
|
void CloseWindowsOwnedByPlugin(std::shared_ptr<Plugin> plugin);
|
2020-02-22 14:29:18 +01:00
|
|
|
} // namespace OpenRCT2::Ui::Windows
|
2020-02-23 16:33:01 +01:00
|
|
|
|
|
|
|
#endif
|