Share via


ShapeElement Class

Definition

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

public ref class ShapeElement abstract : Microsoft::VisualStudio::Modeling::Diagrams::PresentationElement, Microsoft::VisualStudio::Modeling::Diagrams::IGeometryHost
[Microsoft.VisualStudio.Modeling.Design.DescriptionResource("Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement.Description", typeof(Microsoft.VisualStudio.Modeling.Diagrams.CoreDesignSurfaceDomainModel), "Microsoft.VisualStudio.Modeling.Diagrams.GeneratedCode.DomainModelResx")]
[Microsoft.VisualStudio.Modeling.Design.DisplayNameResource("Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement.DisplayName", typeof(Microsoft.VisualStudio.Modeling.Diagrams.CoreDesignSurfaceDomainModel), "Microsoft.VisualStudio.Modeling.Diagrams.GeneratedCode.DomainModelResx")]
[Microsoft.VisualStudio.Modeling.DomainModelOwner(typeof(Microsoft.VisualStudio.Modeling.Diagrams.CoreDesignSurfaceDomainModel))]
[Microsoft.VisualStudio.Modeling.DomainObjectId("ffb3d9f5-7a47-4e12-8501-0055bd018825")]
[System.CLSCompliant(true)]
public abstract class ShapeElement : Microsoft.VisualStudio.Modeling.Diagrams.PresentationElement, Microsoft.VisualStudio.Modeling.Diagrams.IGeometryHost
[<Microsoft.VisualStudio.Modeling.Design.DescriptionResource("Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement.Description", typeof(Microsoft.VisualStudio.Modeling.Diagrams.CoreDesignSurfaceDomainModel), "Microsoft.VisualStudio.Modeling.Diagrams.GeneratedCode.DomainModelResx")>]
[<Microsoft.VisualStudio.Modeling.Design.DisplayNameResource("Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement.DisplayName", typeof(Microsoft.VisualStudio.Modeling.Diagrams.CoreDesignSurfaceDomainModel), "Microsoft.VisualStudio.Modeling.Diagrams.GeneratedCode.DomainModelResx")>]
[<Microsoft.VisualStudio.Modeling.DomainModelOwner(typeof(Microsoft.VisualStudio.Modeling.Diagrams.CoreDesignSurfaceDomainModel))>]
[<Microsoft.VisualStudio.Modeling.DomainObjectId("ffb3d9f5-7a47-4e12-8501-0055bd018825")>]
[<System.CLSCompliant(true)>]
type ShapeElement = class
    inherit PresentationElement
    interface IGeometryHost
Public MustInherit Class ShapeElement
Inherits PresentationElement
Implements IGeometryHost
Inheritance
Derived
Attributes
Implements

Constructors

ShapeElement(Partition, PropertyAssignment[])

Constructor.

Fields

DomainClassId

ShapeElement domain class Id.

Properties

AbsoluteBoundingBox

Gets the bounding rectangle in world units and relative to the top-left of the diagram.

AbsoluteBoundingBoxToEnsureVisible

Gets the bounding rectangle that DiagramClientView.EnsureVisible will use. The rectangle is in world units and relative to the top-left of the diagram.

AbsoluteCenter

Gets the Center of the ShapeElement's Absolute Bounds relative to the Diagram's top-left corner regardless of the parent ShapeElement.

AccessibilityObject

Gets the AccessibleObject assigned to the element

AccessibleDefaultActionDescription

Gets the default action description of the element for use by accessibility client applications

AccessibleDescription

Gets the description of the element used by accessibility client applications

AccessibleHelp

Gets a description of what the element does or how the element is used.

AccessibleHelpTopicFileName

Gets the path to the Help file associated with this element.

AccessibleHelpTopicId

Gets the help topic identifier associated with this element.

AccessibleName

Gets the name of the element used by accessibility client applications

AccessibleRole

Gets the accessible role of the control

AccessibleState

Gets the accessible state of the model element

AccessibleValue

Gets the accessible value for this element.

AllowsChildrenInSelection

Gets whether or not this shape's children are allowed in the same selection group as this parent.

AllowsChildrenToResizeParent

Gets value which determines if child shapes are allowed to resize this shape.

AllowsChildrenToShrinkParent

Gets value which determines if this shape can be shrunk as well as grown by changes to its nested children.

BackgroundBrushId

Gets the brush resource id that will be used to fill the background of the geometry.

BoundingBox

Gets the bounding rectangle in world units and relative to the top-left of this ShapeElement's parent.

CanFocus

Gets a value indicating whether the ShapeElement can receive the focus.

CanMove

Gets a value indicating whether the user is allowed to reposition the ShapeElement.

CanSelect

