Click or drag to resize

ProjectFolders Class

Keeps track of all folder names in the project.
Inheritance Hierarchy

Namespace: Altaxo.Main
Assembly: AltaxoBase (in AltaxoBase.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public class ProjectFolders : SuspendableDocumentLeafNodeWithSetOfEventArgs

The ProjectFolders type exposes the following members.

Constructors
 NameDescription
Public methodProjectFolders Creates the instance of project folders, tracking the provided Altaxo project.
Top
Properties
 NameDescription
Protected propertyAccumulatedEventData Gets the accumulated event data.
(Inherited from SuspendableDocumentLeafNodeWithSetOfEventArgs)
Protected propertyDebug_AbsolutePath Gets the absolute path of the node for debugging purposes.
(Inherited from SuspendableDocumentNodeBase)
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 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 SuspendableDocumentLeafNode)
Public propertyName Gets the name of this document node. Null is returned if the name is not set or unknown. The set accessor will for most nodes throw a InvalidOperationException, since the name can only be set on IProjectItems.
(Inherited from SuspendableDocumentNodeBase)
Public propertyParentObject
(Overrides SuspendableDocumentNodeBaseParentObject)
Top
Methods
 NameDescription
Protected methodAccumulateChangeData
(Inherited from SuspendableDocumentLeafNodeWithSetOfEventArgs)
Protected methodAccumulatedChangeData_SetBackAfterResumeAndSuspend
(Inherited from SuspendableDocumentLeafNodeWithSetOfEventArgs)
Protected methodAccumulatedEventData_Clear Clears the accumulated event data.
(Inherited from SuspendableDocumentLeafNodeWithSetOfEventArgs)
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 SuspendableDocumentLeafNodeWithSetOfEventArgs)
Public methodStatic memberAddFolderNodeRecursively(String, DictionaryString, NGTreeNode) Add a NGTreeNodes corresponding to the folder name recursively for all parts of the folder name so that a hierarchy of those nodes is built-up. If the folder name is already represented by a tree node (i.e. is present in the folderDictionary), this node is returned. If not, the node is created and added to the folder dictionary as well as to the nodes collection of the parent tree node. If the parent tree node is not found in the folderDictionary, this function is called recursively to add the parent tree node.
Public methodStatic memberAddFolderNodeRecursivelyT(String, DictionaryString, NGTreeNode) Add a NGTreeNodes corresponding to the folder name recursively for all parts of the folder name so that a hierarchy of those nodes is built-up. If the folder name is already represented by a tree node (i.e. is present in the folderDictionary), this node is returned. If not, the node is created and added to the folder dictionary as well as to the nodes collection of the parent tree node. If the parent tree node is not found in the folderDictionary, this function is called recursively to add the parent tree node.
Public methodAddItemsAndSubFoldersInFolder Add the project items and the subfolders (of type ProjectFolder) that are in the provided folder (but not the items of the subfolders) to the list.
Public methodAddItemsInFolder Add the items of the provided folder (but not of the subfolders) to the list.
Public methodAddItemsInFolderAndSubfolders(String, ICollectionIProjectItem) Add the items of the provided folder and of the subfolders to the list.
Public methodAddItemsInFolderAndSubfolders(String, ICollectionIProjectItem, Boolean) Add the items of the provided folder and of the subfolders to the list.
Public methodAddItemsInSubfolders Add the items of the subfolders of the provided folder to the list. The items in the provided folder itself are not added to the list.
Public methodCanRenameFolder Determines if a folder can be renamed.
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)
Public methodContainsFolder Determines if a given folder name is present.
Public methodCopyItemsFromFolderToFolder Copies project items from a source folder to a destination folder.
Public methodCopyItemsToFolder Copies the items given in the list (tables, graphs and folders) to another folder, which is given by newFolderName. The copying is done by cloning the items.
Public methodCopyItemToFolder Copyies one item to another folder by cloning the item.
Public methodStatic memberDeleteDocuments(IEnumerableIProjectItem) Delete the items given in the list (tables and graphs), with a confirmation dialog.
Public methodStatic memberDeleteDocuments(IEnumerableIProjectItem, Boolean) Delete the items given in the list (tables and graphs), with a confirmation dialog.
Public methodDeleteFolder Deletes the folder, that means, this operation deletes the project items in the given folder and in all subfolders.
Public methodDeleteItemsInFolder Deletes all project items in a folder.
Public methodDispose Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
(Inherited from SuspendableDocumentNodeBase)
Protected methodDispose(Boolean)Releases the unmanaged resources used by the ProjectFolders and optionally releases the managed resources
(Overrides SuspendableDocumentNodeBaseDispose(Boolean))
Public methodEhParentTunnelingEventHappened Is called by the parent when a tunneling event happened into the parent.
(Inherited from SuspendableDocumentNodeBase)
Protected methodEhSelfChanged Called if some member of this instance itself has changed.
(Inherited from SuspendableDocumentLeafNode)
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 SuspendableDocumentNodeBase)
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalize Finalizes an instance of the SuspendableDocumentNodeBase class.
(Inherited from SuspendableDocumentNodeBase)
Public methodGetExpandedProjectItemSet Transforms an enumeration that contains both project items and project folders to another set that contains the project items of the enumeration plus all project items in the project folders and its subfolders. It is guaranteed that each project item is contained only once.
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetItemsAndSubfoldersInFolder Get the items and the subfolders (as objects of type ProjectFolder) of the provided folder. The items in the subfolders are not included.
Public methodGetItemsInFolder Get the items (but not the subfolders) of the provided folder.
Public methodGetItemsInFolderAndSubfolders Get the items (but not the subfolders) of the provided folder.
Public methodGetItemsInSubfolders Get the items (but not the subfolders) of the subfolders of the provided folder. Note that the items contained in the provided folder are not included.
Public methodGetSubfoldersAsDisplayFolderNameStringListSorted Get a list of subfolders of the provided folder (as string list).
Public methodGetSubfoldersAsProjectFolderList Get a list of subfolders of the provided folder (as ProjectFolder list).
Public methodGetSubfoldersAsStringList Get a list of subfolders of the provided folder (as string list).
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Protected methodHandleLowPriorityChildChangeCases Handles the cases when a child changes, but a reaction is neccessary only if the table is not suspended currently.
(Inherited from SuspendableDocumentLeafNode)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodMoveItemsFromFolderToFolder Moves project items from a source folder to a destination folder.
Public methodMoveItemsToFolder Move items in a list to another folder.
Public methodMoveItemsToNewFolder Move the provided items from the old folder to a new folder. This is done by renaming all items in the given list by starting with the new folder name.
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. This function is not called before OnResumeSilently!
(Inherited from SuspendableDocumentLeafNode)
Protected methodOnChanged
(Overrides SuspendableDocumentNodeBaseOnChanged(EventArgs))
Protected methodOnCollectionChanged 
Protected methodOnResume Is called when the suspend level falls down from 1 to zero by a call to Resume or a call to [M:Altaxo.Main.ISuspendToken.Dispose()].
(Inherited from SuspendableDocumentLeafNode)
Protected methodOnResumeSilently Is called when the suspend level falls down from 1 to zero by a call to ResumeSilently. The implementation should delete any accumulated events, should also disarm the suspendTokens of the childs of this object, and should not fire any Changed events nor set the change state of the object to dirty.
(Inherited from SuspendableDocumentLeafNode)
Protected methodOnSuspended Called when the suspend level has just gone from 0 to 1, i.e. the object was suspended.
(Inherited from SuspendableDocumentLeafNode)
Protected methodOnTunnelingEvent Fires the TunneledEvent event.
(Inherited from SuspendableDocumentNodeBase)
Public methodRenameFolder Rename a folder to a new name. This is done by renaming all items contained in the folder and its subfolders to a new name starting with the new folder name.
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 SuspendableDocumentLeafNode)
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 SuspendableDocumentLeafNode)
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 methodSetDisposeInProgress Sets the flag that dispose is in progress for this node and all child nodes recursively.
(Inherited from SuspendableDocumentNodeBase)
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 methodShowFolderRenameDialog(ProjectFolder) Shows a dialog to rename a folder. Note that if the root folder is specified, the function returns without showing a dialog.
Public methodShowFolderRenameDialog(String) Shows a dialog to rename a folder. Note that if the root folder is specified, the function returns without showing a dialog.
Public methodSortItemsByDependencies Sorts the project items by dependencies. On return, the item with which has no dependencies is located at the beginning of the list. The item with the most dependencies on other items in the list is the last item in the list.
Public methodSuspendGetToken Suspend will increase the SuspendLevel.
(Inherited from SuspendableDocumentLeafNode)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
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 eventCollectionChanged Fired if a item or a directory is added or removed. Arguments are the type of change, the item, the old name and the new name. Note that for directories the item is of type string: it is the directory name.
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 The accumulated event data.
(Inherited from SuspendableDocumentLeafNodeWithSetOfEventArgs)
Protected field_parent The parent object this instance belongs to.
(Inherited from SuspendableDocumentNodeBase)
Top
See Also