Click or drag to resize

ProjectItemCollectionBaseTItem Class

Base class for collections that hold project items, which are uniquely named.
Inheritance Hierarchy

Namespace: Altaxo.Main
Assembly: AltaxoBase (in AltaxoBase.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public abstract class ProjectItemCollectionBase<TItem> : SuspendableDocumentNodeWithSetOfEventArgs, 
	IProjectItemCollection, IParentOfINameOwnerChildNodes, INamedObjectCollection, IDocumentNode, IDocumentLeafNode, 
	INamedObject, IChangedEventSource, ISuspendableByToken, ITunnelingEventSource, IDisposable, 
	ITreeNodeWithParent<IDocumentLeafNode>, ITreeNode<IDocumentLeafNode>, INodeWithParentNode<IDocumentLeafNode>, 
	IChildChangedEventSink, ICollection<TItem>, IEnumerable<TItem>, IEnumerable
where TItem : IProjectItem

Type Parameters

TItem

[Missing <typeparam name="TItem"/> documentation for "T:Altaxo.Main.ProjectItemCollectionBase`1"]

The ProjectItemCollectionBaseTItem type exposes the following members.

Constructors
 NameDescription
Public methodProjectItemCollectionBaseTItemInitializes a new instance of the ProjectItemCollectionBaseTItem class
Top
Properties
 NameDescription
Protected propertyAccumulatedEventData Gets the accumulated event data.
(Inherited from SuspendableDocumentNodeWithSetOfEventArgs)
Public propertyCount 
Protected propertyDebug_AbsolutePath Gets the absolute path of the node for debugging purposes.
(Inherited from SuspendableDocumentNodeBase)
Public propertyIsDirty 
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 propertyIsReadOnly 
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 propertyItem 
Public propertyItemBaseName Gets the base name of a project item. The base name will be combined with a number to find a unique name.
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 propertyNames 
Public propertyParentObject Gets/sets the parent object this instance belongs to.
(Inherited from SuspendableDocumentNodeBase)
Top
Methods
 NameDescription
Protected methodAccumulateChangeData
(Inherited from SuspendableDocumentNodeWithSetOfEventArgs)
Protected methodAccumulatedChangeData_SetBackAfterResumeAndSuspend
(Inherited from SuspendableDocumentNodeWithSetOfEventArgs)
Protected methodAccumulatedEventData_Clear Clears the accumulated event data.
(Inherited from SuspendableDocumentNodeWithSetOfEventArgs)
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 SuspendableDocumentNodeWithSetOfEventArgs)
Public methodAdd 
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 methodClear 
Public methodContains(TItem) 
Public methodContains(String) Determines whether the collection contains a project item with the specified name and with the type that this collection stores.
Public methodContainsAnyName Determines whether the collection contains any project item with the specified name. This must not neccessarily a item of the type that this collection stores (some collections can have a shared name dictionary). In constrast, use Contains(String) to determine if the collection contains an item with the specified name and the native type that the collection stores.
Public methodCopyTo 
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 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 ProjectItemCollectionBaseTItem and optionally releases the managed resources
(Overrides SuspendableDocumentNodeDispose(Boolean))
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 methodExchange Replaces the old item with a new item while keeping the item's index.
Protected methodFinalize Finalizes an instance of the SuspendableDocumentNodeBase class.
(Inherited from SuspendableDocumentNodeBase)
Public methodFindNewItemName Looks for the next free standard project item name in the root folder.
Public methodFindNewItemName(String) Looks for the next unique project item name base on a basic name.
Public methodFindNewItemNameInFolder Looks for the next free standard project item name in the specified folder.
Public methodGetChildObjectNamed
(Overrides SuspendableDocumentNodeGetChildObjectNamed(String))
Protected methodGetDocumentNodeChildrenWithName
(Overrides SuspendableDocumentNodeGetDocumentNodeChildrenWithName)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetNameOfChildObject
(Overrides SuspendableDocumentNodeGetNameOfChildObject(IDocumentLeafNode))
Public methodGetSortedItemNames 
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 Processes the event args e when this object is not suspended. This function serves two purposes: i) updating some cached data of this object by processing the event args of the child, and ii) optional transforming the event args, for instance to a new type, which afterwards is send to the parent and is used as event args in the [E:Changed] event of this object. The transformed event args is not used if this object is suspended (in this case the original event args is used).
(Inherited from SuspendableDocumentNode)
Protected methodInternalAdd 
Protected methodInternalClear 
Protected methodInternalExchange 
Protected methodInternalRemove Removes the item from the collection. This function should only work on the internal structures, but do nothing else.
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
(Overrides SuspendableDocumentNodeBaseOnChanged(EventArgs))
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 methodRemove(TItem) Removes the item from the collection and disposes it. Only items that belong to this collection will be removed and disposed.
Public methodRemove(String) Removes the item, referenced by its name, from the collection and disposes it. Only items that belong to this collection will be removed and disposed.
Public methodRenameChild Helper function called by a child of this collection to handle renaming of this child.
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 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 methodTryGetName Test if this item already has a name.
(Inherited from SuspendableDocumentNodeBase)
Public methodTryGetValue 
Public methodUnwireItem 
Public methodWireItem 
Top
Events
 NameDescription
Public eventChangedFired when something in the object has changed, and the object is not suspended.
(Inherited from SuspendableDocumentNodeBase)
Public eventCollectionChanged Fired when one or more project items are added, deleted or renamed. Not fired when content in the project item has changed. Arguments are the type of change, the item that changed, the old name (if renamed), and the new name (if renamed). This event can not be suspended.
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 SuspendableDocumentNodeWithSetOfEventArgs)
Protected field_itemsByName 
Protected field_parent The parent object this instance belongs to.
(Inherited from SuspendableDocumentNodeBase)
Protected field_suspendTokensOfChildsStores the suspend tokens of the suspended childs of this object.
(Inherited from SuspendableDocumentNode)
Top
Extension Methods
 NameDescription
