57 lines
1.7 KiB
C#
57 lines
1.7 KiB
C#
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();
|
|
}
|
|
}
|
|
} |