Partilhar via


Microsoft.VisualStudio.Modeling.Diagrams Namespace

Classes

AbsoluteBoundsChangedEventArgs

Old and new bounds values when the AbsoluteBounds property of a shape changes. This event originates from the IMS.

ActionCanceledState

The MouseAction state that indicates that the MouseAction has been canceled. This is not to be confused with the DragCanceledState. This ActionCanceledState indicates that the entire MouseAction has been canceled; not just the drag itself.

ActionCompletedState

The MouseAction state that indicates that the MouseAction has completed. This is not to be confused with the DragCompletedState. This ActionCompletedState indicates that the entire MouseAction has been completed; not just the drag itself.

AmbientFontHelper

Used to help retriving the designer font

AnchoringBehavior

Describes how the ShapeField should position and size itself as the parent NodeShape moves and resizes.

AnchorPoint
AnchorPointAction

The MouseAction that manually routes LinkShapes by manipulating their LineSegments.

AreaField

Area Field (a.k.a. Background Field)

AssociatedPropertyInfo

Class that provides info about a domain property associated with a ShapeField.

AvoidCornerRule

Bounds rule that doesn't allow you to place a port in the rounded corner of a rectangle.

BinaryLinkNodeChangeRule

Rule to reroute the the linke shape when one of its endpoint nodes is changed

BinaryLinkShape

DomainClass BinaryLinkShape Description for Microsoft.VisualStudio.Modeling.Diagrams.BinaryLinkShape

BinaryLinkShapeBase

Double-derived base class for DomainClass BinaryLinkShape

BinaryLinkShapeGeometry

class BinaryLinkShapeGeometry Encapsulate drawing, folding, and hit testing a BinaryLink on the design surface

BinaryLinkShapeSerializer

Customized part of BinaryLinkShapeSerializer. We want to special-case BinaryLinkShape which connects to relationship MELs so that the relationship doesn't have to be marked with SerializeID and UseFullForm, as long as the relationship doesn't allow multiple instances between the same two ends.

BinaryLinkShapeSerializerBase

Serializer BinaryLinkShapeSerializerBase for DomainClass BinaryLinkShape.

BoundsRules

Rules that constrain where the child can be located and how it can be sized.

BrushDescriptor

