Click or drag to resize

ColorGroupStyle Class

Style used to group plot items by color, and to step between the colors in a plot color set.
Inheritance Hierarchy

Namespace: Altaxo.Graph.Plot.Groups
Assembly: AltaxoBase (in AltaxoBase.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public class ColorGroupStyle : SuspendableDocumentLeafNodeWithEventArgs, 
	IPlotGroupStyle, IDocumentLeafNode, INamedObject, IChangedEventSource, ISuspendableByToken, 
	ITunnelingEventSource, IDisposable, ITreeNodeWithParent<IDocumentLeafNode>, ITreeNode<IDocumentLeafNode>, 
	INodeWithParentNode<IDocumentLeafNode>, ICloneable

The ColorGroupStyle type exposes the following members.

Constructors
 NameDescription
Public methodColorGroupStyle Initializes an external ColorGroupStyle. This constructor is for internal purposes (automatic construction) only, please use NewExternalGroupStyle or NewLocalGroupStyle instead.
Protected methodColorGroupStyle(Boolean)Initializes a new instance of the ColorGroupStyle class
Public methodColorGroupStyle(ColorGroupStyle)Initializes a new instance of the ColorGroupStyle class
Top
Properties
 NameDescription
Protected propertyAccumulatedEventData Gets the accumulated event data.
(Inherited from SuspendableDocumentLeafNodeWithSingleAccumulatedDataT)
Public propertyCanCarryOver 
Public propertyCanStep 
Public propertyColor 
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 propertyIsInitialized 
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 propertyIsStepEnabled Get/sets whether or not stepping is allowed.
Public propertyIsSuspended Gets a value indicating whether this instance is suspended.
(Inherited from SuspendableDocumentLeafNode)
Public propertyListOfValues The list of symbols to switch through
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 Gets/sets the parent object this instance belongs to.
(Inherited from SuspendableDocumentNodeBase)
Top
Methods
 NameDescription
Protected methodAccumulateChangeData
(Inherited from SuspendableDocumentLeafNodeWithEventArgs)
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 SuspendableDocumentLeafNodeWithSingleAccumulatedDataT)
Protected methodAccumulatedEventData_Clear Clears the accumulated event data.
(Inherited from SuspendableDocumentLeafNodeWithSingleAccumulatedDataT)
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 SuspendableDocumentLeafNodeWithSingleAccumulatedDataT)
Public methodStatic memberAddExternalGroupStyle 
Public methodStatic memberAddLocalGroupStyle 
Public methodStatic memberApplyStyle 
Public methodBeginPrepare 
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 methodClone 
Public methodDispose Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
(Inherited from SuspendableDocumentNodeBase)
Protected methodDispose(Boolean) Releases unmanaged and - optionally - managed resources.
(Inherited from SuspendableDocumentNodeBase)
Public methodEhParentTunnelingEventHappened Is called by the parent when a tunneling event happened into the parent.
(Inherited from SuspendableDocumentNodeBase)
Public methodEhSelfChanged Calls EhSelfChanged with EventArgs.Empty
(Inherited from SuspendableDocumentLeafNodeWithEventArgs)
Protected methodEhSelfChanged(EventArgs) 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 methodEndPrepare 
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 methodGetHashCodeServes as the default hash function.
(Inherited from Object)
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)
Public methodInitialize 
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodStatic memberNewExternalGroupStyle Creates a new group style for external use. See the remarks of the class documentation for what is the difference between instances for external use and local use.
Public methodStatic memberNewLocalGroupStyle Creates a new group style for local use only. See the remarks of the class documentation for what is the difference between instances for external use and local use.
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 Fires the change event with the EventArgs provided in the argument.
(Inherited from SuspendableDocumentNodeBase)
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 methodPrepareStep 
Public methodStatic memberPrepareStyle 
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 methodStep 
Public methodSuspendGetToken Suspend will increase the SuspendLevel.
(Inherited from SuspendableDocumentLeafNode)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Public methodTransferFrom 
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 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 SuspendableDocumentLeafNodeWithSingleAccumulatedDataT)
Protected field_parent The parent object this instance belongs to.
(Inherited from SuspendableDocumentNodeBase)
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
Remarks
We must take into account, that some plot color sets could not be reconstructed on deserialization (for instance special user or application color sets). This is for instance the case for a single plot item, that uses a plot color, but is not member of an external plot group style. Because normally, if an external plot group style is present, the colors in the plot color set of the PlotGroupStyle will all be serialized. But here, without an external plot group style, this is not the case, and on deserialization, the plot color set could not be reconstructed. The issue is, that the color of the deserialized plot item should not change. Before 2013-02-05, the color changed because the substyle of the plot style of the plot item acts as a ColorProvider, and as such, was creating a PlotGroupStyle for local use. And the PlotGroupStyle coerced the value of the color to a valid plot color during initialization, and thus changed the color. This problem was solved 2013-02-05 by distinguishing between local use and external use of the ColorGroupStyle. For external use, the color is (as before) coerced to a valid plot color during initialization. For local use, the rules are not so strict, and it is allowed to provide an non plot color or an invalid plot color during initialization without changing the color value.
See Also