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();
}
}