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.

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.

Classes

  Class Description
Public class AbsoluteBoundsChangedEventArgs
Public class ActionCanceledState
Public class ActionCompletedState
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
Public class AreaField A shape field that defines a color gradient to fill the background of a shape.
Public class AssociatedPropertyInfo
Public class AvoidCornerRule
Public class BinaryLinkNodeChangeRule
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
Public class BinaryLinkShapeSerializer
Public class BinaryLinkShapeSerializerBase
Public class BoundsRules Defines limits on the size and location of a shape.
Public class BrushDescriptor
Public class BrushSettings
Public class BrushStyleSetInfo
Public class ChevronButtonField
Public class CircleShapeGeometry
Public class ClickedState
Public class CommandIdCollection
Public class CommentShape
Public class CommentShapeAddRule
Public class CommentShapeSerializer
Public class CommentShapeTypeDescriptor
Public class Compartment A compartment within a compartment shape.
Public class CompartmentDescription
Public class CompartmentMapping
Public class CompartmentRuleHelper
Public class CompartmentSerializer
Public class CompartmentShape Base class of compartment shapes that you define in DSL Definition.
Public class CompartmentShapeAreaField
Public class CompartmentShapeSerializer
Public class CompartmentTypeDescriptor
Public class ConnectAction
Public class ConnectionPoint
Public class ConnectionType
Public class ConnectorDecorator
Public class CoreDesignSurfaceCopyClosure
Public class CoreDesignSurfaceCopyClosureBase
Public class CoreDesignSurfaceDeleteClosure
Public class CoreDesignSurfaceDeleteClosureBase
Public class CoreDesignSurfaceDomainModel
Public class CoreDesignSurfaceSerializationBehavior
Public class CoreDesignSurfaceSerializationBehaviorBase
Public class CoreDesignSurfaceSerializationBehaviorMonikerResolver
Public class CoreDesignSurfaceSerializationBehaviorSerializationMessages
Public class DashStyleTypeConverter
Public class Decorator When overridden in a derived class, represents a decorator element in the diagram.
Public class DecoratorDoubleEmptyArrow
Public class DecoratorEmptyArrow
Public class DecoratorEmptyDiamond
Public class DecoratorFilledArrow
Public class DecoratorFilledDiamond
Public class DecoratorHollowArrow
Public class DecoratorHostShape
Public class DecoratorHostShapeBase
Public class DecoratorHostShapeSerializer
Public class DecoratorHostShapeSerializerBase
Public class DefaultBoundsRules
Public class DefaultGroupBoundsRules
Public class DesignSurfaceAccessibleObject
Public class DesignSurfaceElementOperations
Public class DesignSurfaceMergeContext
Public class Diagram Represents a diagram in the Domain-Specific Language Designer.
Public class DiagramAssociationEventArgs
Public class DiagramBrushes
Public class DiagramClientView
Public class DiagramDeleteRule
Public class DiagramDragEventArgs
Public class DiagramEventArgs
Public class DiagramFixupConstants
Public class DiagramFonts
Public class DiagramHitTestInfo
Public class DiagramItem
Public class DiagramItemCollection
Public class DiagramItemEnumerator
Public class DiagramItemEventArgs
Public class DiagramKeyEventArgs
Public class DiagramKeyPressEventArgs
Public class DiagramMouseEventArgs
Public class DiagramPaintEventArgs
Public class DiagramPens
Public class DiagramPointEventArgs
Public class DiagramSelectionRules
Public class DiagramSerializer
Public class DiagramSpy
Public class DiagramTypeDescriptor
Public class DiagramView
Public class DiagramViewAccessibleObject
Public class DiagramWatermark
Public class DiagramWinEvents
Public class DragCanceledState
Public class DragCompletedState
Public class DragDropPendingAction
Public class DraggingState
Public class DragPendingState
Public class DragSourceContext
Public class DropTargetContext
Public class DropTargetFeedback
Public class EdgePoint
Public class EdgePointCollection
Public class EdgePointCollectionConverter
Public class EdgePointConverter
Public class ElementListCompartment
Public class ElementListCompartmentDescription
Public class ElementListCompartmentMapping
Public class ElementListCompartmentSerializer
Public class EllipseShapeGeometry
Public class EmptySelection
Public class ExpandCollapseDecorator
Public class FieldAccessibleObject
Public class FontDescriptor
Public class FontSettings
Public class FontStyleSetInfo
Public class GeneralDiagramSelectionRules
Public class GeneralSelection
Public class GenericCoreConnectAction
Public class GenericCoreConnectionType
Public class GenericLinkShape
Public class GenericLinkShapeSerializer
Public class GeometryHelpers
Public class GhostShape
Public class GhostShapeCollection
Public class GrabHandle
Public class GroupBoundsRules
Public class GroupSnapToGridRule
Public class HighlightedShapesCollection
Public class HoveringState
Public class HslColor
Public class HslColorConverter
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
Public class ImageShapeSerializer
Public class InactiveState
Public class InPlaceTextEditor
Public class InvokeEditorAction
Public class ItemDrawInfo
Public class KeepGroupWithinDiagramRule
Public class KeepGroupWithinParentRule
Public class KeepInParentRule
Public class LabelShape Represents a label shape in the Domain-Specific Language Designer.
Public class LabelShapeSerializer
Public class LabelShapeTextPropertyDescriptor
Public class LabelShapeTypeDescriptor
Public class LabelTextField
Public class LassoAction
Public class LeaveShapeEventArgs
Public class LineLabelAutoPlacementChangeRule
Public class LineLabelShape
Public class LineLabelShapeSerializer
Public class LineSegment
Public class LineSegmentAccessibleObject
Public class LinkConnectsToNode
Public class LinkConnectsToNodeSerializer
Public class LinkDecorator
Public class LinkShape Represents a connector line on a diagram. See also BinaryLinkShape.
Public class LinkShapeChangedRule
Public class LinkShapeGeometry
Public class LinkShapeSerializer
Public class ListCompartment
Public class ListCompartmentDescription
Public class ListCompartmentSerializer
Public class ListField
Public class ListItemSubField
Public class LostFocusEventArgs
Public class ManualRouteAction
Public class ModelElementSerializer
Public class MouseAction Represents a mouse action.
Public class MouseActionEventArgs
Public class MouseActionState
Public class NestedShapesParentRoleChangeRule
Public class NoBoundsRules
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
Public class NodeShapeGeometry
Public class NodeShapeSerializer
Public class NodeShapeTypeDescriptor
Public class PaintFeedbackArgs
Public class PanZoomAction
Public class ParentRoleChangeRule
Public class ParentShapeContainsNestedChildShapes
Public class ParentShapeContainsNestedChildShapesAddRule
Public class ParentShapeContainsNestedChildShapesDeleteRule
Public class ParentShapeContainsNestedChildShapesSerializer
Public class ParentShapeHasRelativeChildShapes
Public class ParentShapeHasRelativeChildShapesAddRule
Public class ParentShapeHasRelativeChildShapesDeleteRule
Public class ParentShapeHasRelativeChildShapesSerializer
Public class PenDescriptor
Public class PenSettings
Public class PenStyleSetInfo
Public class PlusMinusButtonField
Public class PointDConverter
Public class Port
Public class PortGroupBoundsRules
Public class PortMovementRule
Public class PortPlacementHelper
Public class PortSerializer
Public class PortShape Base class for port shapes that you can specify in the DSL Definition.
Public class PortShapeSerializer
Public class PresentationElement An element that appears in a user interface and represents a visible presentation of a domain model element.
Public class PresentationElementSerializer
Public class PresentationElementTypeDescriptionProvider
Public class PresentationElementTypeDescriptor
Public class PresentationViewsSubject The relationship between domain model elements and their presentation in a user interface, typically a diagram.
Public class PresentationViewsSubjectSerializer
Public class PropertyChangedEventArgs
Public class RectangleDConverter
Public class RectangleShapeGeometry
Public class ResizeAction
Public class RoundedRectangleShapeGeometry
Public class SelectAction
Public class SelectedShapesCollection
Public class SelectionContext
Public class SelectionState
Public class SelectionStateCollection
Public class ShapeAccessibleObject
Public class ShapeAutoInvalidator
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
Public class ShapeElementSerializer
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
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
Public class SnapToPerimeterFollowingRotationRule
Public class StyleSet
Public class StyleSetResourceId
Public class SubfieldAccessibleObject
Public class SwimLaneFixUpContext
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
Public class SwimlaneShapeSerializer
Public class TextField Lightweight object that represents a part of a shape that can display text labels or areas.
Public class ToggleButtonEventArgs
Public class ToggleButtonField
Public class ToolboxAction
Public class UnplacedShapesContext

Structures

  Structure Description
Public structure AreaFieldCornerRadius
Public structure PointD
Public structure RectangleD
Public structure SizeD

Interfaces

  Interface Description
Public interface IBinaryLinkGeometryData
Public interface IGeometryHost
Public interface IListFieldContainer
Public interface INodeGeometryData
Public interface IShapeIterator

Delegates

  Delegate Description
Public delegate ContextMenuRequestedEventHandler
Public delegate DiagramItemEventHandler
Public delegate DiagramKeyEventHandler
Public delegate DiagramKeyPressEventHandler
Public delegate DiagramMouseEventHandler
Public delegate DiagramPointEventHandler
Public delegate DisplayImageGetter
Public delegate DisplayStringGetter
Public delegate DomainPresentationNavigator
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
Public enumeration AnchoringBehavior.Edge Refers to a side of a bounding rectangle in an AnchoringBehavior.
Public enumeration BinaryLinkShapeBase.AnchorEndState
Public enumeration BoundsFixupState
Public enumeration BrushSettingsFlags
Public enumeration ConnectActionCursor
Public enumeration ConnectorArrowStyle
Public enumeration ConnectorDecoratorPosition
Public enumeration Diagram.CreateBitmapPreference
Public enumeration DiagramClientView.EnsureVisiblePreferences
Public enumeration FontSettingsFlags
Public enumeration GrabHandle.ShapeSide
Protected enumeration GrabHandle.VerticalSection
Public enumeration InvisibleCollapseFlags
Public enumeration LabelAlignment
Public enumeration LabelPlacedFlag
Public enumeration LabelPlacement
Public enumeration MouseActionEvent
Public enumeration NodeShape.NodeSides
Public enumeration PenSettingsFlags
Public enumeration PointRelativeTo
Public enumeration PortPlacement
Public enumeration ResizeDirection
Public enumeration RoutingStyle
Public enumeration ShapeDecoratorPosition
Public enumeration ShapeElement.RelationshipType
Public enumeration SwimlaneAlignment
Public enumeration SwimlaneDecoratorPosition

Change History

Date

History

Reason

Added more detailed remarks.

Customer feedback.