36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
namespace T3.Editor.UiModel.Commands.Graph;
|
|
|
|
public sealed class ChangeCommentCommand : ICommand
|
|
{
|
|
public string Name => "Change comment";
|
|
public bool IsUndoable => true;
|
|
|
|
public ChangeCommentCommand(SymbolUi.Child symbolChildUi, Guid parentSymbolId, string newComment)
|
|
{
|
|
_symbolChildId = symbolChildUi.Id;
|
|
_parentSymbolId = parentSymbolId;
|
|
_originalComment = symbolChildUi.Comment;
|
|
_newComment = newComment;
|
|
}
|
|
|
|
public void Do() => AssignValue(_newComment);
|
|
public void Undo() => AssignValue(_originalComment);
|
|
|
|
private void AssignValue(string newComment)
|
|
{
|
|
if (!SymbolUiRegistry.TryGetSymbolUi(_parentSymbolId, out var symbolUi))
|
|
return;
|
|
|
|
if (!symbolUi.ChildUis.TryGetValue(_symbolChildId, out var childUi))
|
|
return;
|
|
|
|
childUi.Comment = newComment;
|
|
symbolUi.FlagAsModified();
|
|
}
|
|
|
|
private readonly string _newComment;
|
|
private readonly string _originalComment;
|
|
private readonly Guid _symbolChildId;
|
|
private readonly Guid _parentSymbolId;
|
|
}
|