* Move WindowInvalidate and WidgetInvalidate families into WindowManager
* Use InvalidateWidget shorthand in more places
* Cut back on UiContext includes
* Cut back on Window.h includes
* Remove outdated parameter comments
* Replace WindowClose() calls with Close method calls where possible
* Move WindowClose family into WindowManager
* Remove UpdateSceneryGroupIndexes hack
* 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>
* Replace more StringIds.h includes with StringIdType.h
* Move a few more strings to UiStringIds.h
* Tweak: TextComposition.cpp does not need InteractiveConsole.h
* Part of #21421: refactor TUNNEL_MAX_COUNT
* Part of #21421: deleted unused OBJECT_SELECTION_NOT_...
* Part of #21421: refactor MAX_SERVER_DESCRIPTION_LENGTH
* Part of #21421: refactor EXPENDITURE_TABLE_MONTH_COUNT
* Part of #21421: refactor FINANCE_GRAPH_SIZE
* Part of #21421: refactor NETWORK_STREAM_VERSION and _ID
* Part of #21421: MONEY_STRING_MAXLENGTH
* Part of #21421: deleted MAX_USER_STRINGS
* Part of #21421: refactor USER_STRING_MAX_LENGTH
* Part of #21421: deleted USER_STRING_END
* Part of #21421: refactor REAL_NAME_START
* Part of #21421: refactor REAL_NAME_END
* Part of #21421: deleted FONT(X) and FONT_OPENRCT2_SPRITE
* Part of #21421: refactor CURRENCY_SYMBOL_MAX_SIZE
* Part of #21421: refactor CURRENCY_RATE_MAX_NUM_DIGITS
* Part of #21421: refactor SCROLLABLE_ROW_HEIGHT
* Part of #21421: refactor ADD_CLAMP_BODY
* Part of #21421: applied clang-format to Util.cpp
* Part of #21421: incorporate feedback from #21760
* Part of #21421: revert to nbsp in Currency.cpp
* Part of #21421: fix merge conflict
* Part of #21421: fix more merge conflict
* Part of #21421: apply clang format
* Part of #21421: using std::numerics for finding bounds
* Part of #21421: fix reference to kAddClampBody
* Part of #21421: improved on comments about AddClamp func
* Part of #21421: apply correct network stream version number
* Part of #21421: apply clang-format
* 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>
* Split off path addition paint calls
* Replace occurences of “path bit” with “path addition”
* Replace occurences of “footpath item“ with “path addition”
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.