Dalamud/Dalamud/Interface/Internal
GrittyFrog ae777000e2 Plugin-registerable self tests
The goal of this change is to let plugins register their own self-tests. 

We do this through the `ISelfTestRegistry` interface. For a plugin it
would look like this:

```csharp
[PluginService]
public ISelfTestRegistry SelfTestRegistry

// Somewhere that gets called by your plugin
SelfTestRegistry.RegisterTestSteps([
  new MySelfTestStep(),
  new MyOtherSelfTestStep()
])
```

Where `MySelfTest` and `MyOtherSelfTest` are instances of
the existing `ISelfTestStep` interface.

The biggest changes are to `SelfTestWindow` and the introduction of
`SelfTestWithResults`. I wanted to make sure test state wasn't lost when
changing the dropdown state and I was finding it a bit annoying to work
with the Dictionary now that we can't just rely on the index of the
item.

To fix this I moved all the "test run" state into `SelfTestWithResults`,
most of the changes to `SelfTestWindow` are derived from that, other
then the addition of the combo box.

The documentation for this service is a bit sparse, but I wanted to put
it up for review first before I invest a bunch of time making nice
documentation. 

I'm keen to hear if we think this is useful or if any changes are
needed.
2025-10-13 19:04:08 +11:00
..
Asserts Remove most hand-authored native functions 2025-04-12 22:20:55 +02:00
DesignSystem Update text-related ImGui calls (#2337) 2025-08-04 15:46:43 -07:00
ReShadeHandling write code 2024-07-25 21:07:49 +09:00
UiDebug2 Update text-related ImGui calls (#2337) 2025-08-04 15:46:43 -07:00
Windows Plugin-registerable self tests 2025-10-13 19:04:08 +11:00
DalamudCommands.cs merge 2025-06-22 21:39:38 +02:00
DalamudIme.cs Work around ActiveIdUsingKeyInputMask having a wrong type 2025-08-09 08:23:37 +09:00
DalamudInterface.cs Fix ImGui.MenuItem calls (again) (#2358) 2025-08-08 15:32:55 -07:00
ImGuiClipboardFunctionProvider.cs Fix some warnings 2025-04-08 22:21:04 +02:00
ImGuiInputTextStatePtrExtensions.cs Temporarily fix IME 2025-08-07 13:45:42 +09:00
InterfaceManager.AsHook.cs Merge remote-tracking branch 'upstream/master' into imguiscene-inside 2024-07-27 23:38:12 +09:00
InterfaceManager.AsReShadeAddon.cs Merge remote-tracking branch 'upstream/master' into imguiscene-inside 2024-07-27 23:38:12 +09:00
InterfaceManager.cs Reduce usage of exceptions from Boot (#2373) 2025-08-15 00:02:32 -07:00
PluginCategoryManager.cs pi: add "hidden" tab if there are any hidden plugins 2024-07-20 02:17:27 +02:00
StaThreadService.cs Implement DrawListTextureWrap (#2036) 2025-05-09 22:47:42 +02:00
SwapChainHelper.cs Change ReShade related detections (#1965) 2024-07-24 19:52:57 +02:00
UiDebug.cs fix: cs bump breaks 2025-08-05 23:32:58 -07:00