Even MORE debug power for imgui #83024
Draft
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.
Summary
None
Purpose of change
Recently I've been testing some really silly imgui stuff, which has required repeatedly setting/unsetting flags.
I copied off the imgui demo for a checkbox, but I stepped back and thought "why do I need to re-implement my checkbox every time I'm playing with one of imgui's default widgets?"
Describe the solution
Setup some generic globally-accessible/includable debug functions
Implement a cataimgui::BeginTable() alias for ImGui::BeginTable() so we can inject debug flags
add a generic set of flag checkboxes that can be inserted into imgui windows to tune behavior (gated behind debug mode so they can be safely inserted anywhere)
Move the default cataimgui::window flags to be governed by the debug settings so future imgui windows can be rapidly prototyped
(Not done) Add a simple dedicated window to access the flag settings
(Not done) Move more imgui default widgets to aliases and audit all existing calls to them
Describe alternatives you've considered
Testing
It's for debug! Testing is all I do!
Additional context
As we move to more and more windows having been ported to imgui some of these options (controlling the default window flags) may need to be removed or made more specific. But until then they should be used as much as possible