Click or drag to resize

AltaxoDocument Class

Summary description for AltaxoDocument.
Inheritance Hierarchy

Namespace: Altaxo
Assembly: AltaxoBase (in AltaxoBase.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
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.

Constructors
 NameDescription
Public methodAltaxoDocumentInitializes a new instance of the AltaxoDocument class
Top
Properties
 NameDescription
Protected propertyAccumulatedEventData Gets the accumulated event data.
(Inherited from SuspendableDocumentNodeWithSingleAccumulatedDataT)
Public propertyDataTableCollection 
Protected propertyDebug_AbsolutePath Gets the absolute path of the node for debugging purposes.
(Inherited from SuspendableDocumentNodeBase)
Public propertyDocumentIdentifier 
Public propertyFitFunctionScripts 
Public propertyFolders Get information about the folders in this project.
(Inherited from ProjectBase)
Public propertyGraph3DDocumentCollection 
Public propertyGraphDocumentCollection 
Public propertyIsDirty
(Inherited from ProjectBase)
Public propertyIsDisposed Gets a value indicating whether this instance is disposed.
(Inherited from SuspendableDocumentNodeBase)
Public propertyIsDisposeInProgress Gets a value indicating whether for this instance dispose is in progress, or the instance is already disposed.
(Inherited from SuspendableDocumentNodeBase)
Public propertyIsResumeInProgress Gets a value indicating whether this instance is currently resuming the events.
(Inherited from SuspendableDocumentNode)
Public propertyIsSomeoneListeningToChanges 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)
Public propertyIsSuspended Gets a value indicating whether this instance is suspended.
(Inherited from SuspendableDocumentNode)
Public propertyIsSuspendedOrResumeInProgress Gets a value indicating whether this instance is suspended or resume is currently in progress.
(Inherited from SuspendableDocumentNode)
Public propertyName
(Overrides SuspendableDocumentNodeBaseName)
Public propertyParentObject
(Overrides SuspendableDocumentNodeBaseParentObject)
Public propertyProjectFolderProperties 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)
Public propertyProjectItemCollections 
Public propertyProjectItemTypes Gets the types of project item currently supported in the document.
Public propertyTableLayouts 
Public propertyTextDocumentCollection 
Top
Methods
 NameDescription
Protected methodAccumulateChangeData
(Overrides ProjectBaseAccumulateChangeData(Object, EventArgs))
Protected methodAccumulatedChangeData_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)
Protected methodAccumulatedEventData_Clear Clears the accumulated event data.
(Inherited from SuspendableDocumentNodeWithSingleAccumulatedDataT)
Protected methodAccumulatedEventData_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)
Public methodAddItem 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)
Public methodAddItemWithThisOrModifiedName 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)
Protected methodChildCloneFromT 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)
Protected methodChildCloneToMemberT 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)
Protected methodChildCloneToMemberAltT 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)
Protected methodChildCopyToMemberT 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)
Protected methodChildCopyToMemberOrCreateNewT 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)
Protected methodChildDisposeMemberT 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)
Protected methodChildSetMemberT 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)
Protected methodChildSetMemberAltT 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)
Public methodClearIsDirty 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))
Public methodContainsItem Tests if the project item given in the argument is already contained in this document.
(Inherited from ProjectBase)
Public methodCountEvent 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)
Public methodCreateNewTable Creates the new data table and adds it to the project.
Public methodCreateNewTableLayout 
Public methodDispose Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
(Inherited from SuspendableDocumentNodeBase)
Protected methodDispose(Boolean)
(Inherited from SuspendableDocumentNode)
Public methodEhChildChanged Used by childs of this object to inform us about a change in their state.
(Inherited from SuspendableDocumentNode)
Public methodEhParentTunnelingEventHappened Is called by the parent when a tunneling event happened in the parent.
(Inherited from SuspendableDocumentNode)
Protected methodEhSelfChanged Called if some (simple) member or property of this instance itself has changed.
(Inherited from SuspendableDocumentNode)
Public methodEhSelfTunnelingEventHappened(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)
Public methodEhSelfTunnelingEventHappened(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)
Public methodEnumerateFromHereToLeaves Enumerates all document node including this node, its child nodes, its child-child nodes up to the leaf nodes.
(Inherited from SuspendableDocumentNode)
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodExistsItemWithSameTypeAndName Tests whether an item with the same type and name is already present in the project.
(Inherited from ProjectBase)
Protected methodFinalize Finalizes an instance of the SuspendableDocumentNodeBase class.
(Inherited from SuspendableDocumentNodeBase)
Public methodGetChildObjectNamed
(Overrides SuspendableDocumentNodeGetChildObjectNamed(String))
Public methodGetCollectionForProjectItemType Gets the collection for a certain project item type.
(Overrides ProjectBaseGetCollectionForProjectItemType(Type))
Protected methodGetDocumentNodeChildrenWithName
(Overrides SuspendableDocumentNodeGetDocumentNodeChildrenWithName)
Public methodGetDocumentPathForProjectItem 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)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetNameOfChildObject
(Overrides SuspendableDocumentNodeGetNameOfChildObject(IDocumentLeafNode))
Public methodGetRootPathForProjectItemType Gets the root path for a given project item type.
(Inherited from ProjectBase)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Protected methodHandleHighPriorityChildChangeCases Handles the case when a child changes, and a reaction is neccessary independently on the suspend state of the table.
(Inherited from SuspendableDocumentNode)
Protected methodHandleLowPriorityChildChangeCases
(Overrides ProjectBaseHandleLowPriorityChildChangeCases(Object, EventArgs))
Public methodStatic memberLoadStandaloneFromFile 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.
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Protected methodNotifyChildrenTunnelingEventHappened Notifies the child nodes of this instance that a tunneling event has happened.
(Inherited from SuspendableDocumentNode)
Protected methodOnAboutToBeResumed 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)
Protected methodOnChanged Fires the change event with the EventArgs provided in the argument.
(Inherited from SuspendableDocumentNodeBase)
Protected methodOnDirtyChanged
(Inherited from ProjectBase)
Protected methodOnResume 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)
Protected methodOnResumeSilently 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)
Protected methodOnSuspended Called when the suspend level has just gone from 0 to 1, i.e. the object was suspended.
(Inherited from SuspendableDocumentNode)
Protected methodOnTunnelingEvent Fires the TunneledEvent event.
(Inherited from SuspendableDocumentNodeBase)
Public methodRemoveItem Removes the provided project item to the Altaxo project, for instance a table or a graph, to the project.
(Inherited from ProjectBase)
Public methodRestoreFromZippedFile 
Public methodResume(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)
Public methodResume(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)
Public methodResumeCompleteTemporarily 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)
Public methodResumeCompleteTemporarilyGetToken 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)
Public methodResumeSilently 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)
Public methodSaveToArchive Saves the document to a project archive.
Public methodSetDisposeInProgress Sets the flag that dispose is in progress for this node and all child nodes recursively.
(Inherited from SuspendableDocumentNode)
Protected methodSetMemberAndRaiseSelfChangedT(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)
Protected methodSetMemberAndRaiseSelfChangedT(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)
Protected methodSetMemberEnumAndRaiseSelfChangedT 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)
Public methodSuspendGetToken Suspend will increase the SuspendLevel.
(Inherited from SuspendableDocumentNode)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Public methodTryGetExistingItemWithSameTypeAndName Tries to get an existing project item with the same type and name as the provided item.
(Inherited from ProjectBase)
Public methodTryGetName Test if this item already has a name.
(Inherited from SuspendableDocumentNodeBase)
Top
Events
 NameDescription
Public eventChangedFired when something in the object has changed, and the object is not suspended.
(Inherited from SuspendableDocumentNodeBase)
Public eventIsDirtyChanged
(Inherited from ProjectBase)
Public eventTunneledEvent 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)
Top
Fields
 NameDescription
Protected field_accumulatedEventData Holds the accumulated change data.
(Inherited from SuspendableDocumentNodeWithSingleAccumulatedDataT)
Protected field_dataTablesCollection of all data tables in this document.
Protected field_graphsCollection of all graphs in this document.
Protected field_graphs3DCollection of all graphs in this document.
Protected field_isDirty
(Inherited from ProjectBase)
Protected field_parent The parent object this instance belongs to.
(Inherited from SuspendableDocumentNodeBase)
Protected field_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)
Protected field_projectFoldersKeeps track of the name of all project items, and admisters them in virtual folders.
(Inherited from ProjectBase)
Protected field_suspendTokensOfChildsStores the suspend tokens of the suspended childs of this object.
(Inherited from SuspendableDocumentNode)
Protected field_tableLayoutsCollection of all data tables layouts in this document.
Protected field_textDocumentsCollection of all notes documents in this document.
Top
Extension Methods
 NameDescription
Public Extension MethodGetPropertyContext 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)
Top
See Also