Gets a value indicating whether the user is allowed to select the ShapeElement.

Center

Gets the center point of the ShapeElement's bounds.

ClassStyleSet

Gets the style set shared amongst all instances of this class.

ClipWhenDrawingFields

Gets a value indicating whether the clipping region should be set to the bounding box of this shape when drawing its child ShapeFields.

Decorators

A collection of decorators for this type of shape. Return null if this type has no decorators. By default, shapes do not have decorators.

DefaultShapeField

Gets the first ShapeField that can receive focus. The field returned should be used as the default shape field to receive key events when the ShapeElement has the focus and the ShapeElement doesn't respond to the key events.

DefaultSize

Gets the default size of a ShapeElement in world units.

Diagram

Gets the diagram that this ShapeElement belongs to. (This can be null.)

EnsureVisiblePreference

Preferences for the EnsureVisible method for this Shape. Default value is to return the VisiblePreference for the Diagram hosting this Shape.

Events

Returns the list of event handlers attached to this ShapeElement.

GeometryBackgroundBrushId

Gets the brush resource id that will be used to fill the background of the geometry.

GeometryBoundingBox

Gets the bounding box of the geometry. (Intended to be called only by the ShapeGeometry-derived classes.)

GeometryHasFilledBackground

Gets a value indicating whether the background of the geometry will be filled. (Intended to be called only by the ShapeGeometry-derived classes.)

GeometryHasOutline

Gets a value indicating whether the outline of the geometry will be drawn. (Intended to be called only by the ShapeGeometry-derived classes.)

GeometryHasShadow

Gets a value indicating whether the geometry displays a shadow. (Intended to be called only by the ShapeGeometry-derived classes.)

GeometryOutlinePenId

Gets the pen resource id that will be used to draw the outline of the geometry.

GeometryStyleSet

Gets the style set to use for the geometry. (Intended to be called only by the ShapeGeometry-derived classes.)

GridSize

Gets the size of the grid in world units that this shape is on. By default, the parent shape's GridSize is used.

HasChildren

Gets a value indicating whether the ShapeElement has one or more child ShapeElements with either a relative or nested relationship.

HasCustomToolTip

Returns whether this shape has a custom rendering of a tooltip

HasDragOverToolTip

Returns whether drag-over tooltip is supported by this shape.

HasFilledBackground

Gets a value indicating whether to draw the background of the shape.

HasHighlighting

Gets a value indicating whether to draw the ShapeElement's highlight

HasOutline

Gets a value indicating whether to draw the outline of the shape.

HasShadow

Gets a value indicating whether to draw the ShapeElement's shadow

HasToolTip

Get/Set whether or not the Shape shows a mouse hover tooltip by default

Id

Unique identifier of this element.

(Inherited from ModelElement)
IsActive

Returns true if the Element is currently active within the model, false if the element has been deleted or is in the process of being deleted.

(Inherited from ModelElement)
IsDeleted

Has the element been deleted from the model. (Deleted elements are not immediately destroyed so that the undo command may undo deleting the element.)

(Inherited from ModelElement)
IsDeleting

Has the element been deleted from the model. (Deleted elements are not immediately destroyed so that the undo command may undo deleting the element.)

(Inherited from ModelElement)
IsNestedChild

Gets a value indicating whether this shape is a nested child of its parent rather than a relative child. A nested child is clipped by its parent shape, whereas a relative child is not.

IsRelativeChild

Gets a value indicating whether this shape is a relative child of its parent rather than a nested child. A nested child is clipped by its parent shape, whereas a relative child is not.

IsVisible

Gets the visibility attribute of this shape.

LineAdjustAwayDefault

Gets or sets a value that indicates whether intermediate line segments of child link shapes should try to align when the link shapes share a common connected shape. Intermediate line segments are the segments that do not contain either LinkShape endpoints. This property does not affect affinity of this shape with sibling shapes; it only applies to link shapes that are children of this shape.

LineAffinityDefault

Gets or sets a value that indicates whether intermediate line segments of child link shapes should try to align when the link shapes share a common connected shape. Intermediate line segments are the segments that do not contain either LinkShape endpoints. This property does not affect affinity of this shape with sibling shapes; it only applies to link shapes that are children of this shape.

LineToLineClearance

Gets or sets the clearance in world units between child link shapes. This property does not affect line-to-line clearance of this shape with sibling shapes; it only applies to link shapes that are children of this shape. This value must be greater than 1e-6.

LineToNodeClearance

Gets or sets the clearance in world units between child link shapes and child node shapes. This property does not affect line-to-node clearance of this shape with sibling shapes; it only applies to shapes that are children of this shape. This value must be greater than 1e-6.

MaximumShadowOffset

