mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 18:27:23 +01:00
Data Window ui rework (#1376)
This commit is contained in:
parent
08fd4434ea
commit
452cf7813f
34 changed files with 257 additions and 276 deletions
|
|
@ -1,163 +0,0 @@
|
|||
// ReSharper disable InconsistentNaming // Naming is suppressed so we can replace '_' with ' '
|
||||
namespace Dalamud.Interface.Internal.Windows;
|
||||
|
||||
/// <summary>
|
||||
/// Enum representing a DataKind for the Data Window.
|
||||
/// </summary>
|
||||
internal enum DataKind
|
||||
{
|
||||
/// <summary>
|
||||
/// Server Opcode Display.
|
||||
/// </summary>
|
||||
Server_OpCode,
|
||||
|
||||
/// <summary>
|
||||
/// Address.
|
||||
/// </summary>
|
||||
Address,
|
||||
|
||||
/// <summary>
|
||||
/// Object Table.
|
||||
/// </summary>
|
||||
Object_Table,
|
||||
|
||||
/// <summary>
|
||||
/// Fate Table.
|
||||
/// </summary>
|
||||
Fate_Table,
|
||||
|
||||
/// <summary>
|
||||
/// SE Font Test.
|
||||
/// </summary>
|
||||
SE_Font_Test,
|
||||
|
||||
/// <summary>
|
||||
/// FontAwesome Test.
|
||||
/// </summary>
|
||||
FontAwesome_Test,
|
||||
|
||||
/// <summary>
|
||||
/// Party List.
|
||||
/// </summary>
|
||||
Party_List,
|
||||
|
||||
/// <summary>
|
||||
/// Buddy List.
|
||||
/// </summary>
|
||||
Buddy_List,
|
||||
|
||||
/// <summary>
|
||||
/// Plugin IPC Test.
|
||||
/// </summary>
|
||||
Plugin_IPC,
|
||||
|
||||
/// <summary>
|
||||
/// Player Condition.
|
||||
/// </summary>
|
||||
Condition,
|
||||
|
||||
/// <summary>
|
||||
/// Gauge.
|
||||
/// </summary>
|
||||
Gauge,
|
||||
|
||||
/// <summary>
|
||||
/// Command.
|
||||
/// </summary>
|
||||
Command,
|
||||
|
||||
/// <summary>
|
||||
/// Addon.
|
||||
/// </summary>
|
||||
Addon,
|
||||
|
||||
/// <summary>
|
||||
/// Addon Inspector.
|
||||
/// </summary>
|
||||
Addon_Inspector,
|
||||
|
||||
/// <summary>
|
||||
/// AtkArrayData Browser.
|
||||
/// </summary>
|
||||
AtkArrayData_Browser,
|
||||
|
||||
/// <summary>
|
||||
/// StartInfo.
|
||||
/// </summary>
|
||||
StartInfo,
|
||||
|
||||
/// <summary>
|
||||
/// Target.
|
||||
/// </summary>
|
||||
Target,
|
||||
|
||||
/// <summary>
|
||||
/// Toast.
|
||||
/// </summary>
|
||||
Toast,
|
||||
|
||||
/// <summary>
|
||||
/// Fly Text.
|
||||
/// </summary>
|
||||
FlyText,
|
||||
|
||||
/// <summary>
|
||||
/// ImGui.
|
||||
/// </summary>
|
||||
ImGui,
|
||||
|
||||
/// <summary>
|
||||
/// Tex.
|
||||
/// </summary>
|
||||
Tex,
|
||||
|
||||
/// <summary>
|
||||
/// KeyState.
|
||||
/// </summary>
|
||||
KeyState,
|
||||
|
||||
/// <summary>
|
||||
/// GamePad.
|
||||
/// </summary>
|
||||
Gamepad,
|
||||
|
||||
/// <summary>
|
||||
/// Configuration.
|
||||
/// </summary>
|
||||
Configuration,
|
||||
|
||||
/// <summary>
|
||||
/// Task Scheduler.
|
||||
/// </summary>
|
||||
TaskSched,
|
||||
|
||||
/// <summary>
|
||||
/// Hook.
|
||||
/// </summary>
|
||||
Hook,
|
||||
|
||||
/// <summary>
|
||||
/// Aetherytes.
|
||||
/// </summary>
|
||||
Aetherytes,
|
||||
|
||||
/// <summary>
|
||||
/// DTR Bar.
|
||||
/// </summary>
|
||||
Dtr_Bar,
|
||||
|
||||
/// <summary>
|
||||
/// UIColor.
|
||||
/// </summary>
|
||||
UIColor,
|
||||
|
||||
/// <summary>
|
||||
/// Data Share.
|
||||
/// </summary>
|
||||
Data_Share,
|
||||
|
||||
/// <summary>
|
||||
/// Network Monitor.
|
||||
/// </summary>
|
||||
Network_Monitor,
|
||||
}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
|
||||
|
|
@ -51,26 +50,24 @@ internal class DataWindow : Window
|
|||
new NetworkMonitorWidget(),
|
||||
};
|
||||
|
||||
private readonly Dictionary<DataKind, string> dataKindNames = new();
|
||||
private readonly IOrderedEnumerable<IDataWindowWidget> orderedModules;
|
||||
|
||||
private bool isExcept;
|
||||
private DataKind currentKind;
|
||||
|
||||
private bool selectionCollapsed;
|
||||
private IDataWindowWidget currentWidget;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="DataWindow"/> class.
|
||||
/// </summary>
|
||||
public DataWindow()
|
||||
: base("Dalamud Data")
|
||||
: base("Dalamud Data", ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoScrollWithMouse)
|
||||
{
|
||||
this.Size = new Vector2(500, 500);
|
||||
this.Size = new Vector2(400, 300);
|
||||
this.SizeCondition = ImGuiCond.FirstUseEver;
|
||||
|
||||
this.RespectCloseHotkey = false;
|
||||
|
||||
foreach (var dataKind in Enum.GetValues<DataKind>())
|
||||
{
|
||||
this.dataKindNames[dataKind] = dataKind.ToString().Replace("_", " ");
|
||||
}
|
||||
this.orderedModules = this.modules.OrderBy(module => module.DisplayName);
|
||||
this.currentWidget = this.orderedModules.First();
|
||||
|
||||
this.Load();
|
||||
}
|
||||
|
|
@ -94,24 +91,9 @@ internal class DataWindow : Window
|
|||
if (string.IsNullOrEmpty(dataKind))
|
||||
return;
|
||||
|
||||
dataKind = dataKind switch
|
||||
if (this.modules.FirstOrDefault(module => module.IsWidgetCommand(dataKind)) is { } targetModule)
|
||||
{
|
||||
"ai" => "Addon Inspector",
|
||||
"at" => "Object Table", // Actor Table
|
||||
"ot" => "Object Table",
|
||||
"uic" => "UIColor",
|
||||
_ => dataKind,
|
||||
};
|
||||
|
||||
dataKind = dataKind.Replace(" ", string.Empty).ToLower();
|
||||
|
||||
var matched = Enum
|
||||
.GetValues<DataKind>()
|
||||
.FirstOrDefault(kind => Enum.GetName(kind)?.Replace("_", string.Empty).ToLower() == dataKind);
|
||||
|
||||
if (matched != default)
|
||||
{
|
||||
this.currentKind = matched;
|
||||
this.currentWidget = targetModule;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -124,59 +106,113 @@ internal class DataWindow : Window
|
|||
/// </summary>
|
||||
public override void Draw()
|
||||
{
|
||||
if (ImGuiComponents.IconButton("forceReload", FontAwesomeIcon.Sync)) this.Load();
|
||||
if (ImGui.IsItemHovered()) ImGui.SetTooltip("Force Reload");
|
||||
ImGui.SameLine();
|
||||
var copy = ImGuiComponents.IconButton("copyAll", FontAwesomeIcon.ClipboardList);
|
||||
if (ImGui.IsItemHovered()) ImGui.SetTooltip("Copy All");
|
||||
ImGui.SameLine();
|
||||
|
||||
ImGui.SetNextItemWidth(275.0f * ImGuiHelpers.GlobalScale);
|
||||
if (ImGui.BeginCombo("Data Kind", this.dataKindNames[this.currentKind]))
|
||||
// Only draw the widget contents if the selection pane is collapsed.
|
||||
if (this.selectionCollapsed)
|
||||
{
|
||||
foreach (var module in this.modules.OrderBy(module => this.dataKindNames[module.DataKind]))
|
||||
this.DrawContents();
|
||||
return;
|
||||
}
|
||||
|
||||
if (ImGui.BeginTable("XlData_Table", 2, ImGuiTableFlags.BordersInnerV | ImGuiTableFlags.Resizable))
|
||||
{
|
||||
ImGui.TableSetupColumn("##SelectionColumn", ImGuiTableColumnFlags.WidthFixed, 200.0f * ImGuiHelpers.GlobalScale);
|
||||
ImGui.TableSetupColumn("##ContentsColumn", ImGuiTableColumnFlags.WidthStretch);
|
||||
|
||||
ImGui.TableNextColumn();
|
||||
this.DrawSelection();
|
||||
|
||||
ImGui.TableNextColumn();
|
||||
this.DrawContents();
|
||||
|
||||
ImGui.EndTable();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawSelection()
|
||||
{
|
||||
if (ImGui.BeginChild("XlData_SelectionPane", ImGui.GetContentRegionAvail()))
|
||||
{
|
||||
if (ImGui.BeginListBox("WidgetSelectionListbox", ImGui.GetContentRegionAvail()))
|
||||
{
|
||||
if (ImGui.Selectable(this.dataKindNames[module.DataKind], this.currentKind == module.DataKind))
|
||||
foreach (var widget in this.orderedModules)
|
||||
{
|
||||
this.currentKind = module.DataKind;
|
||||
if (ImGui.Selectable(widget.DisplayName, this.currentWidget == widget))
|
||||
{
|
||||
this.currentWidget = widget;
|
||||
}
|
||||
}
|
||||
|
||||
ImGui.EndListBox();
|
||||
}
|
||||
}
|
||||
|
||||
ImGui.EndChild();
|
||||
}
|
||||
|
||||
private void DrawContents()
|
||||
{
|
||||
if (ImGui.BeginChild("XlData_ContentsPane", ImGui.GetContentRegionAvail()))
|
||||
{
|
||||
if (ImGuiComponents.IconButton("collapse-expand", this.selectionCollapsed ? FontAwesomeIcon.ArrowRight : FontAwesomeIcon.ArrowLeft))
|
||||
{
|
||||
this.selectionCollapsed = !this.selectionCollapsed;
|
||||
}
|
||||
|
||||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
ImGui.SetTooltip($"{(this.selectionCollapsed ? "Expand" : "Collapse")} selection pane");
|
||||
}
|
||||
|
||||
ImGui.SameLine();
|
||||
|
||||
if (ImGuiComponents.IconButton("forceReload", FontAwesomeIcon.Sync))
|
||||
{
|
||||
this.Load();
|
||||
}
|
||||
|
||||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
ImGui.SetTooltip("Force Reload");
|
||||
}
|
||||
|
||||
ImGui.SameLine();
|
||||
|
||||
var copy = ImGuiComponents.IconButton("copyAll", FontAwesomeIcon.ClipboardList);
|
||||
|
||||
ImGuiHelpers.ScaledDummy(10.0f);
|
||||
|
||||
if (ImGui.BeginChild("XlData_WidgetContents", ImGui.GetContentRegionAvail()))
|
||||
{
|
||||
if (copy)
|
||||
ImGui.LogToClipboard();
|
||||
|
||||
try
|
||||
{
|
||||
if (this.currentWidget is { Ready: true })
|
||||
{
|
||||
this.currentWidget.Draw();
|
||||
}
|
||||
else
|
||||
{
|
||||
ImGui.TextUnformatted("Data not ready.");
|
||||
}
|
||||
|
||||
this.isExcept = false;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (!this.isExcept)
|
||||
{
|
||||
Log.Error(ex, "Could not draw data");
|
||||
}
|
||||
|
||||
this.isExcept = true;
|
||||
|
||||
ImGui.TextUnformatted(ex.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
ImGui.EndCombo();
|
||||
}
|
||||
|
||||
ImGuiHelpers.ScaledDummy(10.0f);
|
||||
|
||||
ImGui.BeginChild("scrolling", Vector2.Zero, false, ImGuiWindowFlags.HorizontalScrollbar);
|
||||
|
||||
if (copy)
|
||||
ImGui.LogToClipboard();
|
||||
|
||||
try
|
||||
{
|
||||
var selectedWidget = this.modules.FirstOrDefault(dataWindowWidget => dataWindowWidget.DataKind == this.currentKind);
|
||||
|
||||
if (selectedWidget is { Ready: true })
|
||||
{
|
||||
selectedWidget.Draw();
|
||||
}
|
||||
else
|
||||
{
|
||||
ImGui.TextUnformatted("Data not ready.");
|
||||
}
|
||||
|
||||
this.isExcept = false;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (!this.isExcept)
|
||||
{
|
||||
Log.Error(ex, "Could not draw data");
|
||||
}
|
||||
|
||||
this.isExcept = true;
|
||||
|
||||
ImGui.TextUnformatted(ex.ToString());
|
||||
ImGui.EndChild();
|
||||
}
|
||||
|
||||
ImGui.EndChild();
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
namespace Dalamud.Interface.Internal.Windows;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace Dalamud.Interface.Internal.Windows;
|
||||
|
||||
/// <summary>
|
||||
/// Class representing a date window entry.
|
||||
|
|
@ -6,9 +9,14 @@
|
|||
internal interface IDataWindowWidget
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the Data Kind for this data window module.
|
||||
/// Gets the command strings that can be used to open the data window directly to this module.
|
||||
/// </summary>
|
||||
DataKind DataKind { get; init; }
|
||||
string[]? CommandShortcuts { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the display name for this module.
|
||||
/// </summary>
|
||||
string DisplayName { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether this data window module is ready.
|
||||
|
|
@ -24,4 +32,11 @@ internal interface IDataWindowWidget
|
|||
/// Draws this data window module.
|
||||
/// </summary>
|
||||
void Draw();
|
||||
|
||||
/// <summary>
|
||||
/// Helper method to check if this widget should be activated by the input command.
|
||||
/// </summary>
|
||||
/// <param name="command">The command being run.</param>
|
||||
/// <returns>true if this module should be activated by the input command.</returns>
|
||||
bool IsWidgetCommand(string command) => this.CommandShortcuts?.Any(shortcut => string.Equals(shortcut, command, StringComparison.InvariantCultureIgnoreCase)) ?? false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,10 @@ internal class AddonInspectorWidget : IDataWindowWidget
|
|||
private UiDebug? addonInspector;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Addon_Inspector;
|
||||
public string[]? CommandShortcuts { get; init; } = { "ai", "addoninspector" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Addon Inspector";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -15,7 +15,10 @@ internal unsafe class AddonWidget : IDataWindowWidget
|
|||
private nint findAgentInterfacePtr;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Addon;
|
||||
public string DisplayName { get; init; } = "Addon";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string[]? CommandShortcuts { get; init; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -14,7 +14,10 @@ internal class AddressesWidget : IDataWindowWidget
|
|||
private nint sigResult = nint.Zero;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Address;
|
||||
public string[]? CommandShortcuts { get; init; } = { "address" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Addresses";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -9,10 +9,13 @@ namespace Dalamud.Interface.Internal.Windows.Data;
|
|||
internal class AetherytesWidget : IDataWindowWidget
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Aetherytes;
|
||||
public bool Ready { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
public string[]? CommandShortcuts { get; init; } = { "aetherytes" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Aetherytes";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public void Load()
|
||||
|
|
|
|||
|
|
@ -12,10 +12,13 @@ namespace Dalamud.Interface.Internal.Windows.Data;
|
|||
internal unsafe class AtkArrayDataBrowserWidget : IDataWindowWidget
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.AtkArrayData_Browser;
|
||||
public bool Ready { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
public string[]? CommandShortcuts { get; init; } = { "atkarray" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Atk Array Data";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public void Load()
|
||||
|
|
|
|||
|
|
@ -12,10 +12,13 @@ internal class BuddyListWidget : IDataWindowWidget
|
|||
private bool resolveGameData;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Buddy_List;
|
||||
public bool Ready { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
public string[]? CommandShortcuts { get; init; } = { "buddy", "buddylist" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Buddy List";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public void Load()
|
||||
|
|
|
|||
|
|
@ -9,7 +9,10 @@ namespace Dalamud.Interface.Internal.Windows.Data;
|
|||
internal class CommandWidget : IDataWindowWidget
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Command;
|
||||
public string[]? CommandShortcuts { get; init; } = { "command" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Command";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -9,10 +9,13 @@ namespace Dalamud.Interface.Internal.Windows.Data;
|
|||
internal class ConditionWidget : IDataWindowWidget
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Condition;
|
||||
public bool Ready { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
public string[]? CommandShortcuts { get; init; } = { "condition" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Condition";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public void Load()
|
||||
|
|
|
|||
|
|
@ -9,7 +9,10 @@ namespace Dalamud.Interface.Internal.Windows.Data;
|
|||
internal class ConfigurationWidget : IDataWindowWidget
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Configuration;
|
||||
public string[]? CommandShortcuts { get; init; } = { "config", "configuration" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Configuration";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -9,7 +9,10 @@ namespace Dalamud.Interface.Internal.Windows.Data;
|
|||
internal class DataShareWidget : IDataWindowWidget
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Data_Share;
|
||||
public string[]? CommandShortcuts { get; init; } = { "datashare" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Data Share";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -14,7 +14,10 @@ internal class DtrBarWidget : IDataWindowWidget
|
|||
private DtrBarEntry? dtrTest3;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Dtr_Bar;
|
||||
public string[]? CommandShortcuts { get; init; } = { "dtr", "dtrbar" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "DTR Bar";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -11,7 +11,10 @@ internal class FateTableWidget : IDataWindowWidget
|
|||
private bool resolveGameData;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Fate_Table;
|
||||
public string[]? CommandShortcuts { get; init; } = { "fate", "fatetable" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Fate Table";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -22,7 +22,10 @@ internal class FlyTextWidget : IDataWindowWidget
|
|||
private Vector4 flyColor = new(1, 0, 0, 1);
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.FlyText;
|
||||
public string[]? CommandShortcuts { get; init; } = { "flytext" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Fly Text";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -20,7 +20,10 @@ internal class FontAwesomeTestWidget : IDataWindowWidget
|
|||
private bool iconSearchChanged = true;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.FontAwesome_Test;
|
||||
public string[]? CommandShortcuts { get; init; } = { "fa", "fatest", "fontawesome" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Font Awesome Test";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -11,7 +11,10 @@ namespace Dalamud.Interface.Internal.Windows.Data;
|
|||
internal class GamepadWidget : IDataWindowWidget
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Gamepad;
|
||||
public string[]? CommandShortcuts { get; init; } = { "gamepad", "controller" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Gamepad";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -12,7 +12,10 @@ namespace Dalamud.Interface.Internal.Windows.Data;
|
|||
internal class GaugeWidget : IDataWindowWidget
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Gauge;
|
||||
public string[]? CommandShortcuts { get; init; } = { "gauge", "jobgauge", "job" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Job Gauge";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -23,8 +23,11 @@ internal class HookWidget : IDataWindowWidget
|
|||
NativeFunctions.MessageBoxType type);
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Hook;
|
||||
public string DisplayName { get; init; } = "Hook";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string[]? CommandShortcuts { get; init; } = { "hook" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,10 @@ namespace Dalamud.Interface.Internal.Windows.Data;
|
|||
internal class ImGuiWidget : IDataWindowWidget
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.ImGui;
|
||||
public string[]? CommandShortcuts { get; init; } = { "imgui" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "ImGui";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -10,7 +10,10 @@ namespace Dalamud.Interface.Internal.Windows.Data;
|
|||
internal class KeyStateWidget : IDataWindowWidget
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.KeyState;
|
||||
public string[]? CommandShortcuts { get; init; } = { "keystate" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "KeyState";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -54,7 +54,10 @@ internal class NetworkMonitorWidget : IDataWindowWidget
|
|||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Network_Monitor;
|
||||
public string[]? CommandShortcuts { get; init; } = { "network", "netmon", "networkmonitor" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Network Monitor";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -19,8 +19,11 @@ internal class ObjectTableWidget : IDataWindowWidget
|
|||
private float maxCharaDrawDistance = 20.0f;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Object_Table;
|
||||
public string[]? CommandShortcuts { get; init; } = { "ot", "objecttable" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Object Table";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,10 @@ internal class PartyListWidget : IDataWindowWidget
|
|||
private bool resolveGameData;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Party_List;
|
||||
public string[]? CommandShortcuts { get; init; } = { "partylist", "party" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Party List";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -19,7 +19,10 @@ internal class PluginIpcWidget : IDataWindowWidget
|
|||
private string callGateResponse = string.Empty;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Plugin_IPC;
|
||||
public string[]? CommandShortcuts { get; init; } = { "ipc" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Plugin IPC";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -9,7 +9,10 @@ namespace Dalamud.Interface.Internal.Windows.Data;
|
|||
internal class SeFontTestWidget : IDataWindowWidget
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.SE_Font_Test;
|
||||
public string[]? CommandShortcuts { get; init; } = { "sefont", "sefonttest" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "SeFont Test";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -12,7 +12,10 @@ internal class ServerOpcodeWidget : IDataWindowWidget
|
|||
private string? serverOpString;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Server_OpCode;
|
||||
public string[]? CommandShortcuts { get; init; } = { "opcode", "serveropcode" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Server Opcode";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -9,7 +9,10 @@ namespace Dalamud.Interface.Internal.Windows.Data;
|
|||
internal class StartInfoWidget : IDataWindowWidget
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.StartInfo;
|
||||
public string[]? CommandShortcuts { get; init; } = { "startinfo" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Start Info";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -13,7 +13,10 @@ internal class TargetWidget : IDataWindowWidget
|
|||
private bool resolveGameData;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Target;
|
||||
public string[]? CommandShortcuts { get; init; } = { "target" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Target";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -20,7 +20,10 @@ internal class TaskSchedulerWidget : IDataWindowWidget
|
|||
private CancellationTokenSource taskSchedulerCancelSource = new();
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.TaskSched;
|
||||
public string[]? CommandShortcuts { get; init; } = { "tasksched", "taskscheduler" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Task Scheduler";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -28,7 +28,10 @@ internal class TexWidget : IDataWindowWidget
|
|||
private Vector2 inputTexScale = Vector2.Zero;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Tex;
|
||||
public string[]? CommandShortcuts { get; init; } = { "tex", "texture" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Tex";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -19,7 +19,10 @@ internal class ToastWidget : IDataWindowWidget
|
|||
private bool questToastCheckmark;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.Toast;
|
||||
public string[]? CommandShortcuts { get; init; } = { "toast" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "Toast";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
|
|
@ -12,7 +12,10 @@ namespace Dalamud.Interface.Internal.Windows.Data;
|
|||
internal class UIColorWidget : IDataWindowWidget
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public DataKind DataKind { get; init; } = DataKind.UIColor;
|
||||
public string[]? CommandShortcuts { get; init; } = { "uicolor" };
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayName { get; init; } = "UIColor";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Ready { get; set; }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue