Altaxo |
public class AltaxoDocument : ProjectBase, INamedObjectCollection, IProject, IDocumentNode, IDocumentLeafNode, INamedObject, IChangedEventSource, ISuspendableByToken, ITunnelingEventSource, IDisposable, ITreeNodeWithParent<IDocumentLeafNode>, ITreeNode<IDocumentLeafNode>, INodeWithParentNode<IDocumentLeafNode>, IChildChangedEventSink, ICanBeDirty
The AltaxoDocument type exposes the following members.
Name | Description | |
---|---|---|
AltaxoDocument | Initializes a new instance of the AltaxoDocument class |
Name | Description | |
---|---|---|
AccumulatedEventData |
Gets the accumulated event data.
(Inherited from SuspendableDocumentNodeWithSingleAccumulatedDataT) | |
DataTableCollection | ||
Debug_AbsolutePath |
Gets the absolute path of the node for debugging purposes.
(Inherited from SuspendableDocumentNodeBase) | |
DocumentIdentifier | ||
FitFunctionScripts | ||
Folders |
Get information about the folders in this project.
(Inherited from ProjectBase) | |
Graph3DDocumentCollection | ||
GraphDocumentCollection | ||
IsDirty | (Inherited from ProjectBase) | |
IsDisposed |
Gets a value indicating whether this instance is disposed.
(Inherited from SuspendableDocumentNodeBase) | |
IsDisposeInProgress |
Gets a value indicating whether for this instance dispose is in progress, or the instance is already disposed.
(Inherited from SuspendableDocumentNodeBase) | |
IsResumeInProgress |
Gets a value indicating whether this instance is currently resuming the events.
(Inherited from SuspendableDocumentNode) | |
IsSomeoneListeningToChanges |
Gets a value indicating whether someone is listening to changes. For this, either the ParentObject or the Changed event must be set.
(Inherited from SuspendableDocumentNodeBase) | |
IsSuspended |
Gets a value indicating whether this instance is suspended.
(Inherited from SuspendableDocumentNode) | |
IsSuspendedOrResumeInProgress |
Gets a value indicating whether this instance is suspended or resume is currently in progress.
(Inherited from SuspendableDocumentNode) | |
Name | (Overrides SuspendableDocumentNodeBaseName) | |
ParentObject | (Overrides SuspendableDocumentNodeBaseParentObject) | |
ProjectFolderProperties |
The properties associated with the project folders. Please note that the properties of the project are also stored inside this collection, with the name being an empty string (root folder node).
(Inherited from ProjectBase) | |
ProjectItemCollections | ||
ProjectItemTypes | Gets the types of project item currently supported in the document. | |
TableLayouts | ||
TextDocumentCollection |
Name | Description | |
---|---|---|
AccumulateChangeData | (Overrides ProjectBaseAccumulateChangeData(Object, EventArgs)) | |
AccumulatedChangeData_SetBackAfterResumeAndSuspend |
Sets the change data without further processing. This function is infrastructure and intended to use only in OnResume after the parent has suspended this node again.
(Inherited from SuspendableDocumentNodeWithSingleAccumulatedDataT) | |
AccumulatedEventData_Clear |
Clears the accumulated event data.
(Inherited from SuspendableDocumentNodeWithSingleAccumulatedDataT) | |
AccumulatedEventData_HasZeroOrOneEventArg |
Determines whether there is no or only one single event arg accumulated. If this is the case, the return value is true. If there is one event arg accumulated, it is returned in the argument singleEventArg.
The return value is false if there is more than one event arg accumulated. In this case the singleEventArg is null on return, and the calling function should use AccumulatedEventData to
enumerate all accumulated event args.
(Inherited from SuspendableDocumentNodeWithSingleAccumulatedDataT) | |
AddItem |
Adds the provided project item to the Altaxo project, for instance a table or a graph, to the project. For ProjectFolderPropertyDocuments,
if a document with the same name is already present, the properties are merged.
(Inherited from ProjectBase) | |
AddItemWithThisOrModifiedName |
Adds the provided project item to the Altaxo project, for instance a table or a graph, to the project. If another project item with the same name already exists,
a new unique name for the item is found, based on the given name.
For ProjectFolderPropertyDocuments, if a document with the same name is already present, the properties are merged.
(Inherited from ProjectBase) | |
ChildCloneFromT |
Clones a node that is intended to use as child node of this instance (e.g. in collections). Consider using ChildCloneToMemberT(T, T) instead if the child node
is stored in a member of this instance.
(Inherited from SuspendableDocumentNode) | |
ChildCloneToMemberT |
Sets a member variable that holds a child with a cloned instance of another variable.
If an old instance member (provided in myChild exists and can not be used, it is disposed first.
The node is then cloned using System.ICloneable. The resulting node's ParentObject
is then set to this instance in order to maintain the parent-child relationship.
(Inherited from SuspendableDocumentNode) | |
ChildCloneToMemberAltT |
Set a member variable that holds a child node of this instance. The child node may or may not implement IDocumentLeafNode.
The value to set may or may not implement ICloneable. If it implements ICloneable, then the member variable is
set to a clone of the value. Otherwise, the member variable is set directly with the value.
It helps to ensure the correct order: first, the child node is set to the new instance and then the old child node is disposed.
(Inherited from SuspendableDocumentNode) | |
ChildCopyToMemberT |
Copies a document node from another source into a member of this instance.
If an old instance member (provided in myChild exists and can not be used, it is disposed first.
The node is then copied using either Main.ICopyFrom or System.ICloneable. The resulting node's ParentObject
is then set to this instance in order to maintain the parent-child relationship.
(Inherited from SuspendableDocumentNode) | |
ChildCopyToMemberOrCreateNewT |
Copies a document node from another source into a member of this instance.
If an old instance member (provided in myChild exists and can not be used, it is disposed first.
If the node is not null, the node is then copied using either Main.ICopyFrom or System.ICloneable. If the node is null, a new node is created using the provided generation function.
The resulting node's ParentObject is then set to this instance in order to maintain the parent-child relationship.
(Inherited from SuspendableDocumentNode) | |
ChildDisposeMemberT |
Helper function to dispose a child node of this instance. It helps to ensure the correct order: first, the child node is set to null and only then the child node is disposed.
(Inherited from SuspendableDocumentNodeBase) | |
ChildSetMemberT |
Set a member variable that holds a child node of this instance. It helps to ensure the correct order: first, the child node is set to the new instance and then the old child node is disposed.
(Inherited from SuspendableDocumentNode) | |
ChildSetMemberAltT |
Set a member variable that holds a child node of this instance. The child node may or may not implement IDocumentLeafNode.
It helps to ensure the correct order: first, the child node is set to the new instance and then the old child node is disposed.
(Inherited from SuspendableDocumentNode) | |
ClearIsDirty |
Clears the IsDirty flag in a more advanced manner,
supporting the needs for late loading of data.
It updates the data needed for deferred data loading before clearing the flag.
(Overrides ProjectBaseClearIsDirty(IProjectArchiveManager, IDictionaryString, IProjectItem)) | |
ContainsItem |
Tests if the project item given in the argument is already contained in this document.
(Inherited from ProjectBase) | |
CountEvent |
Counts the number of events during the suspend state. Every call to this function will increment the event counter by 1 (but only in the suspended state). The event counter will be reset to zero when the object is resumed.
(Inherited from SuspendableDocumentNode) | |
CreateNewTable | Creates the new data table and adds it to the project. | |
CreateNewTableLayout | ||
Dispose |
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
(Inherited from SuspendableDocumentNodeBase) | |
Dispose(Boolean) | (Inherited from SuspendableDocumentNode) | |
EhChildChanged |
Used by childs of this object to inform us about a change in their state.
(Inherited from SuspendableDocumentNode) | |
EhParentTunnelingEventHappened |
Is called by the parent when a tunneling event happened in the parent.
(Inherited from SuspendableDocumentNode) | |
EhSelfChanged |
Called if some (simple) member or property of this instance itself has changed.
(Inherited from SuspendableDocumentNode) | |
EhSelfTunnelingEventHappened(TunnelingEventArgs) |
Is called by this instance if a tunneling event happened into this instance. The tunneling event triggers the TunneledEvent and is additionally distributed to all childs of this instance.
(Inherited from SuspendableDocumentNodeBase) | |
EhSelfTunnelingEventHappened(TunnelingEventArgs, Boolean) |
Is called by this instance if a tunneling event happened into this instance.
The tunneling event triggers the TunneledEvent and is - depending on the provided parameter - also distributed to all childs of this instance.
(Inherited from SuspendableDocumentNode) | |
EnumerateFromHereToLeaves |
Enumerates all document node including this node, its child nodes, its child-child nodes up to the leaf nodes.
(Inherited from SuspendableDocumentNode) | |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) | |
ExistsItemWithSameTypeAndName |
Tests whether an item with the same type and name is already present in the project.
(Inherited from ProjectBase) | |
Finalize |
Finalizes an instance of the SuspendableDocumentNodeBase class.
(Inherited from SuspendableDocumentNodeBase) | |
GetChildObjectNamed | (Overrides SuspendableDocumentNodeGetChildObjectNamed(String)) | |
GetCollectionForProjectItemType |
Gets the collection for a certain project item type.
(Overrides ProjectBaseGetCollectionForProjectItemType(Type)) | |
GetDocumentNodeChildrenWithName | (Overrides SuspendableDocumentNodeGetDocumentNodeChildrenWithName) | |
GetDocumentPathForProjectItem |
Gets the document path for project item, using its type and name. It is not neccessary that the item is part of the project yet.
(Inherited from ProjectBase) | |
GetHashCode | Serves as the default hash function. (Inherited from Object) | |
GetNameOfChildObject | (Overrides SuspendableDocumentNodeGetNameOfChildObject(IDocumentLeafNode)) | |
GetRootPathForProjectItemType |
Gets the root path for a given project item type.
(Inherited from ProjectBase) | |
GetType | Gets the Type of the current instance. (Inherited from Object) | |
HandleHighPriorityChildChangeCases |
Handles the case when a child changes, and a reaction is neccessary independently on the suspend state of the table.
(Inherited from SuspendableDocumentNode) | |
HandleLowPriorityChildChangeCases | (Overrides ProjectBaseHandleLowPriorityChildChangeCases(Object, EventArgs)) | |
LoadStandaloneFromFile | Loads an Altaxo project file. The loaded project does not become the current project! Intended only for Altaxo scripts which need to access data in a different Altaxo project. Make sure to dispose the returned document after usage. | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object) | |
NotifyChildrenTunnelingEventHappened |
Notifies the child nodes of this instance that a tunneling event has happened.
(Inherited from SuspendableDocumentNode) | |
OnAboutToBeResumed |
Is called when the suspend level is still 1 (one), but is about to fall to zero, i.e. shortly before the call to OnResume(Int32). This function is not called before OnResumeSilently(Int32)!
(Inherited from SuspendableDocumentNode) | |
OnChanged |
Fires the change event with the EventArgs provided in the argument.
(Inherited from SuspendableDocumentNodeBase) | |
OnDirtyChanged | (Inherited from ProjectBase) | |
OnResume |
Is called when the object is resumed, i.e. change notifications are allowed again. During the execution of this function, the [P:IsResumeInProgress] property will return true to indicate that the resume is currently in progress.
(Inherited from SuspendableDocumentNode) | |
OnResumeSilently |
Is called when the suspend level falls down from 1 to zero by a call to ResumeSilently.
This implementation disarma the suspendTokens of the childs of this object, deletes any accumulated events, and does not send any change event to the parent or the listeners of the Change event.
(Inherited from SuspendableDocumentNode) | |
OnSuspended |
Called when the suspend level has just gone from 0 to 1, i.e. the object was suspended.
(Inherited from SuspendableDocumentNode) | |
OnTunnelingEvent |
Fires the TunneledEvent event.
(Inherited from SuspendableDocumentNodeBase) | |
RemoveItem |
Removes the provided project item to the Altaxo project, for instance a table or a graph, to the project.
(Inherited from ProjectBase) | |
RestoreFromZippedFile | ||
Resume(ISuspendToken) |
Resumes changed events by calling Resume for the provided suspend token, and setting the reference to the suspend token to null.
If Event data were accumulated during the suspended state, a changed event is triggered for each event data.
(Inherited from SuspendableDocumentNodeBase) | |
Resume(ISuspendToken, EventFiring) |
Resumes changed events, either with taking the accumulated event data into account (see Resume(ISuspendToken)) or discarding the accumulated event data (see ResumeSilently(ISuspendToken),
depending on the provided argument eventFiring.
(Inherited from SuspendableDocumentNodeBase) | |
ResumeCompleteTemporarily |
Resumes the object completely for only a short time. Thus, if object was suspended before, it will be suspended again when the function returns.
(Inherited from SuspendableDocumentNode) | |
ResumeCompleteTemporarilyGetToken |
Resumes the object completely for the time the returned token is referenced and not disposed.
The return value is a token that had 'absorbed' the suspend count of the object, resulting in the suspend count
of the object dropped to 0 (zero). When the returned token is finally disposed, the suspend count of the object is increased again by the 'absorbed' suspend count.
(Inherited from SuspendableDocumentNode) | |
ResumeSilently |
Resumes changed events by calling Resume for the provided suspend token, and setting the reference to the suspend token to null.
All event data accumulated during the suspended state are discarded, and thus no change event is triggered even if the instance has changed during the suspended state.
(Inherited from SuspendableDocumentNodeBase) | |
SaveToArchive | Saves the document to a project archive. | |
SetDisposeInProgress |
Sets the flag that dispose is in progress for this node and all child nodes recursively.
(Inherited from SuspendableDocumentNode) | |
SetMemberAndRaiseSelfChangedT(NullableT, NullableT) |
Sets a member variable of this instance and raise a change event with Empty if the new value is different from the old value.
The comparison is done using the IEquatableT interface of the member variable.
Note: to set members that implement IDocumentNode please use the Child... functions.
(Inherited from SuspendableDocumentNodeBase) | |
SetMemberAndRaiseSelfChangedT(T, T) |
Sets a member variable of this instance and raise a change event with Empty if the new value is different from the old value.
The comparison is done using the IEquatableT interface of the member variable.
Note: to set members that implement IDocumentNode please use the Child... functions.
(Inherited from SuspendableDocumentNodeBase) | |
SetMemberEnumAndRaiseSelfChangedT |
Sets a member variable (which is an Enum) of this instance and raise a change event with Empty if the new value is different from the old value.
The comparison is done using the IEquatableT interface of the member variable.
Note: to set members that implement IDocumentNode please use the Child... functions.
(Inherited from SuspendableDocumentNodeBase) | |
SuspendGetToken |
Suspend will increase the SuspendLevel.
(Inherited from SuspendableDocumentNode) | |
ToString | Returns a string that represents the current object. (Inherited from Object) | |
TryGetExistingItemWithSameTypeAndName |
Tries to get an existing project item with the same type and name as the provided item.
(Inherited from ProjectBase) | |
TryGetName |
Test if this item already has a name.
(Inherited from SuspendableDocumentNodeBase) |
Name | Description | |
---|---|---|
Changed | Fired when something in the object has changed, and the object is not suspended. (Inherited from SuspendableDocumentNodeBase) | |
IsDirtyChanged | (Inherited from ProjectBase) | |
TunneledEvent |
The event that is fired when the object is disposed. First argument is the sender, second argument is the original source, and third argument is the event arg.
(Inherited from SuspendableDocumentNodeBase) |
Name | Description | |
---|---|---|
_accumulatedEventData |
Holds the accumulated change data.
(Inherited from SuspendableDocumentNodeWithSingleAccumulatedDataT) | |
_dataTables | Collection of all data tables in this document. | |
_graphs | Collection of all graphs in this document. | |
_graphs3D | Collection of all graphs in this document. | |
_isDirty | (Inherited from ProjectBase) | |
_parent |
The parent object this instance belongs to.
(Inherited from SuspendableDocumentNodeBase) | |
_projectFolderProperties |
The properties associated with the project folders. Please note that the properties of the project are also stored inside this collection, with the name being an empty string (root folder node).
(Inherited from ProjectBase) | |
_projectFolders | Keeps track of the name of all project items, and admisters them in virtual folders. (Inherited from ProjectBase) | |
_suspendTokensOfChilds | Stores the suspend tokens of the suspended childs of this object. (Inherited from SuspendableDocumentNode) | |
_tableLayouts | Collection of all data tables layouts in this document. | |
_textDocuments | Collection of all notes documents in this document. |
Name | Description | |
---|---|---|
GetPropertyContext |
Gets the property context of the document node. If the provided node is not implementing IPropertyBagOwner, the parent nodes of this node are searched,
until a node which implements IPropertyBagOwner is found.
(Defined by PropertyExtensions) |