Gets the maximum shadow offset in world units. All shadow offsets must be less than this amount.

MaximumSize

Gets the maximum size of a ShapeElement in world units.

MinimumSize

Gets the minimum size of a ShapeElement in world units.

ModelElement

Gets or sets the model element associated with this presentation element.

(Inherited from PresentationElement)
NestedChildShapes

Gets a list of NestedChildShapes. Description for Microsoft.VisualStudio.Modeling.Diagrams.ParentShapeContainsNestedChildShapes.ParentShape

NestedShapesMargin

Gets the margin between this ShapeElement's bounding box perimeter and its nested node shapes. The margin is in world units. This margin is to provide a region along the perimeter of this ShapeElement where connection lines can route through.

NodeToNodeClearance

Gets or sets the clearance in world units between child node shapes. This property does not affect node-to-node clearance of this shape with sibling shapes; it only applies to node shapes that are children of this shape. This value must be greater than 1e-6.

OutlinePenId

Gets the pen resource id that will be used to draw the outline of the geometry.

OutlinePenWidth

Gets the outline pen width in world units. This is useful for inflating the ShapeElement bounding rectangle for invalidation purposes.

PaintMoveableDecoratorSelectionLines

When this shape is selected, whether to draw one selection line to each moveable decorator attached to this shape, if the decorator has been manually placed or sized. The base implementation returns true.

ParentLink

Gets the relationship to the parent ShapeElement.

ParentShape

ParentShape DomainRole

Partition

Gets or sets the Partition instance that contains this element.

(Inherited from ModelElement)
Perimeter

Gets the graphics path which encompasses the ShapeElement outline, including the thickness of the outline pen that lies outside of the ShapePath. The points in the path are in world units relative to the parent ShapeElement.

RelatedShapeToEmphasize

Gets the related ShapeElement that should be visually emphasized to the user when this shape is selected. This appearance is different from selection and does not indicate that the related shape is selected. The intent is to draw the user's attention to the related shape to help provide context. This property returns null if no shape should be emphasized.

An example usage: The user may not be clear as to which shape a label is associated with, so by visually emphasizing the label's parent shape when the label is selected, the user can quickly identify the related shape.

RelativeChildShapes

Gets a list of RelativeChildShapes. Description for Microsoft.VisualStudio.Modeling.Diagrams.ParentShapeHasRelativeChildShapes.ParentShape

ShapeFields

A collection of shape fields for this type of shape.

ShapeGeometry

Gets the ShapeGeometry object associated with this ShapeElement.

ShouldTryParentShapeForMergeOnToolboxDoubleClick

Controls what happens when this ShapeElement is selected and the user double-clicks a toolbox item. By default, if CanMerge() fails for this ShapeElement, the double-click action will walk up to this ShapeElement's ParentShape and try the CanMerge() again. If a shape overrides this method to return false, the toolbox double-click will terminate if CanMerge() fails.

Store

Get the Store instance that contains this element.

(Inherited from ModelElement)
StyleSet

Gets the instance StyleSet if this ShapeElement has one, otherwise gets the ClassStyleSet.

Subject

Gets or sets Subject. Description for Microsoft.VisualStudio.Modeling.Diagrams.PresentationViewsSubject.Presentation

(Inherited from PresentationElement)
TargetToolboxItemFilterAttributes

Returns a collection of ToolboxItemFilterAttribute objects for this shape. These attributes are used to determine items that are enabled/disabled in the toolbox. The collection returned here becomes part of the collection that toolbox items must match in order to be enabled. To define the collection that is part of the toolbox item itself, apply ToolboxItemFilterAttribute(s) to the ModelElement that represents the toolbox item.

ZOrder

Gets the relative Z-Order for this ShapeElement. If this is a diagram then this is the most recent z-order number used to renumber.

Methods

AccessibleDoDefaultAction()

Performs the default action associated with this accessible object.

Associate(ModelElement)

Associates this presentation element with its model element.

(Inherited from PresentationElement)
AssociateValueWith(Store, AssociatedPropertyInfo)

Associates this shape's resource value with an IMS property value. Use this method when the IMS property exists on an element that is not this ShapeElement.

AssociateValueWith(Store, Guid)

Associates this shape's resource with an IMS property value on the ShapeElement itself.

CalculateDerivedVisible(ShapeElement)

Calculate the DerivedVisible value for this shape, assuming the parent is correct.

CanMerge(ProtoElementBase, ElementGroupPrototype)

Returns a value indicating whether the source element represented by the specified root ProtoElement can be added to this element.

(Inherited from ModelElement)
ChooseMergeTarget(ElementGroup)

Gets the ModelElement to be used as the target for the ElementGroup merge process.
This is called by the merge process when this element is the target of the merge.
This provides this element with the opportunity to change the target to something other than itself.

