Lots of SzGui work

This commit is contained in:
2026-02-25 00:08:27 -06:00
parent e6749c51c4
commit dad80e30da
20 changed files with 968 additions and 22 deletions

View File

@@ -0,0 +1,57 @@
using ImGuiNET;
using System.Numerics;
using SzCore;
using SzCore.DataObjects;
namespace SzGui.Windows;
public class SzDatasetViewerWindow : SzGuiWindowBase
{
private readonly SzDataset _dataset;
public SzDatasetViewerWindow(SzDataset dataset)
{
_dataset = dataset;
WindowName = $"Dataset: {dataset.Name} ({dataset.DataObjectTemplateId})";
}
protected override void RenderContent()
{
if (ImGui.Button("Add New Object"))
{
SzApp.AppInstance.ActivateWindow(new NewObjectModal(_dataset));
}
ImGui.Separator();
if (ImGui.BeginTable("ObjectTable", 2, ImGuiTableFlags.Borders | ImGuiTableFlags.RowBg | ImGuiTableFlags.ScrollY))
{
ImGui.TableSetupColumn("Object Name", ImGuiTableColumnFlags.WidthStretch);
ImGui.TableSetupColumn("Actions", ImGuiTableColumnFlags.WidthFixed, 110);
ImGui.TableHeadersRow();
foreach (var dataObj in _dataset.DataObjects.Values.ToList())
{
ImGui.TableNextRow();
ImGui.TableNextColumn();
ImGui.TextUnformatted(dataObj.Name);
ImGui.TableNextColumn();
if (ImGui.SmallButton($"Edit##{dataObj.Id}"))
{
SzApp.AppInstance.ActivateWindow(new SzDataObjectEditorWindow(_dataset, dataObj));
}
ImGui.SameLine();
if (ImGui.SmallButton($"Delete##{dataObj.Id}"))
{
_dataset.DataObjects.Remove(dataObj.Id);
_ = SZ.DataHandler.SaveDatasetAsync(_dataset);
}
}
ImGui.EndTable();
}
}
}