Add debugger window

This commit is contained in:
Infi
2024-04-29 19:21:17 +02:00
parent 8e006f8ab5
commit 036bcec1e7
4 changed files with 53 additions and 2 deletions
+3
View File
@@ -49,6 +49,7 @@ public sealed class Plugin : IDalamudPlugin
public ChatLogWindow ChatLogWindow { get; }
public CommandHelpWindow CommandHelpWindow { get; }
public SeStringDebugger SeStringDebugger { get; }
public DebuggerWindow DebuggerWindow { get; }
internal LegacyMessageImporterWindow LegacyMessageImporterWindow { get; }
internal Configuration Config { get; }
@@ -94,11 +95,13 @@ public sealed class Plugin : IDalamudPlugin
SettingsWindow = new SettingsWindow(this);
CommandHelpWindow = new CommandHelpWindow(ChatLogWindow);
SeStringDebugger = new SeStringDebugger(this);
DebuggerWindow = new DebuggerWindow(this);
WindowSystem.AddWindow(ChatLogWindow);
WindowSystem.AddWindow(SettingsWindow);
WindowSystem.AddWindow(CommandHelpWindow);
WindowSystem.AddWindow(SeStringDebugger);
WindowSystem.AddWindow(DebuggerWindow);
FontManager.BuildFonts();
Interface.UiBuilder.DisableCutsceneUiHide = true;
+4
View File
@@ -66,6 +66,8 @@ public sealed class ChatLogWindow : Window
private int AutoCompleteSelection;
private bool AutoCompleteShouldScroll;
public int CursorPos;
public Vector2 LastWindowPos { get; private set; } = Vector2.Zero;
public Vector2 LastWindowSize { get; private set; } = Vector2.Zero;
@@ -1341,6 +1343,8 @@ public sealed class ChatLogWindow : Window
}
var ptr = new ImGuiInputTextCallbackDataPtr(data);
CursorPos = ptr.CursorPos;
if (data->EventFlag == ImGuiInputTextFlags.CallbackCompletion)
{
if (ptr.CursorPos == 0)
+44
View File
@@ -0,0 +1,44 @@
using System.Numerics;
using Dalamud.Interface.Windowing;
using ImGuiNET;
namespace ChatTwo.Ui;
public class DebuggerWindow : Window
{
private readonly Plugin Plugin;
private readonly ChatLogWindow ChatLogWindow;
public DebuggerWindow(Plugin plugin) : base($"Debugger###chat2-debugger")
{
Plugin = plugin;
ChatLogWindow = plugin.ChatLogWindow;
SizeConstraints = new WindowSizeConstraints
{
MinimumSize = new Vector2(475, 600),
MaximumSize = new Vector2(float.MaxValue, float.MaxValue)
};
RespectCloseHotkey = false;
DisableWindowSounds = true;
#if DEBUG
Plugin.Commands.Register("/chat2Debugger").Execute += Toggle;
#endif
}
public void Dispose()
{
#if DEBUG
Plugin.Commands.Register("/chat2Debugger").Execute -= Toggle;
#endif
}
private void Toggle(string _, string __) => Toggle();
public override void Draw()
{
ImGui.TextUnformatted($"Current Cursor Pos: {ChatLogWindow.CursorPos}");
}
}
+2 -2
View File
@@ -27,14 +27,14 @@ public class SeStringDebugger : Window
DisableWindowSounds = true;
#if DEBUG
Plugin.Commands.Register("/chat2Debugger").Execute += Toggle;
Plugin.Commands.Register("/chat2SeString").Execute += Toggle;
#endif
}
public void Dispose()
{
#if DEBUG
Plugin.Commands.Register("/chat2Debugger").Execute -= Toggle;
Plugin.Commands.Register("/chat2SeString").Execute -= Toggle;
#endif
}