(Inherited from ModelElement)
ChooseMergeTarget(ElementGroupPrototype)

Gets the ModelElement to be used as the target for the ElementGroupPrototype merge process.
This is called by the merge process when this element is the target of the merge.
This provides this element with the opportunity to change the target to something other than itself.

(Inherited from ModelElement)
ChooseParentShape(ShapeElement)

Called by ShapeElement.FixUpChildShapes() to determine which shape should be the parent shape for the new child shape. By default, this ShapeElement will be the parent, but there may be cases where a different shape should be.

ChooseRelationship(ShapeElement)

Called by ShapeElement.FixUpChildShapes() to get the type of relationship the child ShapeElement has to its parent.

CoerceSelection(DiagramItem, DiagramClientView, Boolean)

Allows a shape to change the selected items. Called from the select action.

Copy()

Creates a copy of the element in the model.

(Inherited from ModelElement)
Copy(IEnumerable<Guid>)

Creates a copy of the element in the model.

(Inherited from ModelElement)
CreateChildShape(ModelElement)

Called by ShapeElement.FixUpChildShapes() to retrieve a new instance of a child shape for the given model element.

CreateClassStyleSet()

Creates the class style set for this ShapeElement

CreateDecorators()

Instantiates the collection of decorators for this type of shape.

CreateInstanceStyleSet()

Create this instance's style set.

CreateShapeFields()

Instantiates the collection of shape fields for this type of shape.

Delete()

Deletes the element from the model.

(Inherited from ModelElement)
Delete(Guid[])

Deletes the element from the model.

(Inherited from ModelElement)
DetermineHighlightShape(ShapeElement)

Goes up the parent shape chain, until it finds a shape that has highlighting turned on, or it has reached the top of the parent chain.

DoFoldToShape(PointD, PointD)

Calculates the point along the ShapeElement perimeter where the given vector will intersect

DoHitTest(PointD, DiagramHitTestInfo, Boolean)

Performs a hittest given a point relative to the Diagram's top-left in world units.

DoHitTest(PointD, DiagramHitTestInfo)

Performs a hittest given a point relative to the Diagram's top-left in world units.

DoHitTestSelection(PointD, DiagramHitTestInfo)

Performs a hittest on the selection surrounding the ShapeElement given a point relative to the Diagram's top-left in world units.

DoKeyboardNavigation(Keys, DiagramClientView)

Calls the appropriate navigation method on the shape.

DrawResizeFeedback(DiagramPaintEventArgs, RectangleD)

Draws the ShapeElement's resizing feedback using the given absolute bounds for the ShapeElement.

ExcludeFromClipRegion(Graphics, Matrix, GraphicsPath)

Excludes this ShapeElement and its descendent ShapeElements from the clipping region in the specified Graphics object.

ExcludeGeometryFromClipRegion(Graphics, Matrix, GraphicsPath)

Excludes from the clipping region this geometry, including geometries of descendant IGeometryHost objects. (Intended to be called only by the ShapeGeometry-derived classes.)

FindDecorator(IList<Decorator>, String)
FindDecorator(String)

Finds the Decorator with the given name.

FindFirstChild(Boolean)

Called by this ShapeElement to get its first descendant in the navigation sequence.

Called by the child ShapeElement or ShapeField to get this shape's first descendant in the navigation sequence.

FindFreeArea(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double)

Find a free area in the shape or diagram's graph.

FindLastChild(Boolean)

Called by the child ShapeElement or ShapeField to get this shape's last descendant in the navigation sequence.

FindNextChild(DiagramItem, Boolean)

Called by the child ShapeElement or ShapeField to get the child's first sibling item following it in the navigation sequence.

FindNextInChildFields(ShapeField, Boolean)

Finds the first DiagramItem following the specified ShapeField. The search is confined to this shape's ShapeField collection, including its subfields.

FindPreviousChild(DiagramItem, Boolean)

Called by the child ShapeElement or ShapeField to get the child's first focusable sibling item preceding it in the navigation sequence.

FindPreviousInChildFields(ShapeField, Boolean)

Finds the first DiagramItem preceding the specified ShapeField. The search is confined to this shape's ShapeField collection, including its subfields.

FindShapeField(IList<ShapeField>, String)
FindShapeField(String)

Returns the first ShapeField with the given name in the ShapeFields collection. If a field with the given name is not found, this method returns null.

FixUpChildShapes(ModelElement)

Called by Diagram.FixUpDiagram() to provide the opportunity to create and/or configure child shapes in response to adding the specified child element to the model.

Focused(DiagramClientView)

Returns a value indicating whether this shape is focused in the specified view.

GetAccessibilityObject(DiagramClientView)

Gets the AccessibleObject assigned to the element

GetChildElements(ModelElement)

Called by ShapeElement.FixUpChildShapes() to get a collection of ModelElements that are considered child elements of the specified ModelElement. The child elements returned should have corresponding shape types that can be instantiated as child shapes of this ShapeElement.

GetCursor(Cursor, DiagramClientView, PointD)

Gets the cursor that is displayed when the mouse pointer is over the ShapeElement.

GetDomainClass()

Gets the most-derived domain class for this element.

(Inherited from ModelElement)
GetDragOverToolTipText(DiagramItem)

Returns mouse drag over tooltip text to show.

GetFieldAccessibleDescription(ShapeField)
GetFieldAccessibleName(ShapeField)
GetFieldAccessibleValue(ShapeField)
GetFieldRepresentedElement(ShapeField)

Gets the primary ModelElement that the specified child ShapeField represents.

GetFieldRepresentedProperty(ShapeField)

Gets property information that the specified ShapeField represents.

GetPotentialMouseAction(MouseButtons, PointD, DiagramHitTestInfo)

Retrieves a mouse action that should be made active on this (or the next) MouseDown event if the mouse is over the specified point.

GetRoleCollection<TCollection,TElement>(Guid)

Gets or creates the linked element collection

(Inherited from ModelElement)
GetShapeLuminosity(DiagramClientView, Color)

Calculates shape's luminosity based on current color's luminosity, and whether or not it's in the highlight list.

GetSubFieldAccessibleDescription(ShapeField, ShapeSubField)
GetSubFieldAccessibleName(ShapeField, ShapeSubField)
GetSubFieldAccessibleValue(ShapeField, ShapeSubField)
GetSubFieldRepresentedElements(ShapeField, ShapeSubField)

Gets a collection of ModelElements that the specified ShapeSubField represents.

GetSubFieldRepresentedProperty(ShapeField, ShapeSubField)

Gets the property descriptor associated with the specified subfield.

GetSubFieldRepresentedPropertyElements(ShapeField, ShapeSubField)

Gets the element that hosts the property displayed by a subfield. This may be different from the element returned by GetSubFieldRepresentedElements because the actual DomainPropertyInfo returned by GetSubFieldRepresentedProperty may be hosted in a child of the represented element.

GetToolTipText(DiagramItem)

Gets the tooltip text for the PEL element under the cursor

HasCachedDragOverResult(DiagramDragEventArgs)

Returns true if the Drag Over result is cached.

Hide()

Hide (make invisible) the shape and all its children

HideCustomToolTip(IWin32Window)

Hide the shape's custom tooltip

InitializeDecorators(IList<ShapeField>, IList<Decorator>)

Instantiates and adds shape fields (such as text and images) to this shape type.

InitializeInstanceResources()

Overrides existing resources for this instance of ShapeElement. This method is called after the instance style set has been instantiated. Override this method to modify existing resources for this ShapeElement instance.

InitializeResources(StyleSet)

Adds new resources or overrides existing resources for this type of ShapeElement. This method is called after the class style set has been instantiated. Override this method to add new resources or modify existing resources for this ShapeElement type.

InitializeShapeFields(IList<ShapeField>)
Invalidate()

Invalidates the ShapeElement.

Invalidate(Boolean)

Invalidates the ShapeElement.

Invalidate(RectangleD)

Invalidates the ShapeElement with the specified rectangle used as its absolute bounds.

IsDescendantOf(ShapeElement)

Returns a value indicating whether this shape is a descendant of the specified shape.

IsNavigationKey(Char)

Returns a value indicating whether the specified character corresponds to a navigational command.

IsNavigationKey(Keys)

Returns a value indicating whether the specified key data corresponds to a navigational command.

IterateShapes(IShapeIterator)

A method to help iterator through a shape and all its child shapes. The method will recursively go through all the child shapes of this shape and call the given iterator with each shape encountered. Note: The base implementation is that the traversal is depth-first, and NestedChildShapes are iterated before RelativeChildShapes.

MergeConfigure(ElementGroup)

PresentationElements should not override MergeConfigure() because it will not be called on PELs during Merge. Instead, PELs should use the view fixup overrides.

(Inherited from PresentationElement)
MergeDisconnect(ModelElement)

Performs operation opposite to MergeRelate - i.e. disconnects a given element from the current one (removes links created by MergeRelate).

(Inherited from ModelElement)
MergeRelate(ModelElement, ElementGroup)

PresentationElements should not override MergeRelate() because it will not be called on PELs during Merge. Instead, PELs should use the view fixup overrides.

(Inherited from PresentationElement)
ModifyLuminosity(Int32, DiagramClientView)

Calculates highlight luminosity based on: if L >= 160, then L = L * 0.9 else, L += 40.

MoveByRepositioning(DiagramDragEventArgs)

Repositions the shapes in the ElementGroupPrototype by the amount determined by the mouse position.

MoveByRepositioning(ElementGroupPrototype, DiagramItemCollection, PointD, DiagramItem)

Repositions the shapes in the given prototype to the specified point.

NavigateAscend(SelectedShapesCollection)

Called by this ShapeElement to set focus to its first focusable ancestor in the navigation sequence.

NavigateDescend(SelectedShapesCollection)

Called by this ShapeElement to set focus to its first focusable descendant in the navigation sequence.

NavigateTo(DiagramItem, SelectedShapesCollection)

Called by the Navigate methods to set the focus to the specified DiagramItem.

NavigateToFirst(SelectedShapesCollection)

Called by this ShapeElement to set focus to this shape's first sibling (i.e., the parent's first child) in the navigation sequence.

NavigateToLast(SelectedShapesCollection)

Called by this ShapeElement to set focus to this shape's last sibling (i.e., the parent's last child) in the navigation sequence.

NavigateToNext(SelectedShapesCollection)

Called by this ShapeElement to set focus to the next object in the navigation sequence. The selection's focused item is ignored; this shape is assumed to be the ShapeElement from which to start navigating.

NavigateToPrevious(SelectedShapesCollection)

Called by this ShapeElement to set focus to the previous object in the navigation sequence. The selection's focused item is ignored; this shape is assumed to be the ShapeElement from which to start navigating.

OnAssociatedPropertyChanged(PropertyChangedEventArgs)

Called when a property changes.

OnBeforePaint()

OnBeforePaint is called at the start of the ShapeElement's painting. It provides an opportunity for developers to update and override resources before they're used in painting.

OnBeginEdit(DiagramItemEventArgs)

Called when in-place editing has begun.

OnBoundsFixup(BoundsFixupState, Int32, Boolean)

Allows last opportunity for bounds to be userFixed during view and diagram fixup. You can override this method to apply any specific bounds fixup changes you want to apply.

OnChildConfigured(ShapeElement, Boolean, Boolean)

Called by ShapeElement.FixUpChildShapes() to allow this ShapeElement to post-configure its specified child ShapeElement. After OnChildConfiguring() is called, the new child shape is positioned at its drop target location (if applicable). This is called next, regardless of whether the child shape was positioned or not.

OnChildConfiguring(ShapeElement, Boolean)

Called by ShapeElement.FixUpChildShapes() to allow this ShapeElement to pre-configure its specified child ShapeElement. This is called immediately after the shape becomes a child of this ShapeElement, but before the shape has been positioned on the target shape.

OnClick(DiagramPointEventArgs)

Called by the control's OnClick().

OnCopy(ModelElement)

Called when a copy of the element has been created. The method is called on the duplicate element.

(Inherited from ModelElement)
OnDeleted()

Called by the model after the element has been deleted.

(Inherited from ModelElement)
OnDeleting()

Called by the model before the element is deleted.

(Inherited from ModelElement)
OnDoubleClick(DiagramPointEventArgs)

Called by the control's OnDoubleClick()

OnDragDrop(DiagramDragEventArgs)

Event raised when an IDataObject is dragged over and then dropped into the ShapeElement.

OnDragEnter(DiagramDragEventArgs)

Event raised when an IDataObject drag enters the ShapeElement's bounds.

OnDragLeave(DiagramPointEventArgs)

Event raised when an IDataObject drag leaves the ShapeElement's bounds.

OnDragOver(DiagramDragEventArgs)

Event raised when an IDataObject is dragged over the ShapeElement's bounds.

OnEndEdit(DiagramItemEventArgs)

Called when in-place editing has ended.

OnInitialize()

This method is called when a shape is inititially created, derived classes can override to perform shape instance initialization. This method is always called within a transaction.

OnKeyDown(DiagramKeyEventArgs)

Called when a key is pressed.

OnKeyPress(DiagramKeyPressEventArgs)

Called between a key down and key up.

OnKeyUp(DiagramKeyEventArgs)

Called when a key is released.

OnMouseDown(DiagramMouseEventArgs)

Called by the control's OnMouseDown().

OnMouseEnter(DiagramPointEventArgs)

Default implementation of ShapeElement event for OnMouseEnter.

OnMouseHover(DiagramPointEventArgs)

Default implementation of ShapeElement event for OnMouseHover.

OnMouseLeave(DiagramPointEventArgs)

Default implementation of ShapeElement event for OnMouseLeave.

OnMouseMove(DiagramMouseEventArgs)

Called by the control's OnMouseMove().

