Microsoft.VisualStudio.Modeling.Diagrams Namespace

The types in the Microsoft.VisualStudio.Modeling.Diagrams namespace display your DSL as a diagram. They provide the implementation of the diagrams, shapes, and connectors that you define in the DSL Definition file. To customize the appearance of the DSL using program code, you work with the types defined in this namespace.

Class diagram of base shape and element types

The principal types of interest are:

  • NodeShape – the base class of shapes that you specify in DSL Definition.

  • BinaryLinkShape – the base class of connectors that you specify in DSL Definition. It has a base class LinkShape, which has no other derived classes.

  • Diagram – the base class of the diagram that you specify in DSL Definition.

  • ShapeElement – base class of NodeShape and LinkShape. Diagrams, shapes and connectors are all ShapeElements.

  • PresentationViewsSubject – the relationship between a shape or connector on the diagram and a domain model element.

  • ShapeField – an area within a shape, such as a section in a compartment shape, a row of text, a label, or an icon.

  • Decorator – an item displayed in a ShapeField. A IconDecorator contains an image on the shape, and a TextDecorator displays a label.

  • DiagramItem – a reference to a shape and optionally a field and subfield within the shape. Used to identify the target of a user operation.

  • ShapeGeometry – this class and its derived classes define and draw the outlines of the different major kinds of shapes, such as ellipses, rectangles, compartments, connectors, and icons. Shapes delegate to these classes the determination of whether a mouse point is inside the shape, and painting the basic outlines.

Class diagram of standard diagram types

Classes

  Class Description
