Lots of SzGui work
This commit is contained in:
57
SzGui/Windows/SzDatasetViewerWindow.cs
Normal file
57
SzGui/Windows/SzDatasetViewerWindow.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user