OnMouseUp(DiagramMouseEventArgs)

Called by the control's OnMouseUp().

OnMouseWheel(DiagramMouseEventArgs)

Called by the control's OnMouseWheel().

OnOrphaned(SerializationResult)

During deserialization, if a shape is not connected to any model element through PresentationViewsSubject relationship when it should, it is considered "orphaned". This method is called when such a shape is encountered during deserialization. Note: The base implementation will remove the shape.

OnPaintEmphasis(DiagramPaintEventArgs)

Draws visual emphasis on the shape. This does not indicate selection, it only draws the user's attention to this shape when another shape is selected. (See ShapeElement.RelatedShapeToEmphasize.)

OnPaintFeedback(DiagramPaintEventArgs)

Draws the drag/drop feedback when this ShapeElement (or possibly one of its descendents) is under the mouse. This is called by the control's OnPaint().

OnPaintSelection(DiagramPaintEventArgs)

Draws the selection of this ShapeElement. By default, the ShapeElement's ShapeGeometry will draw the selection. The coordinate system of the Graphics object is in world units and relative to the parent shape.

OnPaintShape(DiagramPaintEventArgs)

Draws the ShapeElement. This is called by the control's OnPaint().

OnResurrected()

Called by the model after the element has been resurrected (placed back into the store).

(Inherited from ModelElement)
OnRolePlayerPositionChanged(DomainRoleInfo, ElementLink, Int32, Int32)

Virtual method for notifying when role player position has changed.

(Inherited from ModelElement)
OnRolePlayerPositionChanging(DomainRoleInfo, ElementLink, Int32, Int32)

Virtual method for notifying when role player position will be changing.

(Inherited from ModelElement)
OnShapeInserted()

Called when this ShapeElement is made a child ShapeElement of its parent ShapeElement.

OnShapeRemoved()

Called when this ShapeElement is no longer a child ShapeElement of its parent ShapeElement.

PerformResizeParentRule()

Sets up and fires the ResizeParentRule with the appropriate information for this shape's parent. It only fires the event once per iteration and keeps a list of all of the changes that will be handled later.

PerformResizeParentRule(Boolean, ShapeElement)

Sets up and fires the ResizeParentRule with the appropriate information for this shape's parent. It only fires the event once per iteration and keeps a list of all of the changes that will be handled later.

PermitChildVisibility(ShapeElement)

Opportunity to influence the visibility of your child shapes

ProcessVisibilityChange(Boolean)

Process the consequential change from a change in the visibility of this shape

PurgeLayoutObjects()

Purge all graph layout objects in this hierarchy. Purge all points from wires - the point collection off the shape, not the graph points as the are already gone.

PurgePoints()

This method removes any points present

RebuildShape()

Performs view fixup on this ShapeElement.

RemoveLayoutObject()

removes (deletes) this ShapeElement from the GraphWrapper as well as its relative and nested child shapes.

Selected(DiagramClientView)

Returns a value indicating whether this shape is selected in the specified view.

SetInitialGraphLayoutVisibility()

If this shape's visibility has been adjusted before the graph layout object is created then make sure the two are in sync.

SetShowHideState(Boolean)

Set the visibility state of the shape and all its children

SetShowHideStateImplementation(Boolean)

Main impementation for Show and Hide

ShouldAddShapeForElement(ModelElement)

Called by ShapeElement.FixUpChildShapes() to get a value indicating whether a ShapeElement should be created and added as a child of this ShapeElement.

ShouldReparentOnMove()

Decides whether or not a shape should be reparented when it's moved.

Show()

Show (Make visible) the shape and all its children

ShowCustomToolTip(String, IWin32Window, Point)

Show the shape's custom tooltip with the given hints on text and position

ToString()

Returns the accessible-name of this object, plus its subtype.

TranslateGeometryToAbsoluteBounds(RectangleD)

Translates a rectangle from coordinates relative to the top-left of the IGeometryHost's parent to absolute world coordinates.

TranslateGeometryToRelativeBounds(RectangleD)

Translates a rectangle from absolute world coordinates to coordinates relative to the top-left of the IGeometryHost's parent.

TranslateToAbsoluteBounds(RectangleD)

Translates a rectangle from coordinates relative to the parent shape to absolute world coordinates.

TranslateToRelativeBounds(RectangleD)

Translates a rectangle from absolute world coordinates to coordinates relative to the parent shape.

UpdateDerivedVisible(ShapeElement)

Update the derived visible state of this shape

UpdateGeometryLuminosity(DiagramClientView, Brush)

Modifies the luminosity of the specified brush. (Intended to be called only by the ShapeGeometry-derived classes.)

UpdateGeometryLuminosity(DiagramClientView, Pen)