Public class AbsoluteBoundsChangedEventArgs Old and new bounds values when the AbsoluteBounds property of a shape changes. This event originates from the Store.
Public class ActionCanceledState The MouseAction state that indicates that the MouseAction has been canceled.
Public class ActionCompletedState The MouseAction state that indicates that the MouseAction has completed.
Public class AmbientFontHelper Used to help retriving the designer font
Public class AnchoringBehavior Describes how the ShapeField should position and size itself as the parent NodeShape moves and resizes.
Public class AnchorPoint
Public class AnchorPointAction The MouseAction that manually routes LinkShapes by manipulating their LineSegments.
Public class AreaField A shape field that defines a color gradient to fill the background of a shape.
Public class AssociatedPropertyInfo Class that provides info about a domain property associated with a ShapeField.
Public class AvoidCornerRule Bounds rule that doesn't allow you to place a port in the rounded corner of a rectangle.
Public class BinaryLinkNodeChangeRule Rule to reroute the link when one of its endpoint nodes is changed.
Public class BinaryLinkShape Represents a line or arrow that can connect two shapes on a diagram. A binary link can also form a loop that connects a shape to itself.
Public class BinaryLinkShapeBase Abstract base class for BinaryLinkShape
Public class BinaryLinkShapeGeometry Encapsulates drawing, folding, and hit testing a BinaryLink on the design surface
Public class BinaryLinkShapeSerializer
Public class BinaryLinkShapeSerializerBase Serializer BinaryLinkShapeSerializerBase for DomainClass BinaryLinkShape.
Public class BoundsRules Rules that constrain where a shape can be located and how it can be sized.
Public class BrushDescriptor 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.
Public class 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.
Public class 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.
Public class ChevronButtonField A ShapeField that represents double arrows expand/collapse button
Public class CircleShapeGeometry Summary description for CircleShapeGeometry.
Public class 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.
Public class CommandIdCollection
Public class CommentShape Base comment class. CommentShape defines an editable comment shape.
Public class CommentShapeAddRule
Public class CommentShapeSerializer Serializer CommentShapeSerializer for DomainClass CommentShape.
Public class CommentShapeTypeDescriptor Specialized type descriptor for the CommentShape class.
Public class Compartment A compartment within a compartment shape.
Public class CompartmentDescription Base class for all Compartment descriptions.
Public class CompartmentMapping Base class for compartment mappings. Compartment mappings provide the glue between the content of compartments and the underlying object model
Public class CompartmentRuleHelper Static class with shared code for handling Compartment list item add, remove, and change rules.
Public class CompartmentSerializer Serializer CompartmentSerializer for DomainClass Compartment.
Public class CompartmentShape Base class of compartment shapes that you define in DSL Definition.
Public class CompartmentShapeAreaField
Public class CompartmentShapeSerializer Serializer CompartmentShapeSerializer for DomainClass CompartmentShape.
Public class CompartmentTypeDescriptor Specialized type descriptor for the Compartment class.
Public class ConnectAction Mouse action that allows user to drag from one SoftwareComponentType shape or Port shape to another in order to create a connection.
Public class ConnectionPoint ConnectionPoint wraps VGConnection objects from the graph object.
Public class ConnectionType Describes generic connection behavior between two ShapeElements
Public class ConnectorDecorator Class to encapsulate the way ShapeFields and child Shapes are used to represent Notation Decorators when they are placed on a Connector
Public class CoreDesignSurfaceCopyClosure Copy closure visitor filter
Public class CoreDesignSurfaceCopyClosureBase Base class for copy closure visitor filter
Public class CoreDesignSurfaceDeleteClosure Remove closure visitor filter
Public class CoreDesignSurfaceDeleteClosureBase Base class for remove closure visitor filter
Public class CoreDesignSurfaceDomainModel override reflection replacement apis
Public class CoreDesignSurfaceDomainModelSerializer Provides an implementation of the IDomainModelSerializer interface that can be used to serialize / deserialize the CoreDesignSurface domain model.
Public class CoreDesignSurfaceDomainModelSerializerBase Base class that implements IDomainModelSerializer
Public class CoreDesignSurfaceSerializationBehavior A DomainXmlSerializationBehavior implementation for defined behavior CoreDesignSurfaceSerializationBehavior. This is the concrete type of the double-derived implementation.
Public class CoreDesignSurfaceSerializationBehaviorBase A DomainXmlSerializationBehavior implementation for defined behavior CoreDesignSurfaceSerializationBehavior. This is the abstract base of the double-derived implementation.
Public class CoreDesignSurfaceSerializationBehaviorMonikerResolver Moniker resolver for serialization behavior CoreDesignSurfaceSerializationBehavior.
Public class CoreDesignSurfaceSerializationBehaviorSerializationMessages Utility class to provide serialization messages
Public class CoreDesignSurfaceSerializationHelper Helper class for serializing and deserializing CoreDesignSurface models.
Public class CoreDesignSurfaceSerializationHelperBase Helper class for serializing and deserializing CoreDesignSurface models.
Public class CreateAction CreateAction responds to select items from toolbox to create them on the diagram.
Public class 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.
Public class Decorator When overridden in a derived class, represents a decorator element in the diagram.
Public class DecoratorDoubleEmptyArrow This is an arrow decorator with only two lines
Public class DecoratorEmptyArrow This is an arrow decorator with only two lines
Public class DecoratorEmptyDiamond This is an diamond decorator filled with the diagram's background color.
Public class DecoratorFilledArrow This is an enclosed arrow decorator filled with a color based on BrushId.
Public class DecoratorFilledDiamond This is an diamond decorator filled with a color based on BrushId.
Public class DecoratorHollowArrow This is an enclosed arrow decorator filled with the diagram's background color.
Public class DecoratorHostShape DomainClass DecoratorHostShape Description for Microsoft.VisualStudio.Modeling.Diagrams.DecoratorHostShape
Public class DecoratorHostShapeBase Double-derived base class for DomainClass DecoratorHostShape
Public class DecoratorHostShapeSerializer Serializer DecoratorHostShapeSerializer for DomainClass DecoratorHostShape.
Public class DecoratorHostShapeSerializerBase Serializer DecoratorHostShapeSerializerBase for DomainClass DecoratorHostShape.
Public class DefaultBoundsRules Basic rules that constrain the child based on Snap-To-Grid and anchoring.
Public class DefaultGroupBoundsRules Rules which constrain the position of a group of shapes when the group is repositioned.
Public class DesignSurfaceAccessibleObject The accessible object for the DiagramClientView
Public class DesignSurfaceElementOperations Extends the IMS ElementOperations class by adding support for GhostShapeCollections.
Public class 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.
Public class Diagram Represents a diagram.
Public class DiagramAssociationEventArgs Event arguments for diagram - diagram view association events
Public class DiagramBrushes Each property of the DiagramBrushes class is a StyleSetResourceId object that uniquely identifies a brush resource used by the DiagramClientView paint methods.
Public class DiagramClientView This is an IMS-based design surface which is capable of rendering any IMS Diagram.
Public class DiagramDeleteRule A rule which executes when a Diagram has been removed from the Store.
Public class DiagramDragEventArgs Provides data for the DragDrop, DragEnter, or DragOver event.
Public class DiagramEventArgs The base event args class for events originating from the design surface control.
Public class DiagramFixupConstants
Public class DiagramFonts Each property of the DiagramFonts class is a StyleSetResourceId object that uniquely identifies a font resource used by the DiagramClientView paint methods.
Public class DiagramHitTestInfo
Public class DiagramItem Represents a ShapeElement, a ShapeField, or a ShapeSubField. This is intended to be used for hit-testing, selection, focus, and accessibility.
Public class 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.
Public class DiagramItemEventArgs DiagramEventArgs that refer to a particular DiagramItem of interest.
Public class DiagramKeyEventArgs Provides data for the KeyDown or KeyUp event.
Public class DiagramKeyPressEventArgs Provides data for the KeyPress event.
Public class DiagramMouseEventArgs Provides data for the MouseUp, MouseDown, and MouseMove events.
Public class DiagramPaintEventArgs Paint arguments
Public class DiagramPens Each property of the DiagramPens class is a StyleSetResourceId object that uniquely identifies a pen resource used by the DiagramClientView paint methods.
Public class DiagramPointEventArgs Contains event data related to a mouse position.
Public class DiagramSelectionRules
Public class DiagramSerializer Serializer DiagramSerializer for DomainClass Diagram.
Public class DiagramSpy
Public class DiagramTypeDescriptor Specialized type descriptor for the Diagram class.
Public class DiagramView This is the view control that creates design surface and scrollbars.
Public class DiagramViewAccessibleObject
Public class DiagramWatermark Diagram watermark control which appears when diagram is empty.
Public class DiagramWinEvents Accessible WinEvent support for Diagrams.
Public class 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.
Public class 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.
Public class DragDropPendingAction The MouseAction that detects if Ole drag/drop should start. Once started, this MouseAction completes and then gives control to Ole drag/drop.
Public class DraggingState The MouseAction state that indicates that the user is actively dragging with the mouse.
Public class 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.
Public class 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.
Public class DropTargetContext Provides methods to add and retrieve drop target context information to and from a particular transaction context.
Public class DropTargetFeedback Provides the means of drawing drag feedback using ghost shapes.
Public class EdgePoint
Public class EdgePointCollection Handle a list of edgepoints exactly like an ArrayList
Public class 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.
Public class 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.
Public class ElementListCompartment DomainClass ElementListCompartment Description for Microsoft.VisualStudio.Modeling.Diagrams.ElementListCompartment
Public class ElementListCompartmentDescription Description for ListCompartments applied to CompartmentShapes.
Public class 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.
Public class ElementListCompartmentSerializer Serializer ElementListCompartmentSerializer for DomainClass ElementListCompartment.
Public class EllipseShapeGeometry Summary description for EllipseShapeGeometry.
Public class EmptySelection Handles empty selections.
Public class ExpandCollapseDecorator Decorator that manages an expand/collapse button on a NodeShape
Public class FieldAccessibleObject Summary description for FieldAccessibleObject.
Public class 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.
Public class 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.
Public class 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.
Public class GeneralDiagramSelectionRules
Public class GeneralSelection Handles general selections not covered by other selection states.
Public class GenericCoreConnectAction Generic connect action for Core design surface that connects two distinct ShapeElements
Public class GenericCoreConnectionType Connection Type that connects any two distinct ShapeElements
Public class GenericLinkShape DomainClass GenericLinkShape Description for Microsoft.VisualStudio.Modeling.Diagrams.GenericLinkShape
Public class GenericLinkShapeSerializer Serializer GenericLinkShapeSerializer for DomainClass GenericLinkShape.
Public class GeometryHelpers
Public class GhostShape Describes a ShapeElement
Public class GhostShapeCollection A collection of GhostShapes.
Public class GrabHandle
Public class GroupBoundsRules Rules that constrain the overall bounds of a group of shapes as a whole.
Public class 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.
Public class HighlightedShapesCollection Collection of shapes and DiagramItems that are highlighted on the design surface.
Public class HoveringState The MouseAction state that indicates that the MouseAction is active and waiting for events.
Public class 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.
Public class HslColorConverter Provides a type converter to convert HslColor objects to and from other representations.
Public class ImageField Lightweight object that represents a part of a shape that can display image decorators or backgrounds.
Public class ImageHelper
Public class ImageShape Base class for shapes that display an image.
Public class ImageShapeGeometry Encapsulates drawing, folding, and hit testing a shape based on an external image on the design surface
Public class ImageShapeSerializer Serializer ImageShapeSerializer for DomainClass ImageShape.
Public class 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.
Public class InPlaceTextEditor
Public class InvokeEditorAction Invokes the editor on click.
Public class ItemDrawInfo Information for a single list item in a list field.
Public class 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
Public class 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.
Public class KeepInParentRule A Bounds rule that keeps the shape within the boundary of the diagram.
Public class LabelShape Represents a label shape in the Domain-Specific Language Designer.
Public class LabelShapeSerializer Serializer LabelShapeSerializer for DomainClass LabelShape.
Public class LabelShapeTextPropertyDescriptor Property descriptor for the LabelShape's Text property.
Public class LabelShapeTypeDescriptor Specialized type descriptor for the LabelShape class.
Public class LabelTextField Text field displayed on a label shape.
Public class LassoAction The MouseAction that allows selection using the rectangle defined by clicking and dragging.
Public class LeaveShapeEventArgs Contains event data related to the mouse cursor leaving a shape.
Public class LineLabelAutoPlacementChangeRule
Public class LineLabelShape DomainClass LineLabelShape Description for Microsoft.VisualStudio.Modeling.Diagrams.LineLabelShape
Public class LineLabelShapeSerializer Serializer LineLabelShapeSerializer for DomainClass LineLabelShape.
Public class LineRoutingRule Custom rule to tell the design surface when the lines on the diagram need to be rerouted.
Public class LineSegment This class represents a straight piece of line between two end points.
Public class LineSegmentAccessibleObject Summary description for FieldAccessibleObject.
Public class LinkConnectsToNode DomainRelationship LinkConnectsToNode Description for Microsoft.VisualStudio.Modeling.Diagrams.LinkConnectsToNode
Public class LinkConnectsToNodeSerializer Serializer LinkConnectsToNodeSerializer for DomainClass LinkConnectsToNode.
Public class 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.
Public class LinkShape Represents a connector line on a diagram. See also BinaryLinkShape.
Public class LinkShapeChangedRule Rule to reroute the the linke shape when one of its endpoint nodes is changed
Public class LinkShapeGeometry Encapsulates drawing, folding, and hit testing a link geometry on the design surface
Public class LinkShapeSerializer Serializer LinkShapeSerializer for DomainClass LinkShape.
Public class ListCompartment DomainClass ListCompartment Description for Microsoft.VisualStudio.Modeling.Diagrams.ListCompartment
Public class ListCompartmentDescription Description for ListCompartments applied to CompartmentShapes.
Public class ListCompartmentSerializer Serializer ListCompartmentSerializer for DomainClass ListCompartment.
Public class ListField A shape field capable of efficiently displaying a list of items.
Public class ListItemSubField The sub field which represents an item in a ListField.
Public class 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.
Public class ManualRouteAction The MouseAction that manually routes LinkShapes by manipulating their LineSegments.
Public class MouseAction Represents a mouse action.
Public class MouseActionEventArgs The event args class for events originating from the MouseAction class.
Public class MouseActionState The base class for all MouseAction states.
Public class MoveableDecoratorHostShape DomainClass MoveableDecoratorHostShape Description for Microsoft.VisualStudio.Modeling.Diagrams.MoveableDecoratorHostShape
Public class MoveableDecoratorHostShapeBase Double-derived base class for DomainClass MoveableDecoratorHostShape
Public class MoveableDecoratorHostShapeSerializer Serializer MoveableDecoratorHostShapeSerializer for DomainClass MoveableDecoratorHostShape.
Public class MoveableDecoratorHostShapeSerializerBase Serializer MoveableDecoratorHostShapeSerializerBase for DomainClass MoveableDecoratorHostShape.
Public class NestedShapesParentRoleChangeRule
Public class NoBoundsRules NoBoundsRules can be applied to ensure no restrictions are placed on the shape's bounds.
Public class NodeShape Represents a shape on a diagram, such as a rectangle, icon or other shape with an area (not a connector).
Public class 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.
Public class NodeShapeGeometry Base geometry for NodeShapes.
Public class NodeShapeSerializer Serializer NodeShapeSerializer for DomainClass NodeShape.
Public class NodeShapeTypeDescriptor Obsolete. Specialized type descriptor for the Shape class.
Public class PaintFeedbackArgs
Public class PanZoomAction The MouseAction that performs zoom.
Public class ParentRoleChangeRule
Public class 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.
Public class ParentShapeContainsNestedChildShapesAddRule
Public class ParentShapeContainsNestedChildShapesDeleteRule
Public class ParentShapeContainsNestedChildShapesSerializer Serializer ParentShapeContainsNestedChildShapesSerializer for DomainClass ParentShapeContainsNestedChildShapes.
Public class 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.
Public class ParentShapeHasRelativeChildShapesAddRule
Public class ParentShapeHasRelativeChildShapesDeleteRule
Public class ParentShapeHasRelativeChildShapesSerializer Serializer ParentShapeHasRelativeChildShapesSerializer for DomainClass ParentShapeHasRelativeChildShapes.
Public class 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.
Public class 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.
Public class 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.
Public class PlusMinusButtonField A ShapeField that represents plus/minus button
Public class PointDConverter Provides a type converter to convert PointD objects to and from other representations.
Public class Port DomainClass Port Description for Microsoft.VisualStudio.Modeling.Diagrams.Port
Public class PortGroupBoundsRules Rules that constrain the overall bounds of a group of shapes that contain ports as a whole.
Public class PortMovementRule Bounds rules for keeping ports on the perimeter of their parent shapes.
Public class PortPlacementHelper
Public class PortSerializer Serializer PortSerializer for DomainClass Port.
Public class PortShape Base class for port shapes that you can specify in the DSL Definition.
Public class PortShapeSerializer Serializer PortShapeSerializer for DomainClass PortShape.
Public class PresentationElement An element that appears in a user interface and represents a visible presentation of a domain model element.
Public class PresentationElementSerializer Serializer PresentationElementSerializer for DomainClass PresentationElement.
Public class PresentationElementTypeDescriptionProvider Obsolete. PresentationElementTypeDescriptionProvider provides the wrapper class which encapsulates the ModelElement object. This class is invoked when property grid wants to render the ModelElement object.
Public class PresentationElementTypeDescriptor Class for providing ModelElement TypeDesriptor for the propety grid support!
Public class PresentationViewsSubject The relationship between domain model elements and their presentation in a user interface, typically a diagram.
Public class PresentationViewsSubjectSerializer Serializer PresentationViewsSubjectSerializer for DomainClass PresentationViewsSubject.
Public class PropertyChangedEventArgs A general property changed EventArgs used to notify shapes of both IMS property changes as well as CLR property changes.
Public class RectangleDConverter Provides a type converter to convert RectangleD objects to and from other representations.
Public class RectangleShapeGeometry Encapsulates drawing, folding, and hit testing a Rectangle on the design surface
Public class ResizeAction The MouseAction that resizes shapes.
Public class RoundedRectangleShapeGeometry Summary description for RoundedRectangleShapeGeometry.
Public class SelectAction The base mouse action that selects shapes under the mouse.
Public class SelectedShapesCollection
Public class SelectionContext Abstract class implementing a method to get the current selection state for a given selection.
Public class 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.
Public class SelectionStateCollection
Public class ShapeAccessibleObject Provides information that accessibility applications use to adjust an application's UI for users with impairments.
Public class 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.
Public class ShapeDecorator Class to encapsulate the way ShapeFields and child shapes are used to represent Notation Decorators when they are placed on a Shape
Public class ShapeElement Represents a diagram or a shape or connector in a diagram. ShapeElements encapsulate the visual presentation of model elements.
Public class ShapeElementAddRule A rule which executes when a Diagram has been removed from the Store.
Public class ShapeElementSerializer Serializer ShapeElementSerializer for DomainClass ShapeElement.
Public class ShapeEnumerator
Public class ShapeField Lightweight object that represents a part of a shape that can display items such as the background image, text decorators, and icon decorators.
Public class ShapeGeometries Static class to expose instances of public ShapeGeometry objects
Public class ShapeGeometry Represents the geometry for a shape or connector.
Public class ShapeIdCollection
Public class ShapeModelingCollection
Public class 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.
Public class SnakingInfo
Public class SnapToGridRule Snap-to-grid rules that constrain the ShapeElement's position and/or size.
Public class SnapToPerimeterFollowingRotationRule Bounds rule for following the perimeter of a parent shape.
Public class 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).
Public class StyleSetResourceId Class for uniquely defining a StyleSet resource.
Public class SubfieldAccessibleObject Summary description for SubfieldAccessibleObject.
Public class SwimLaneFixUpContext Provides context for the positioning of a newly inserted swimlane
Public class SwimlaneHelper
Public class SwimlaneShape Represents a swimlane shape in a diagram. Base class for swmlane shapes that you specify in DSL Definition.
Public class SwimlaneShapeGeometry Encapsulates drawing, folding, and hit testing a Swimlane on the design surface
Public class SwimlaneShapeSerializer Serializer SwimlaneShapeSerializer for DomainClass SwimlaneShape.
Public class TextField Lightweight object that represents a part of a shape that can display text labels or areas.
Public class ToggleButtonEventArgs Event arguments for ToggleButton class
Public class ToggleButtonField A ShapeField which can display an image corresponding the selected state
Public class ToolboxAction ToolboxAction responds to double-click events on toolbox items.
Public class 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.

