Files
2026-07-13 13:13:17 +08:00

41 lines
1.0 KiB
C#

namespace T3.Editor.UiModel.Commands.Sections;
public sealed class AddSectionCommand : ICommand
{
public string Name => "Add Section";
public bool IsUndoable => true;
public AddSectionCommand(SymbolUi symbolUi, Section section)
{
_symbolId = symbolUi.Symbol.Id;
_newSection = section;
}
public void Do()
{
if (!SymbolUiRegistry.TryGetSymbolUi(_symbolId, out var symbolUi))
{
Log.Warning($"Can't add section - symbol {_symbolId} is no longer available.");
return;
}
symbolUi.Sections[_newSection.Id] = _newSection;
symbolUi.FlagAsModified();
}
public void Undo()
{
if (!SymbolUiRegistry.TryGetSymbolUi(_symbolId, out var symbolUi))
{
Log.Warning($"Can't remove section - symbol {_symbolId} is no longer available.");
return;
}
symbolUi.Sections.Remove(_newSection.Id);
symbolUi.FlagAsModified();
}
private readonly Guid _symbolId;
private readonly Section _newSection;
}