Click or drag to resize

MVCANDControllerEditOriginalDocInstanceCanChangeBaseTModel, TView Class

Base of all controllers that edit the original document directly (live). This class is especially well suited to edit a document class with many derived classes, and the user can choose among the types. If the user choose a new type of document, this type must be instantiated and edited henceforth. The old document should be released then, and the new document must be integrated in the document hierarchy. This class also implements IMVCANDController to signal when the user changed anything inside the document.
Inheritance Hierarchy
SystemObject
  Altaxo.GuiControllerBase
    Altaxo.GuiMVCANControllerEditOriginalDocBaseTModel, TView
      Altaxo.GuiMVCANControllerEditOriginalDocInstanceCanChangeBaseTModel, TView
        Altaxo.GuiMVCANDControllerEditOriginalDocInstanceCanChangeBaseTModel, TView
          Altaxo.Gui.Graph.ScalesDensityScaleController

Namespace: Altaxo.Gui
Assembly: AltaxoBase (in AltaxoBase.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public abstract class MVCANDControllerEditOriginalDocInstanceCanChangeBase<TModel, TView> : MVCANControllerEditOriginalDocInstanceCanChangeBase<TModel, TView>, 
	IMVCANDController, IMVCANController, IMVCAController, IMVCController, IDisposable, 
	IApplyController, INotifyPropertyChanged
where TModel : ICloneable
where TView : class

Type Parameters

TModel
The type of the document to edit.
TView
The type of the view.

The MVCANDControllerEditOriginalDocInstanceCanChangeBaseTModel, TView type exposes the following members.

Constructors
 NameDescription
Public methodMVCANDControllerEditOriginalDocInstanceCanChangeBaseTModel, TView Initializes a new instance of the MVCANDControllerEditOriginalDocInstanceCanChangeBaseTModel, TView class.
Top
Properties
 NameDescription
Protected propertyCreateNotInitializedException
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Protected propertyCreateNoViewException
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Public propertyDocGets the current document of this controller. If the document is null, an InvalidOperationException is thrown. To check whether the document is null, check on the member _doc directly.
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Public propertyIsDisposedGet a value indication whether this controller is already disposed.
(Inherited from ControllerBase)
Public propertyModelObject Returns the document that this controller manages to edit.
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Protected propertyNoDocumentException
(Inherited from ControllerBase)
Protected propertyNotInitializedException
(Inherited from ControllerBase)
Protected propertyNoViewException
(Inherited from ControllerBase)
Public propertyProvisionalModelObject Gets the provisional model object. This is the model object that is based on the current user input. In this class of controller, it is identical to the edited document (because the original document is edited).
Public propertyUseDocumentCopy Sets whether or not a copy of the document is used. If set to true, a copy of the document is used, so if the controller is not applied, all changes can be reverted. If set to false, no copy must be made. The document is directly changed by the controller, and changes can not be reverted. Use the last option if a controller up in the hierarchie has already made a copy of the document.
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Public propertyViewObject Returns the Gui element that shows the model to the user. When attaching a new view, the MadeDirty event is suppressed.
(Overrides MVCANControllerEditOriginalDocBaseTModel, TViewViewObject)
Top
Methods
 NameDescription
Public methodApply Called when the user input has to be applied to the document being controlled. Returns true if Apply is successfull.
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Protected methodApplyEnd Standard procedure at the end of the Apply phase. If the applyResult is true, the controller is either disposed (if disposeController is true) or the document is shortly resumed (if disposeController is false. Nothing is done if applyResult is false.
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Protected methodAttachView Override this function to attach the view to the controller, either by subscribing to events of the view, or by setting the controller object on the view.
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Protected methodCheckDocumentInitializedT
(Inherited from ControllerBase)
Protected methodDetachView Override this function to detach the view from the controller, either by unsubscribing to events of the view, or by setting the controller object on the view to null.
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Public methodDispose Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
(Inherited from ControllerBase)
Public methodDispose(Boolean) Releases unmanaged and - optionally - managed resources.
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetSubControllers Enumerates the sub controllers. This function is called on Dispose(Boolean) of this controller to dispose the subcontrollers too. By overriding this function, there is no need to override Dispose(Boolean)
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Protected methodGetSuspendTokenForControllerDocument Gets the suspend token for the controller document. This default implementation calls SuspendGetToken() on the document. By overriding this function you can suspend parent nodes in case it is neccessary to modify nodes at lower levels of the hierarchy.
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Protected methodInitialize Basic initialization of the document. Here, it is tried to suspend the event handling of the documnt by calling GetSuspendTokenForControllerDocument (but only if _useDocumentCopy is true).
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Public methodInitializeDocument Initialize the controller with the document. If successfull, the function has to return true.
(Overrides MVCANControllerEditOriginalDocBaseTModel, TViewInitializeDocument(Object))
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Protected methodOnDocumentInstanceChanged Should be called by a derived controller class when the instance of the model has changed.
(Inherited from MVCANControllerEditOriginalDocInstanceCanChangeBaseTModel, TView)
Protected methodOnMadeDirty Fires the MadeDirty event (if it is not suppressed).
Public methodOnPropertyChanged
(Inherited from ControllerBase)
Public methodRevert Try to revert changes to the model, i.e. restores the original state of the model.
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Protected methodThrowIfNotInitializedThrows an exception if the controller is not initialized with a document.
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Events
 NameDescription
Public eventMadeDirty Event fired when the user changed some data that will change the model.
Public eventPropertyChanged Occurs when a property value changes.
(Inherited from ControllerBase)
Top
Fields
 NameDescription
Protected field_clonedCopyOfDocCloned copy of the document (is null if _useDocumentCopy is false). Used to revert the edited document to the state before editing.
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Protected field_docThe document to edit.
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Protected field_setInstanceInParentNode
(Inherited from MVCANControllerEditOriginalDocInstanceCanChangeBaseTModel, TView)
Protected field_suppressDirtyEvent Used to suppress the MadeDirty event of this controller.
Protected field_suspendToken The suspend token of the document being edited. If _useDocumentCopy is false, we assume that a controller higher in hierarchy has made a copy of the document, thus we do not use a suspendToken for the document.
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Protected field_useDocumentCopyIf true, a copy of the document is made before editing; this copy can later be used to revert the state of the document to the original state.
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Protected field_viewThe Gui view of this controller
(Inherited from MVCANControllerEditOriginalDocBaseTModel, TView)
Top
See Also