Structures

  Structure Description
Public structure AreaFieldCornerRadius Structure that represents four floating-point values indicating the corner radii of the AreaField.
Public structure PointD
Public structure RectangleD Stores a set of four doubles that represent the location and size of a rectangle.
Public structure SizeD

Interfaces

  Interface Description
Public interface IAmbientFontProvider The principal worker interface for the SAmbientFontProvider service
Public interface IBinaryLinkGeometryData Defines the interface of the binary link geometry's container. A binary link is characterized by its edge points.
Public interface IContextMenuHost Context menu host contract
Public interface IGeometryHost Defines the interface of the geometry's container.
Public interface ILineLabel Called by the LinkShape when EdgePoints change, to update position of the label
Public interface IListFieldContainer Defines methods for the parent shape of the ListField.
Public interface INodeGeometryData
Public interface IShapeIterator An interface for a shape iterator, which will be used to iterate through a shape and all its child shapes.

Delegates

  Delegate Description
Public delegate ContextMenuRequestedEventHandler
Public delegate DiagramItemEventHandler Delegate for handling diagram item events.
Public delegate DiagramKeyEventHandler Delegate for handling keyboard events.
Public delegate DiagramKeyPressEventHandler Delegate for handling key press events.
Public delegate DiagramMouseEventHandler Delegate for handling mouse events.
Public delegate DiagramPointEventHandler Delegate for handling events that require point coordinates, such as a Click event.
Public delegate DisplayImageGetter Delegate to get the image to show for a compartment list item
Public delegate DisplayStringGetter Delegate to get the string to display on the compartment list item for the given model element.
Public delegate DomainPresentationNavigator Delegate for a method that navigates from a ModelElement to a set of PresentationElements that represent it on a set of Diagrams
Public delegate EditValueEndedEventHandler Handles processing when editing has ended, usually by committing or discarding the changes.
Public delegate ElementListGetter Returns a list given a model element. Used for DomainPath traversal methods.
Public delegate MouseAction.MouseActionActivatedEventHandler Handles the MouseActionActivated event of a MouseAction.
Public delegate MouseAction.MouseActionDeactivatedEventHandler Handles the MouseActionDeactivated event of a MouseAction.
Public delegate PresentationDomainNavigator Navigates from a PresentationElement to a ModelElement.
Public delegate PropertyElementGetter Gets the element on which the property being displayed for the given element is hosted.
Public delegate ScrollPositionChangedEventHandler
Public delegate ScrollRangeChangedEventHandler
Public delegate SelectionChangedByDeletionEventHandler
Public delegate ShapeSelectionChangedEventHandler
Public delegate ShapeSelectionChangingEventHandler
Public delegate ToggleButtonEventHandler
Public delegate ZoomChangedEventHandler

