C++ C#

EditableDataManager Class

API Reference

Namespace: Semata.ControlsCLR

EditableDataManager manages the currently selected IEditableData object.

The object itself is accessed throught the property Data.

It allows: the object to be edited and deleted; a new object to be created; and a edits to be cancelled.

It provides commands that can be bound to to do this, or the methods themselves can be called.

It coordinates with the SelectorDetailSource to prevent the selected item being changed will edits are active.

public class EditableDataManager : INotifyPropertyChanged, INotifyStateChanged

Implements: INotifyPropertyChanged , INotifyStateChanged

Constructors

Name Description
EditableDataManager(IEditableDataSource, Func<IEditableData>, Func<IEditableData, bool>, Func<IEditableData, bool>, EditingMode)

Construct a new instance of EditableDataManager.

Enumerations

Name Description
EditingMode

Normal: The EditCommand sets the object beging edited to that selected by the selector. The New Command sets the object beging edited to the result of calling Creator().

AutoEdit: The object beging edited is set to that selected by the selector. The NewCommand sets the object beging edited to the result of calling Creator().

AutoNew: The object beging edited is set to the result of calling Creator(). EditCommand needs executing sets the object beging edited to that selected by the selector.

Events

Name Description
PropertyChanged

Raised when object beging edited raises PropertyChanged

StateChanged

Raised when object beging edited raises StateChanged

Properties

Name Description
CanCancelEdit

Can CancelEditCommand be executed

CanDeleteData

Can DeleteCommand be executed

CanEditData

Can EditCommand be executed

CanNewData

Can NewCommand be executed

CanSaveData

Can SaveCommand be executed

CancelCommand

If the object has been changed, allows the edits to be cancelled by calling IEditableData.CancelEdit

Creator

Creator delegate

Data

Currently edited object

DeleteCommand

If there are no pending edits, deletes the object selected by the selector.

EditCommand

If there are no pending edits, sets the object beging edited to that selected by the selector.

IsChanged

True if there is a currently edited object, and it has been changed

IsOkToCancel

True if either the currently edited object has not been changed, or delegate passed tpo instructor returns true.

Mode

Editing Mode

NewCommand

If there are no pending edits, sets the object beging edited to the result of calling Creator()

SaveCommand

If the object has been changed, allows the object to be written by calling IEditableData.Write

Methods

Name Description
CancelEdit(bool)

If there are no changes or it is ok to cancel calls IEditableData.CancelEdit.

If the editing mode is AutoNew, sets the object beging edited to the result of calling Creator().

If the editing mode is AutoEdit, sets the object beging edited to the object selected by the selector.

Otherwise, sets the object beging edited to null.

DeleteData(bool)

If there are no changes or it is ok to cancel calls IEditableData.CancelEdit on the object selected by the selector.

EditData()

Sets the object beging edited to that selected by the selector.

NewData()

Sets the object beging edited to the result of calling Creator()

SaveData()

If there is a object beging edited calls IEditableData.Write, and then selects it in the Selector. If the editing mode is AutoNew, sets the object beging edited to the result of calling Creator(). If the editing mode is AutoEdit, the object beging edited is unchanged. Otherwise, sets the object beging edited to null.

SetSelectedItem(IEditableData)

Used by the Selector to set the currently selected object

This website stores cookies on your computer that are used to manage the order in which you see the pages. To find out more about the cookies we use, see our Privacy Policy.