51 lines
1.8 KiB
C#
51 lines
1.8 KiB
C#
using CaeGlobals;
|
|
using CaeMesh;
|
|
using System;
|
|
#pragma warning disable IDE0130
|
|
|
|
namespace CPSO.Commands
|
|
{
|
|
[Serializable]
|
|
class CReplaceMeshSetupItem : PreprocessCommand, ICommandWithDialog
|
|
{
|
|
// Variables
|
|
private string _oldMeshSetupItemName;
|
|
private MeshSetupItem _meshSetupItem;
|
|
|
|
// Constructor
|
|
public CReplaceMeshSetupItem(string oldMeshSetupItemName, MeshSetupItem newMeshSetupItem)
|
|
: base("Edit mesh setup item")
|
|
{
|
|
_oldMeshSetupItemName = oldMeshSetupItemName;
|
|
_meshSetupItem = newMeshSetupItem.DeepClone();
|
|
}
|
|
|
|
// Methods
|
|
public override bool Execute(Controller receiver)
|
|
{
|
|
receiver.ReplaceMeshSetupItem(_oldMeshSetupItemName, _meshSetupItem.DeepClone());
|
|
return true;
|
|
}
|
|
|
|
// ICommandWithDialog
|
|
public bool ExecuteWithDialog(Controller receiver)
|
|
{
|
|
if (_meshSetupItem is MeshSetupItem msi)
|
|
{
|
|
_meshSetupItem = receiver.EditMeshSetupItemByForm(msi.DeepClone());
|
|
}
|
|
else
|
|
{
|
|
throw new NotSupportedException("MeshSetupItemTypeException");
|
|
}
|
|
|
|
return Execute(receiver);
|
|
}
|
|
|
|
public override string GetCommandString()
|
|
{
|
|
return base.GetCommandString() + _oldMeshSetupItemName + ", " + _meshSetupItem.ToString();
|
|
}
|
|
}
|
|
}
|