Enumerations

  Enumeration Description
Public enumeration ActionRequest The types of actions that can be taken at the end of a MouseAction event.
Public enumeration AnchoringBehavior.Edge Refers to a side of a bounding rectangle in an AnchoringBehavior.
Public enumeration BinaryLinkShapeBase.AnchorEndState
Public enumeration BoundsFixupState Specifies the state when OnBoundsFixup is called.
Public enumeration BrushSettingsFlags Flags to specify which Brush settings have been overridden or made immutable.
Public enumeration ConnectActionCursor
Public enumeration ConnectorArrowStyle DomainEnumeration: ConnectorArrowStyle Description for Microsoft.VisualStudio.Modeling.Diagrams.ConnectorArrowStyle
Public enumeration ConnectorDecoratorPosition DomainEnumeration: ConnectorDecoratorPosition Description for Microsoft.VisualStudio.Modeling.Diagrams.ConnectorDecoratorPosition
Public enumeration Diagram.CreateBitmapPreference Preferences for Diagram.CreateBitmap()
Public enumeration DiagramClientView.EnsureVisiblePreferences Preferences for the EnsureVisible method.
Public enumeration FontSettingsFlags Flags to specify which Font settings have been overridden or made immutable.
Public enumeration GrabHandle.ShapeSide The grab handle location
Protected enumeration GrabHandle.VerticalSection
Public enumeration InvisibleCollapseFlags The flags to determine the how the shapeField collapses when it is set to be invisible
Public enumeration LabelAlignment Enumeration for aligning a label to its line; either to the left or right of the line.
Public enumeration LabelPlacedFlag Enumeration for whether a label is auto placed or manually moved/sized.
Public enumeration LabelPlacement Enumeration for where along line to position its label.
Public enumeration MouseActionEvent Types of events that can be raised for a MouseAction.
Public enumeration NodeShape.NodeSides Indicates one or more sides of a node shape.
Public enumeration PenSettingsFlags Flags to specify which Pen settings have been overridden or made immutable.
Public enumeration PointRelativeTo Indicates the point of reference from which the coordinates are relative.
Public enumeration PortPlacement Port shape can be on one of the four sides of parent shape
Public enumeration ResizeDirection
Public enumeration RoutingStyle DomainEnumeration: RoutingStyle Description for Microsoft.VisualStudio.Modeling.Diagrams.RoutingStyle
Public enumeration ShapeDecoratorPosition DomainEnumeration: ShapeDecoratorPosition Description for Microsoft.VisualStudio.Modeling.Diagrams.ShapeDecoratorPosition
Public enumeration ShapeElement.RelationshipType Defines the type of parent-child relationships allowed by the
Public enumeration SwimlaneAlignment Enum that specifies how swimlanes can be aligned on the diagram: either horizontally or vertically.
Public enumeration SwimlaneDecoratorPosition Swimlane decorators are only allows in 3 positions.