Modifies the luminosity of the specified pen. (Intended to be called only by the ShapeGeometry-derived classes.)

Events

Click

Event fired when the shape is clicked.

DoubleClick

Event fired when the shape is double-clicked.

KeyDown

Event fired when the shape has focus and a keyboard key is down.

KeyPress

Event fired when the shape has focused and a character is typed.

KeyUp

Event fired when the shape has focus and a keyboard key is released.

MouseDown

Event fired when a mouse button is pressed on the shape.

MouseMove

Event fired when the cursor moves over the shape.

MouseUp

Event fired when a mouse button is released on the shape.

MouseWheel

Event fired when the mouse wheel moves while the cursor is over the shape.

Explicit Interface Implementations

IMergeElements.CanMerge(ProtoElementBase, ElementGroupPrototype) (Inherited from ModelElement)
IMergeElements.ChooseMergeTarget(ElementGroup) (Inherited from ModelElement)
IMergeElements.ChooseMergeTarget(ElementGroupPrototype) (Inherited from ModelElement)
IMergeElements.MergeConfigure(ElementGroup) (Inherited from ModelElement)
IMergeElements.MergeDisconnect(ModelElement) (Inherited from ModelElement)
IMergeElements.MergeRelate(ModelElement, ElementGroup) (Inherited from ModelElement)

Extension Methods

GetDslDefinitionModelElement(PresentationElement)

This method ensures that the real model element corresponding to the PresentationElement is returned. For DslDesigner PELs, the corresponding subject may actually be an internal TreeNode class and not the actual MEL. This method handles those cases correctly so that the actual MEL is returned.

AddExtension(ModelElement, DomainClassInfo)

Extend this ModelElement with a newly instantiated extension of the specified domain type. An InvalidOperationException will be thrown if the element already has an extension of that type.

AddExtension(ModelElement, ExtensionElement)

Extend this ModelElement with a specific extension. An InvalidOperationException will be thrown if the element already has an extension of the same type.

AddExtension(ModelElement, Guid)

Extend this ModelElement with newly instantiated extension of the identified domain type. An InvalidOperationException will be thrown if the element already has an extension of that type.

AddExtension(ModelElement, Type)

Extend this ModelElement with a newly instantiated extension of the specified type. An InvalidOperationException will be thrown if the element already has an extension of that type.

AddExtension<T>(ModelElement)

Extend this ModelElement with a newly instantiated extension of a particular type. An InvalidOperationException will be thrown if the element already has an extension of the same type.

GetAllExtensions(ModelElement)

Return an enumerable that performs a breadth first traversal across the tree of extension elements embedded in this ModelElement.

GetBaseElement(ModelElement)

Returns the root of the virtual MEL in which the specified ModelElement is participating.

GetExtension(ModelElement, DomainClassInfo)
GetExtension(ModelElement, Guid)
GetExtension(ModelElement, Type)

Get the ExtensionElement of the specified type from the available extensions of this ModelElement. If the element has no such extension then an InvalidOperationException will be raised.

GetExtension<T>(ModelElement)

Get the ExtensionElement of the specified type from the available extensions of this ModelElement. If the element has no such extension then an InvalidOperationException will be raised.

IsExtendedBy(ModelElement, DomainClassInfo)

Query whether this ModelElement is currently extended by an ExtensionElement of a particular type.

IsExtendedBy(ModelElement, Guid)

Query whether this ModelElement is currently extended by an ExtensionElement of a particular type.

IsExtendedBy(ModelElement, Type)

Query whether this ModelElement is currently extended by an ExtensionElement of a particular type.

RemoveExtension(ModelElement, DomainClassInfo)

Remove any extension of the specified ModelElement that is of a particular type.

RemoveExtension(ModelElement, ExtensionElement)

Remove a specified ExtensionElement from the extensions of this ModelElement.

RemoveExtension(ModelElement, Guid)

Remove any extension of the specified ModelElement that is of a particular type.

RemoveExtension(ModelElement, Type)

Remove any extension of this ModelElement that is of a particular type.

TryGetExtension(ModelElement, DomainClassInfo)
TryGetExtension(ModelElement, Guid)
TryGetExtension(ModelElement, Type)
TryGetExtension<T>(ModelElement)

Get the ExtensionElement of the specified type from the available extensions of this ModelElement. If this element has no such extension then the result will be null.

CanDelete(ModelElement, Guid[])

Deletes the element from the model.

GetLocks(ModelElement)

Get the lock flags for this element. This will include any locks enabled on the Partition containing the element.

IsLocked(ModelElement, Locks)

Test whether this element has any of a specified set of locks

SetLocks(ModelElement, Locks)

Set the lock flags of this element

Applies to