* Refactor windows to not share widget state
* First half of refactoring all the windows
* Refactor the remaining windows, compiles but has issues
* Fix drawing only every second widget
* Remove the need of an terminating widget
* Address WidgetIndex signedness issues; use kWidgetIndexNull more
* Address constexpr issue with Widget content union
* Fix tabs in scenery window
* Fix tabs in object selection window
* Adjust custom widget index for CustomTool events
* Use STR_NONE for default tooltip initialisation
* Adjustment for mingw compiler
* Fix bottom toolbar using the widget declaration not instance
* Remove pointless code in Guest window, handled by SetPage
* Prevent out of bounds crash
* Move scroll widgets initialization to SetPage in Cheats window
* Remove special logic in Options window
* Remove special logic in Park window
* Remove special logic for Player window
* Remove special logic for Research window
* Remove special logic for Ride window
* Remove special logic for Staff window
* Remove special logic for Finances window
* Remove special logic for MapGen window
* Remove special logic for editor objective options window
* Remove special logic for editor scenario options window
* Fix widgets not being set since page is initialized to 0
* Remove more redundant code
* Fix remaining access to widget declarations
* Remove unused variable
* Fix editor object selection tabs on successive windows
---------
Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
* Close#21569: Remove 'Window' from Window Open function names
Windows are all under the OpenRCT2::Ui::Windows namespace. As such, "Window" is removed from the Open functions names.
* Update Contributors.md
* Fix formatting TrackMangeOpen
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
* Fix formatting TrackPlaceOpen
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
---------
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
This already revealed some places where implicit conversions were done, including some where its use was nonsense (MouseInput.cpp).
The changes to the Intent class were necessary to keep things working, and this splits things up more neatly.
`enabled_widgets` was used to enable input for widgets. However I do not recall anywhere this being used to specifically disable a widget which doesn't use the dedicated `disabled_widgets` flag. I don't think there is any purpose in keeping this, so I have removed all uses of it.
* Add NOLINT around STL using classes and vendor functions
* Apply clang-tidy to ui project function names
* Undo scripting clang-format
* Upper case OpenRCT2 and RCT2
* Make MakeWidget* functions take enum colour
* Make windows A-D use WindowColour enum
* Make windows E-G use WindowColour enum
* Make windows I-M use WindowColour enum
* Make windows N-P use WindowColour enum
* Make windows R-S use WindowColour enum
* Make windows T use WindowColour enum
* Make windows V-W use WindowColour enum
* Use MakeWidget for windows/Tooltip.cpp
* Use MakeWidget for windows/TitleScenarioSelect.cpp
* Use MakeWidget for windows/TitleMenu.cpp
* Use MakeWidget for windows/TitleExit.cpp
* Use MakeWidget for windows/TitleLogo.cpp
* Clarify initial size of TitleMenu buttons
* Use ScreenCoordsXY for window_create function
* Use ScreenCoordsXY for window_find_from_point function
* Use ScreenCoordsXY for window_find_widget_from_point
* Use ScreenCoordsXY for ride_contruction_tool*
* Use ScreenCoordsXY for window_event_tool*
* Use ScreenCoordsXY for window_event_scroll_mouse*
* Use ScreenCoordsXY for remaining window_event*
* Use ScreenCoordsXY for window_(set|move)_position
Previously when the arguments of a function wouldn't fit on a single line, clang-format would put each argument on its own line instead. By enabling the binpack parameter setting, it tried to fit as many on one line as possible instead.
Co-authored-by: Hielke Morsink <hielke.morsink@gmail.com>