namespace DelftTools.Utils.Editing { public interface IEditableObject { /// /// True if object is being edited (potentially in invalid state). /// Note: When IsEditing is set to true, must not be null. /// Note: When IsEditing is set to false, must not be null. /// bool IsEditing { get; } /// /// Is set to true if the last edit action was cancelled. /// bool EditWasCancelled { get; } /// /// Current edit action. /// IEditAction CurrentEditAction { get; } /// /// Start editing object with the named action. /// Note: Object must assign to before is changed. /// /// void BeginEdit(IEditAction action); /// /// Submit changes to the datasource. /// Postcondition: After call for last in stack, must be null and must be false. /// void EndEdit(); /// /// Revert the changes. /// void CancelEdit(); } }