Public Extension MethodAddRangeTItem Adds a range of items to a collection.
(Defined by ListExtensions)
Public Extension MethodAreAllNodesFromSameLevelTItem Determines whether all nodes in the provided enumeration have the same level (see LevelT(T) for an explanation of level).
(Defined by TreeNodeExtensions)
Public Extension MethodFillWithTItem
(Defined by ListExtensions)
Public Extension MethodFirstOrTItem Returns the first value of the enumeration, or, if the enumeration is empty, the other value provided in the arguments.
(Defined by EnumerableExtensions)
Public Extension MethodFlattenFromRootToLeavesTItem Converts a recursive data structure into a flat list. The root element is enumerated before its corresponding child element(s).
(Defined by EnumerableExtensions)
Public Extension MethodForEachDoTItem Executes an action for each element of the sequence.
(Defined by EnumerableExtensions)
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)
Public Extension MethodHasSingleElementTItem Determines whether the specified enumeration has exactly one element.
(Defined by EnumerableExtensions)
Public Extension MethodIndexOfTItem Gets the index of an item in a enumeration or list.
(Defined by ListExtensions)
Public Extension MethodIndexOfFirstTItem Gets the index the of first item in list that fulfills the predicate predicate
(Defined by ListExtensions)
Public Extension MethodIndexOfFirstTItem Gets the index the of first item in list that fulfills the predicate predicate
(Defined by ListExtensions)
Public Extension MethodIndexOfMaxTItemReturn the index of the element with the maximum value in an enumerable. If multiple elements with the same minimal value exist, the index of the first element in the sequence is returned.
(Defined by EnumerableExtensions)
Public Extension MethodIndexOfMinTItemReturn the index of the element with the minimum value in an enumerable. If multiple elements with the same minimal value exist, the index of the first element in the sequence is returned.
(Defined by EnumerableExtensions)
Public Extension MethodIndicesInt32AndValuesWhereTItem Returns tuples of index and element of all elements in an enumeration which fullfill a given condition, given by the element's value.
(Defined by EnumerableExtensions)
Public Extension MethodIndicesInt32AndValuesWhereTItem Returns tuples of index and element of all elements in an enumeration which fullfill a given condition, given by the element's value and its index.
(Defined by EnumerableExtensions)
Public Extension MethodIndicesInt32WhereTItem Returns the indices of the elements which fullfill a given condition, given by the element's value.
(Defined by EnumerableExtensions)
Public Extension MethodIndicesInt32WhereTItem Returns the indices of the elements which fullfill a given condition, given by the element's value and its index.
(Defined by EnumerableExtensions)
Public Extension MethodIndicesOfMinMaxTItemReturn the index of the element with the minimum value in an enumerable. If multiple elements with the same minimal value exist, the index of the first element in the sequence is returned.
(Defined by EnumerableExtensions)
Public Extension MethodIsEmptyTItem Determines whether the specified enumeration is empty.
(Defined by EnumerableExtensions)
Public Extension MethodJoinConditionalTItem, T2 Takes a join of two sequences, but only takes into account those pair, which fulfill a given condition.
(Defined by EnumerableExtensions)
Public Extension MethodJoinConditionalTItem, T2, TResult Takes a join of two sequences, but only takes into account those pair, which fulfill a given condition.
(Defined by EnumerableExtensions)
Public Extension MethodLastOrTItem Returns the last value of the enumeration, or, if the enumeration is empty, the other value provided in the arguments.
(Defined by EnumerableExtensions)
Public Extension MethodMaxElementTItem, M Gets the element of a IEnumerabe that evaluates by means of a conversion function to the maximal value. This is different from Select(x => conversion(x)).Max() insofar as it not returns the maximum value, but the original element x which converts to the maximum value.
(Defined by EnumerableExtensions)
Public Extension MethodMaxOrDefaultTItem, M Evaluates the maximum of a enumeration of elements, or returns a default value if the series is empty.
(Defined by EnumerableExtensions)
Public Extension MethodSelectCombinationTItem Select a random combination, without repetition, from a data sequence by selecting k elements in original order.
(Defined by Combinatorics)
Public Extension MethodSelectCombinationWithRepetitionTItem Select a random combination, with repetition, from a data sequence by selecting k elements in original order.
(Defined by Combinatorics)
Public Extension MethodSelectPermutationTItem Select a random permutation from a data sequence by returning the provided data in random order. Implemented using Fisher-Yates Shuffling.
(Defined by Combinatorics)
Public Extension MethodSelectVariationTItem Select a random variation, without repetition, from a data sequence by randomly selecting k elements in random order. Implemented using partial Fisher-Yates Shuffling.
(Defined by Combinatorics)
Public Extension MethodSelectVariationWithRepetitionTItem Select a random variation, with repetition, from a data sequence by randomly selecting k elements in random order.
(Defined by Combinatorics)
Public Extension MethodTakeAllButLastTItem Takes all elements of the enumeration except the last element.
(Defined by EnumerableExtensions)
Public Extension MethodThisOrEmptyTItem Returns either the provided enumeration, or if it is null, an empty enumeration.
(Defined by EnumerableExtensions)
Public Extension MethodTryGetFirstAndLastTItem Returns true and the first and last value of the enumeration, or, if the enumeration is empty, returns false.
(Defined by EnumerableExtensions)
Public Extension MethodTryGetSingleElementTItem Try to get the one and only element of the collection.
(Defined by EnumerableExtensions)
Top
See Also