namespace DelftTools.Utils.Editing { /// /// Defines custom actions for IEditableObjects. /// public interface IEditAction { /// /// Name of the action. Can be based on the instance and/or arguments. /// string Name { get; } /// /// Object being edited. /// object Instance { get; set; } /// /// Action arguments. /// object[] Arguments { get; set; } /// /// Return value, can be set after the action is performed. /// object ReturnValue { get; set; } /// /// TODO: looks like a hack, maybe a naming problem, improve design /// bool HandlesRestore { get; } /// /// TODO: looks like a hack, maybe a naming problem, improve design /// bool SuppressEventBasedRestore { get; } /// /// TODO: looks like a hack, maybe anaming problem, improve design /// void Restore(); /// /// TODO: looks like a hack, maybe anaming problem, improve design /// void BeforeChanges(); } }