SelectionState Class

Definition

Abstract class representing any selection state. Provides the interface for querying infomation about the specified selection, including: the ActualSelection, CoercedSelection, and weather or not a specifc command is to be filtered out for the selection.

public ref class SelectionState abstract
public abstract class SelectionState
type SelectionState = class
Public MustInherit Class SelectionState
Inheritance
SelectionState
Derived

Constructors

SelectionState()

Properties

ActualSelection

Gets the actual selection.

CoercedSelection

Gets the coerced selection by applying coercion rules to the actual selection.

NOTE: The returned value can be null. A null coercion indicates that the selection state doesn't define coercion rules (i.e. a multiple seleciton including only
comment connectors is covered by the GeneralSelection state, which doesn't define any coercions rules, so the seleciton's coercion is null).

If coercion rules are defined for a selection state, but the coercion fails (as would be the case for a selection including several components belonging to different zones), the coerced selection exists but is empty.

These helpers can be used to demystify the results of coercing a selection:

  • IsCoercible - true if the seleciton can be coerced (i.e. the selection state does define coercion rules). CoercedSelection will return a collection, but it may be empty.
  • IsCoercionFailure - true if the actual selection can be coerced, but the coercion fails (due coercion rules.) CoercedSelection will be an empy collection.
  • HasCoercion - true if the actual selection is coercable and its coercion does not fail. CoercedSelection will return a non-empty collection.
CoercedSelectionCache

cache for the coerced selection

CoercedSelectionModelElements

It is possible for the CoercedSelection to include Pels and Mels which are
associated with Pels that are not already included.

This method returns a list that replaces the Pels in the coerced selection with their associated Mels, plus any mels from the coerced selection that did not have pels.

CoercedSelectionPresentationElements

It is possible for the CoercedSelection to include Pels and Mels which are
associated with Pels that are not already included.

This method returns a collection which excludes any Mels.

CoercionCompliantSelection

Returns the list of selected objects which comply with the coercion rules. If the selection is coercable, then the coerced selection will be returned; if there is a coercion failure the list will be empty. If there are no coercion rules (!IsCoercable), then the actual selection is returned.

HasCoercion

Determines if the selection has a valid coercion.

IsActualSelectionMixed

True if all selected objects in the actual selection are of the same type.

IsCoercedSelectionMixed

True if all selected objects in the coerced selection are of the same type.

IsCoercible

Determines if the actual selection can be coerced. Togegher IsCoercible and IsCoercionFailure distinguish between coercion failure, and no coercion available.

IsCoercionFailure

Togegher IsCoercible and IsCoercionFailure distinguish between coercion failure, and no coercion available.

Methods

CacheCoercedSelection(ICollection)

Cache the specified collection.

IdentifyCommandsToBeFilteredOutForMultipleSelection(CommandIdCollection)

Override to identify the commands which are not valid in a single selection scenario, for this selection state.

IdentifyCommandsToBeFilteredOutForSingleSelection(CommandIdCollection)

Override to identify the commands which are not valid in a single selection scenario, for this selection state.

Initialize(ICollection)

specifies the actual selection to operate upon.

IsApplicable(ICollection)

True if the SelectionState appiles to the specified selection (actualSelection.)

IsCommandToBeFilteredOut(CommandID)

True if the specified command should not be enabled for this selection state. The method is evaluated for the coerced selection.

IsCommandToBeFilteredOutForMultipleSelection(CommandID)

True if the specified command should not be enabled for this selection state. The method is evaluated for the coerced selection.

IsCommandToBeFilteredOutForSingleSelection(CommandID)

True if the specified command should not be enabled for this selection state. The method is evaluated for the coerced selection.

Applies to