Add utility methods to Theme, improve error messages and documentation #47251
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds several utility methods that can be used to replace a lot of boilerplate code mentioned in #46593 (comment). While mostly useful internally, users can find them handy as well, especially plugin developers. So I've exposed them.
This PR also includes all theme additions from #46593 and #46808, so that they can be tested and merged separately (and those PRs can then be rebased).
This should be portable to
3.x
, likely even cherrypickable.get_font_size_type_list()
method.rename_X()
methods for renaming theme items.add_X_type()
method for creating empty theme item types; these methods are not exposed to the API to prevent confusion from users thinking calling them is necessary, when in fact allset_X
methods implicitly create types.DataType
enum andVERB_theme_item_X()
methods to perform all the same tasks as are available for individual item types but without hardcoding all the function names.