BrushDescriptor class holds the BrushStyleSetInfo for a class and an instance of the Brush described by that info (if it's already been created). The BrushDescriptor is what gets cached for later use.

BrushSettings

BrushSettings allows certain properties on a BrushStyleSetInfo to be marked as overridden or immutable. If certain Brush settings are marked as immutable, then they are not allowed to be changed again.

BrushStyleSetInfo

Contains the StyleSet information about a brush. These are all of the settings that be placed on a Brush like Color, BrushType, HatchType, Image, etc. The information is used to create a unique hash code for this class which is used in the HybridDictionary for lookup of a particular cached resource.

ChevronButtonField

A ShapeField that represents double arrows expand/collapse button

CircleShapeGeometry

Summary description for CircleShapeGeometry.

ClickedState

The MouseAction state that indicates that the user has pressed down and lifted up on the mouse button without moving far enough to invoke a drag.

CommandIdCollection
CommentShape

Base comment class. CommentShape defines an editable comment shape.

CommentShapeAddRule
CommentShapeSerializer

Serializer CommentShapeSerializer for DomainClass CommentShape.

CommentShapeTypeDescriptor

Specialized type descriptor for the CommentShape class.

Compartment

This is the base class for all compartments. Compartments are defined as having an expandable/collapseable header and a body. The basic header functionality is implemented in this class. The implementation of the compartment body is done in derived classes.

CompartmentDescription

Base class for all Compartment descriptions.

CompartmentMapping

Base class for compartment mappings. Compartment mappings provide the glue between the content of compartments and the underlying object model

CompartmentRuleHelper

Static class with shared code for handling Compartment list item add, remove, and change rules.

CompartmentSerializer

Serializer CompartmentSerializer for DomainClass Compartment.

CompartmentShape

DomainClass CompartmentShape Description for Microsoft.VisualStudio.Modeling.Diagrams.CompartmentShape

CompartmentShapeAreaField
CompartmentShapeSerializer

Serializer CompartmentShapeSerializer for DomainClass CompartmentShape.

CompartmentTypeDescriptor

Specialized type descriptor for the Compartment class.

ConnectAction

Mouse action that allows user to drag from one SoftwareComponentType shape or Port shape to another in order to create a connection.

ConnectionPoint

ConnectionPoint wraps VGConnection objects from the graph object.

ConnectionType

Describes generic connection behavior between two ShapeElements

ConnectorDecorator

Class to encapsulate the way ShapeFields and child Shapes are used to represent Notation Decorators when they are placed on a Connector

CoreDesignSurfaceCopyClosure

Copy closure visitor filter

CoreDesignSurfaceCopyClosureBase

Base class for copy closure visitor filter

CoreDesignSurfaceDeleteClosure

Remove closure visitor filter

CoreDesignSurfaceDeleteClosureBase

Base class for remove closure visitor filter

CoreDesignSurfaceDomainModel

override reflection replacement apis

CoreDesignSurfaceDomainModelSerializer

Provides an implementation of the IDomainModelSerializer interface that can be used to serialize / deserialize the CoreDesignSurface domain model.

CoreDesignSurfaceDomainModelSerializerBase

Base class that implements IDomainModelSerializer

CoreDesignSurfaceSerializationBehavior

A DomainXmlSerializationBehavior implementation for defined behavior CoreDesignSurfaceSerializationBehavior. This is the concrete type of the double-derived implementation.

CoreDesignSurfaceSerializationBehaviorBase

A DomainXmlSerializationBehavior implementation for defined behavior CoreDesignSurfaceSerializationBehavior. This is the abstract base of the double-derived implementation.

CoreDesignSurfaceSerializationBehaviorMonikerResolver

Moniker resolver for serialization behavior CoreDesignSurfaceSerializationBehavior.

CoreDesignSurfaceSerializationBehaviorMonikerResolverBase

Base moniker resolver for serialization behavior CoreDesignSurfaceSerializationBehavior.

CoreDesignSurfaceSerializationBehaviorSerializationMessages

Utility class to provide serialization messages

CoreDesignSurfaceSerializationHelper

Helper class for serializing and deserializing CoreDesignSurface models.

CoreDesignSurfaceSerializationHelperBase

Helper class for serializing and deserializing CoreDesignSurface models.

CreateAction

CreateAction responds to select items from toolbox to create them on the diagram.

DashStyleTypeConverter

Type converter for displaying DashStyle values in the property grid. Filters out the "Custom" value since it doesn't make sense for this value to appear in the target designer.

Decorator

Class to encapsulate the way ShapeFields and child shapes are used to represent Notation Decorators

DecoratorDoubleEmptyArrow

This is an arrow decorator with only two lines

DecoratorEmptyArrow

This is an arrow decorator with only two lines

DecoratorEmptyDiamond

This is an diamond decorator filled with the diagram's background color.

DecoratorFilledArrow

This is an enclosed arrow decorator filled with a color based on BrushId.

DecoratorFilledDiamond

This is an diamond decorator filled with a color based on BrushId.

DecoratorHollowArrow

This is an enclosed arrow decorator filled with the diagram's background color.

DecoratorHostShape

DomainClass DecoratorHostShape Description for Microsoft.VisualStudio.Modeling.Diagrams.DecoratorHostShape

DecoratorHostShapeBase

Double-derived base class for DomainClass DecoratorHostShape

DecoratorHostShapeSerializer

Serializer DecoratorHostShapeSerializer for DomainClass DecoratorHostShape.

DecoratorHostShapeSerializerBase

Serializer DecoratorHostShapeSerializerBase for DomainClass DecoratorHostShape.

DefaultBoundsRules

Basic rules that constrain the child based on Snap-To-Grid and anchoring.

DefaultGroupBoundsRules

Rules which constrain the position of a group of shapes when the group is repositioned.

DesignSurfaceAccessibleObject

The accessible object for the DiagramClientView

DesignSurfaceElementOperations

Extends the IMS ElementOperations class by adding support for GhostShapeCollections.

DesignSurfaceMergeContext

Provides merge (i.e., drop/paste) information which is initially set by the merge process when the ElementGroupPrototype's objects are reconstituted into the target store. The merge information is subsequently used throughout the merge process and the fixup phase.

Diagram

DomainClass Diagram Description for Microsoft.VisualStudio.Modeling.Diagrams.Diagram

DiagramAssociationEventArgs

Event arguments for diagram - diagram view association events

DiagramBrushes

Each property of the DiagramBrushes class is a StyleSetResourceId object that uniquely identifies a brush resource used by the DiagramClientView paint methods.

DiagramClientView

This is an IMS-based design surface which is capable of rendering any IMS Diagram.

DiagramDeleteRule

A rule which executes when a Diagram has been removed from the Store.

DiagramDragEventArgs

Provides data for the DragDrop, DragEnter, or DragOver event.

DiagramEventArgs

The base event args class for events originating from the design surface control.

DiagramFixupConstants
DiagramFonts

Each property of the DiagramFonts class is a StyleSetResourceId object that uniquely identifies a font resource used by the DiagramClientView paint methods.

DiagramHitTestInfo
DiagramItem

Represents a ShapeElement, a ShapeField, or a ShapeSubField. This is intended to be used for hit-testing, selection, focus, and accessibility.

DiagramItemCollection

A collection of DiagramItem instances. A DiagramItem represents a ShapeElement, ShapeField, or ShapeSubField instance on the diagram and is used for such things as hit-testing and selection.

DiagramItemEventArgs

DiagramEventArgs that refer to a particular DiagramItem of interest.

DiagramKeyEventArgs

Provides data for the KeyDown or KeyUp event.

DiagramKeyPressEventArgs

Provides data for the KeyPress event.

DiagramMouseEventArgs

Provides data for the MouseUp, MouseDown, and MouseMove events.

DiagramPaintEventArgs

Paint arguments

DiagramPens

Each property of the DiagramPens class is a StyleSetResourceId object that uniquely identifies a pen resource used by the DiagramClientView paint methods.

DiagramPointEventArgs

Contains event data related to a mouse position.

DiagramSelectionRules
DiagramSerializer

Serializer DiagramSerializer for DomainClass Diagram.

DiagramSpy
DiagramTypeDescriptor

Specialized type descriptor for the Diagram class.

DiagramView

This is the view control that creates design surface and scrollbars.

DiagramViewAccessibleObject
DiagramWatermark

Diagram watermark control which appears when diagram is empty.

DiagramWinEvents

Accessible WinEvent support for Diagrams.

DragCanceledState

The MouseAction state that indicates that dragging has been canceled. This is not to be confused with the ActionCanceledState. This
DragCanceledState indicates that only the drag has been canceled;
not the entire MouseAction. The MouseAction can remain active even after canceling the drag. This allows for multiple drag operations within a single MouseAction.

DragCompletedState

The MouseAction state that indicates that dragging has completed. This is not to be confused with the ActionCompletedState. This
DragCompletedState indicates that only the drag has been completed;
not the entire MouseAction. The MouseAction can remain active even after completing the drag. This allows for multiple drag operations within a single MouseAction.

DragDropPendingAction

The MouseAction that detects if Ole drag/drop should start. Once started, this MouseAction completes and then gives control to Ole drag/drop.

DraggingState

The MouseAction state that indicates that the user is actively dragging with the mouse.

DragPendingState

The MouseAction state that indicates that the user has pressed down the mouse button but not yet lifted up on the mouse button or not yet moved the mouse far enough to initiate dragging.

DragSourceContext

Provides drag source information which is initially set when the ElementGroupPrototype is created at the source. It is used for drag feedback and the merge (i.e., drop/paste) process.

DropTargetContext

Provides methods to add and retrieve drop target context information to and from a particular transaction context.

DropTargetFeedback

Provides the means of drawing drag feedback using ghost shapes.

EdgePoint
EdgePointCollection

Handle a list of edgepoints exactly like an ArrayList

EdgePointCollectionConverter

TypeConverter for EdgePointCollection instances, so it can be serialized in human read-able form. The converted EdgePointCollection will have syntax "[(x : y : flag); (x : y : flag); ...]", where the flag can be omitted for Normal. For backward compatibility, the converter also supports converting from a string produced by binary serializer, but it will never convert an EdgePointCollection to binary form.

EdgePointConverter

TypeConverter for EdgePoint instances, so it can be serialized in human read-able form. The converted EdgePoint will have syntax "(x : y : flag)", where the flag can be omitted for Normal. For backward compatibility, the converter also supports converting from a string produced by binary serializer, but it will never convert an EdgePoint to binary form.

ElementListCompartment

DomainClass ElementListCompartment Description for Microsoft.VisualStudio.Modeling.Diagrams.ElementListCompartment

ElementListCompartmentDescription

Description for ListCompartments applied to CompartmentShapes.

ElementListCompartmentMapping

A mapping for ListCompartments that knows about the relationship that's being modeled in the compartment, and the property that's being displayed in the list.

ElementListCompartmentSerializer

Serializer ElementListCompartmentSerializer for DomainClass ElementListCompartment.

EllipseShapeGeometry

Summary description for EllipseShapeGeometry.

EmptySelection

Handles empty selections.

ExpandCollapseDecorator

Decorator that manages an expand/collapse button on a NodeShape

FieldAccessibleObject

Summary description for FieldAccessibleObject.

FontDescriptor

FontDescriptor class holds the FontStyleSetInfo for a class and an instance of the Font described by that info (if it's already been created). The FontDescriptor is what gets cached for later use.

FontSettings

FontSettings allows certain properties on a FontStyleSetInfo to be marked as overridden or immutable. If certain Font settings are marked as immutable, then they are not allowed to be changed again.

FontStyleSetInfo

Contains the StyleSet information about a font. These are all of the settings that be placed on a Font like Name, Size, FontStyle, etc. The information is used to create a unique hash code for this class which is used in the HybridDictionary for lookup of a particular cached resource.

GeneralDiagramSelectionRules
GeneralSelection

Handles general selections not covered by other selection states.

GenericCoreConnectAction

Generic connect action for Core design surface that connects two distinct ShapeElements

GenericCoreConnectionType

Connection Type that connects any two distinct ShapeElements

GenericLinkShape

DomainClass GenericLinkShape Description for Microsoft.VisualStudio.Modeling.Diagrams.GenericLinkShape

GenericLinkShapeSerializer

Serializer GenericLinkShapeSerializer for DomainClass GenericLinkShape.

GeometryHelpers
GhostShape

Describes a ShapeElement

GhostShapeCollection

A collection of GhostShapes.

GrabHandle
GroupBoundsRules

Rules that constrain the overall bounds of a group of shapes as a whole.

GroupSnapToGridRule

A GroupBoundsRule which constrains the overall bounds of a group of child shapes such that the primary shape's location snaps to the grid if the grid is enabled.

HighlightedShapesCollection

Collection of shapes and DiagramItems that are highlighted on the design surface.

HoveringState

The MouseAction state that indicates that the MouseAction is active and waiting for events.

HslColor

HueSatLumColor represents colors by their Hue-Saturation-Luminosity value rather than the traditional RGB value. This class provides conversion methods to go back and forth between the HSL and RGB color spaces.

HslColorConverter

Provides a type converter to convert HslColor objects to and from other representations.

ImageField

A ShapeField which can display an image in a ShapeElement.

ImageHelper
ImageShape

DomainClass ImageShape Description for Microsoft.VisualStudio.Modeling.Diagrams.ImageShape

ImageShapeGeometry

Encapsulates drawing, folding, and hit testing a shape based on an external image on the design surface

ImageShapeSerializer

Serializer ImageShapeSerializer for DomainClass ImageShape.

InactiveState

The MouseAction state that indicates that the MouseAction is not in use. When a MouseAction is first created, it is in an inactive state. The MouseAction must be activated before it can be used. After a MouseAction completes or has been canceled, it is once again inactivated.

InPlaceTextEditor
InvokeEditorAction

Invokes the editor on click.

ItemDrawInfo

Information for a single list item in a list field.

KeepGroupWithinDiagramRule

A GroupBoundsRule which will constrain the overall bounds of a group of child shapes so that it remains inside the target shape's diagram

KeepGroupWithinParentRule

A GroupBoundsRule which will constrain the overall bounds of a group of child shapes so that it remains below and to the right of the top and left boundaries of the parent shape. The right and bottom side of the parent shape will not constrain the child shapes.

KeepInParentRule

A Bounds rule that keeps the shape within the boundary of the diagram.

LabelShape

DomainClass LabelShape Description for Microsoft.VisualStudio.Modeling.Diagrams.LabelShape

LabelShapeSerializer

Serializer LabelShapeSerializer for DomainClass LabelShape.

LabelShapeTextPropertyDescriptor

Property descriptor for the LabelShape's Text property.

LabelShapeTypeDescriptor

Specialized type descriptor for the LabelShape class.

LabelTextField

Text field displayed on a label shape.

LassoAction

The MouseAction that allows selection using the rectangle defined by clicking and dragging.

LeaveShapeEventArgs

Contains event data related to the mouse cursor leaving a shape.

LineLabelAutoPlacementChangeRule
LineLabelShape

DomainClass LineLabelShape Description for Microsoft.VisualStudio.Modeling.Diagrams.LineLabelShape

LineLabelShapeSerializer

Serializer LineLabelShapeSerializer for DomainClass LineLabelShape.

LineRoutingRule

Custom rule to tell the design surface when the lines on the diagram need to be rerouted.

LineSegment

This class represents that piece of a LinkShape by its two end points.

LineSegmentAccessibleObject

Summary description for FieldAccessibleObject.

LinkConnectsToNode

DomainRelationship LinkConnectsToNode Description for Microsoft.VisualStudio.Modeling.Diagrams.LinkConnectsToNode

LinkConnectsToNodeSerializer

Serializer LinkConnectsToNodeSerializer for DomainClass LinkConnectsToNode.

LinkDecorator

Base LinkDecorator class which allows other derived classes to implement actual different geometries for decorators.

This class also provides static accessors for the different type of decorators that exist as part of the core design surface.

LinkShape

DomainClass LinkShape Description for Microsoft.VisualStudio.Modeling.Diagrams.LinkShape

LinkShapeChangedRule

Rule to reroute the the linke shape when one of its endpoint nodes is changed

LinkShapeGeometry

Encapsulates drawing, folding, and hit testing a link geometry on the design surface

LinkShapeSerializer

Serializer LinkShapeSerializer for DomainClass LinkShape.

ListCompartment

DomainClass ListCompartment Description for Microsoft.VisualStudio.Modeling.Diagrams.ListCompartment

ListCompartmentDescription

Description for ListCompartments applied to CompartmentShapes.

ListCompartmentSerializer

Serializer ListCompartmentSerializer for DomainClass ListCompartment.

ListField

A shape field capable of efficiently displaying a list of items.

ListItemSubField

The sub field which represents an item in a ListField.

LostFocusEventArgs

Event arguments for the LostFocus event, which originates as a WM_KILLFOCUS message from a System.Windows.Forms.Control. In addition to the DiagramEventArgs this holds the handles of the window getting and the window losing focus.

ManualRouteAction

The MouseAction that manually routes LinkShapes by manipulating their LineSegments.

MouseAction

Base class for all mouse actions.

MouseActionEventArgs

The event args class for events originating from the MouseAction class.

MouseActionState

The base class for all MouseAction states.

MoveableDecoratorHostShape

DomainClass MoveableDecoratorHostShape Description for Microsoft.VisualStudio.Modeling.Diagrams.MoveableDecoratorHostShape

MoveableDecoratorHostShapeBase

Double-derived base class for DomainClass MoveableDecoratorHostShape

MoveableDecoratorHostShapeSerializer

Serializer MoveableDecoratorHostShapeSerializer for DomainClass MoveableDecoratorHostShape.

MoveableDecoratorHostShapeSerializerBase

Serializer MoveableDecoratorHostShapeSerializerBase for DomainClass MoveableDecoratorHostShape.

NestedShapesParentRoleChangeRule
NoBoundsRules

NoBoundsRules can be applied to ensure no restrictions are placed on the shape's bounds.

NodeShape

DomainClass NodeShape Description for Microsoft.VisualStudio.Modeling.Diagrams.NodeShape

NodeShape.ExpandCollapseNodeShapeWhenAddedToDiagramRule

Rule to call Collapse() on a new NodeShape if its IsExpanded flag is false when it is parented (directly or indirectly) by the diagram. This rule calls Collapse() for the node shape that is added to the diagram and all other node shapes that are descendents of that node shape, because then got parented by the diagram too.

NodeShapeGeometry

Base geometry for NodeShapes.

NodeShapeSerializer

Serializer NodeShapeSerializer for DomainClass NodeShape.

NodeShapeTypeDescriptor

Specialized type descriptor for the Shape class.

PaintFeedbackArgs
PanZoomAction

The MouseAction that performs zoom.

ParentRoleChangeRule
ParentShapeContainsNestedChildShapes

The parent-child relationship for child shapes that are clipped by the bounds of the parent shape. The child is neither visible nor hit-testable outside of the parent's bounding box.

ParentShapeContainsNestedChildShapesAddRule
ParentShapeContainsNestedChildShapesDeleteRule
ParentShapeContainsNestedChildShapesSerializer

Serializer ParentShapeContainsNestedChildShapesSerializer for DomainClass ParentShapeContainsNestedChildShapes.

ParentShapeHasRelativeChildShapes

The parent-child relationship for child shapes that are not clipped by the bounds of the parent shape. The child is visible and hit-testable outside of the parent's bounding box.

ParentShapeHasRelativeChildShapesAddRule
ParentShapeHasRelativeChildShapesDeleteRule
ParentShapeHasRelativeChildShapesSerializer

Serializer ParentShapeHasRelativeChildShapesSerializer for DomainClass ParentShapeHasRelativeChildShapes.

PenDescriptor

PenDescriptor class holds the PenStyleSetInfo for a class and an instance of the Pen described by that info (if it's already been created). The PenDescriptor is what gets cached for later use.

PenSettings

PenSettings allows certain properties on a PenStyleSetInfo to be marked as overridden or immutable. If certain Pen settings are marked as immutable, then they are not allowed to be changed again.

PenStyleSetInfo

Contains the StyleSet information about a pen. These are all of the settings that be placed on a Pen like Color, Alignment, LineCap, PenType, etc. The information is used to create a unique hash code for this class which is used in the HybridDictionary for lookup of a particular cached resourse.

PlusMinusButtonField

A ShapeField that represents plus/minus button

PointDConverter

Provides a type converter to convert PointD objects to and from other representations.

Port

DomainClass Port Description for Microsoft.VisualStudio.Modeling.Diagrams.Port

PortGroupBoundsRules

Rules that constrain the overall bounds of a group of shapes that contain ports as a whole.

PortMovementRule

Bounds rules for keeping ports on the perimeter of their parent shapes.

PortPlacementHelper
PortSerializer

Serializer PortSerializer for DomainClass Port.

PortShape

DomainClass PortShape Description for Microsoft.VisualStudio.Modeling.Diagrams.PortShape

PortShapeSerializer

Serializer PortShapeSerializer for DomainClass PortShape.

PresentationElement

DomainClass PresentationElement Description for Microsoft.VisualStudio.Modeling.Diagrams.PresentationElement

PresentationElementSerializer

Serializer PresentationElementSerializer for DomainClass PresentationElement.

PresentationElementTypeDescriptionProvider

PresentationElementTypeDescriptionProvider provides the wrapper class which encapsulates the ModelElement object. This class is invoked when property grid wants to render the ModelElement object.

PresentationElementTypeDescriptor

Class for providing ModelElement TypeDesriptor for the propety grid support!

PresentationViewsSubject

DomainRelationship PresentationViewsSubject Description for Microsoft.VisualStudio.Modeling.Diagrams.PresentationViewsSubject

PresentationViewsSubjectSerializer

Serializer PresentationViewsSubjectSerializer for DomainClass PresentationViewsSubject.

PropertyChangedEventArgs

A general property changed EventArgs used to notify shapes of both IMS property changes as well as CLR property changes.

RectangleDConverter

Provides a type converter to convert RectangleD objects to and from other representations.

RectangleShapeGeometry

Encapsulates drawing, folding, and hit testing a Rectangle on the design surface

ResizeAction

The MouseAction that resizes shapes.

RoundedRectangleShapeGeometry

Summary description for RoundedRectangleShapeGeometry.

SelectAction

The base mouse action that selects shapes under the mouse.

SelectedShapesCollection
SelectionContext

Abstract class implementing a method to get the current selection state for a given selection.

SelectionState

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.

SelectionStateCollection
ShapeAccessibleObject

Provides information that accessibility applications use to adjust an application's UI for users with impairments.

ShapeAutoInvalidator

An invisible shape field, whose purpose is to force the parent shape to repaint itself when an associated value (specified in the constructor) changes.

ShapeDecorator

Class to encapsulate the way ShapeFields and child shapes are used to represent Notation Decorators when they are placed on a Shape

ShapeElement

DomainClass ShapeElement Description for Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement

ShapeElementAddRule

A rule which executes when a Diagram has been removed from the Store.

ShapeElementSerializer

Serializer ShapeElementSerializer for DomainClass ShapeElement.

ShapeEnumerator
ShapeField

Defines the base class for shape fields, which are components of a ShapeElement that are capable of drawing and editing. ShapeFields are analogous to Controls on a Form.

ShapeGeometries

Static class to expose instances of public ShapeGeometry objects

ShapeGeometry

The base class for all geometries used in the diagram.

ShapeIdCollection
ShapeModelingCollection
ShapeSubField

A sub component of a ShapeField that is optionally selectable, focusable, hit-testable, in-place-editable, and IAccessible. Examples of a ShapeSubField are list items in a list field, grid cells and grid lines in a grid field, and radio buttons in a radio button group.

ShapeSubFields are only created as needed. For example, a grid containing 10,000 cells only needs to create a subfield for a cell when the subfield is selected, focused, hit-tested, edited, or accessed via IAccessible.

A future enhancement is to allow a subfield to represent multiple elements. For example, a single subfield could represent an entire column in a grid.

SnakingInfo
SnapToGridRule

Snap-to-grid rules that constrain the ShapeElement's position and/or size.

SnapToPerimeterFollowingRotationRule

Bounds rule for following the perimeter of a parent shape.

StyleSet

A StyleSet is a collection of graphics objects that can be used by an application to specify a set of pens, brushes, and fonts to be used for all of the drawing operations. Within the painting code, you can call StyleSet.GetPen to retrieve a specific pen defined by the system. That pen will be set to the correct color and style defined with the application. Use that pen immediately as it is unique. If you need to hold onto a pen use GetPenCopy.

StyleSets can live at multiple levels in the system. There's an ApplicationStyleSet which are the app defined defaults style scheme. There are also ClassStyleSets which exist at the class type level to specify styles for all instances of that class of shape. There can also exist instance StyleSets which contains resource information for each instance of a shape. This should be used when different instances of the same class of shapes can have different appearance.

When actually trying to retrieve an object, like a Pen, the StyleSet code goes up the inheritance chain from instance to class to application StyleSets until if finds that first one that contains that resource that you're looking for (as defined by the ResourceId that you're asking for).

StyleSetResourceId

Class for uniquely defining a StyleSet resource.

SubfieldAccessibleObject

Summary description for SubfieldAccessibleObject.

SwimLaneFixUpContext

Provides context for the positioning of a newly inserted swimlane

SwimlaneHelper
SwimlaneShape

DomainClass SwimlaneShape Description for Microsoft.VisualStudio.Modeling.Diagrams.SwimlaneShape

SwimlaneShapeGeometry

Encapsulates drawing, folding, and hit testing a Swimlane on the design surface

SwimlaneShapeSerializer

Serializer SwimlaneShapeSerializer for DomainClass SwimlaneShape.

TextField

A ShapeField which can display text in a ShapeElement.

ToggleButtonEventArgs

Event arguments for ToggleButton class

ToggleButtonField

A ShapeField which can display an image corresponding the selected state

ToolboxAction

ToolboxAction responds to double-click events on toolbox items.

UnplacedShapesContext

Context information associated with drag-and-drop that keeps track of shapes that have not yet been positioned and will require later placement.

In any given transaction, we can have unplaced shapes for multiple diagrams, when multiple diagrams need to be fixed up.

Structs

AreaFieldCornerRadius

Structure that represents four floating-point values indicating the corner radii of the AreaField.

PointD
RectangleD

Stores a set of four doubles that represent the location and size of a rectangle.

SizeD

Interfaces

IAmbientFontProvider

The principal worker interface for the SAmbientFontProvider service

IBinaryLinkGeometryData

Defines the interface of the binary link geometry's container. A binary link is characterized by its edge points.

IContextMenuHost

Context menu host contract

IGeometryHost

Defines the interface of the geometry's container.

ILineLabel

Called by the LinkShape when EdgePoints change, to update position of the label

IListFieldContainer

Defines methods for the parent shape of the ListField.

INodeGeometryData
IShapeIterator

An interface for a shape iterator, which will be used to iterate through a shape and all its child shapes.

Enums

ActionRequest

The types of actions that can be taken at the end of a MouseAction event.

AnchoringBehavior.Edge
BinaryLinkShapeBase.AnchorEndState
BoundsFixupState

Enum that specifies the state when OnBoundsFixup is called.

BrushSettingsFlags

Flags to specify which Brush settings have been overridden or made immutable.

ConnectActionCursor
ConnectorArrowStyle

DomainEnumeration: ConnectorArrowStyle Description for Microsoft.VisualStudio.Modeling.Diagrams.ConnectorArrowStyle

ConnectorDecoratorPosition

DomainEnumeration: ConnectorDecoratorPosition Description for Microsoft.VisualStudio.Modeling.Diagrams.ConnectorDecoratorPosition

Diagram.CreateBitmapPreference

Preferences for Diagram.CreateBitmap()

DiagramClientView.EnsureVisiblePreferences

Preferences for the EnsureVisible method.

FontSettingsFlags

Flags to specify which Font settings have been overridden or made immutable.

GrabHandle.ShapeSide

The grab handle location

GrabHandle.VerticalSection
InvisibleCollapseFlags

The flags to determine the how the shapeField collapses when it is set to be invisible

LabelAlignment

Enumeration for aligning a label to its line; either to the left or right of the line.

LabelPlacedFlag

Enumeration for whether a label is auto placed or manually moved/sized.

LabelPlacement

Enumeration for where along line to position its label.

MouseActionEvent

Types of events that can be raised for a MouseAction.

NodeShape.NodeSides

Indicates one or more sides of a node shape.

PenSettingsFlags

Flags to specify which Pen settings have been overridden or made immutable.

PointRelativeTo

Indicates the point of reference from which the coordinates are relative.

PortPlacement

Port shape can be on one of the four sides of parent shape

ResizeDirection
RoutingStyle

DomainEnumeration: RoutingStyle Description for Microsoft.VisualStudio.Modeling.Diagrams.RoutingStyle

ShapeDecoratorPosition

DomainEnumeration: ShapeDecoratorPosition Description for Microsoft.VisualStudio.Modeling.Diagrams.ShapeDecoratorPosition

ShapeElement.RelationshipType

Defines the type of parent-child relationships allowed by the

SwimlaneAlignment

Enum that specifies how swimlanes can be aligned on the diagram: either horizontally or vertically.

SwimlaneDecoratorPosition

Swimlane decorators are only allows in 3 positions.

Delegates

ContextMenuRequestedEventHandler
DiagramItemEventHandler

Delegate for handling diagram item events.

DiagramKeyEventHandler

Delegate for handling keyboard events.

DiagramKeyPressEventHandler

Delegate for handling key press events.

DiagramMouseEventHandler

Delegate for handling mouse events.

DiagramPointEventHandler

Delegate for handling events that require point coordinates, such as a Click event.

DisplayImageGetter

Delegate to get the image to show for a compartment list item

DisplayStringGetter

Delegate to get the string to display on the compartment list item for the given model element.

DomainPresentationNavigator

Delegate for a method that navigates from a ModelElement to a set of PresentationElements that represent it on a set of Diagrams

EditValueEndedEventHandler

Occurs when editing has terminated, either by committing or discarding the changes.

ElementListGetter

Delegate that returns a list given a model element. Used for DomainPath traversal methods.

MouseAction.MouseActionActivatedEventHandler

Represents the method that will handle the MouseActionActivated event of a MouseAction.

MouseAction.MouseActionDeactivatedEventHandler

Represents the method that will handle the MouseActionDeactivated event of a MouseAction.

PresentationDomainNavigator

Delegate for a method that navigates from a PresentationElement to a ModelElement

PropertyElementGetter

Delegate to get the element on which the property being displayed for the given element is hosted.

ScrollPositionChangedEventHandler
ScrollRangeChangedEventHandler
SelectionChangedByDeletionEventHandler
ShapeSelectionChangedEventHandler
ShapeSelectionChangingEventHandler
ToggleButtonEventHandler
ZoomChangedEventHandler