This documentation is archived and is not being maintained.

ShapeElement.GetPotentialMouseAction Method

Gets the mouse action to perform for a MouseDown event over a specific point in the diagram.

Namespace: Microsoft.VisualStudio.Modeling.Diagrams
Assembly: Microsoft.VisualStudio.Modeling.Sdk.Diagrams (in microsoft.visualstudio.modeling.diagrams.dll)

public virtual MouseAction GetPotentialMouseAction (
	MouseButtons mouseButtons,
	PointD point,
	DiagramHitTestInfo hitTestInfo
)
public MouseAction GetPotentialMouseAction (
	MouseButtons mouseButtons, 
	PointD point, 
	DiagramHitTestInfo hitTestInfo
)
public function GetPotentialMouseAction (
	mouseButtons : MouseButtons, 
	point : PointD, 
	hitTestInfo : DiagramHitTestInfo
) : MouseAction

Parameters

mouseButtons

The mouse buttons that can cause the MouseDown event.

point

The point on the diagram, relative to the top-left point of the diagram.

hitTestInfo

The hit test information.

Return Value

The mouse action to perform for a MouseDown event over a specific point in the diagram.

public override DslDiagrams::MouseAction GetPotentialMouseAction(System.Windows.Forms.MouseButtons mouseButtons, DslDiagrams.PointD point, DslDiagrams::DiagramHitTestInfo hitTestInfo)
{
    DslDiagrams::LinkShape linkShape = hitTestInfo.HitDiagramItem.Shape as DslDiagrams::LinkShape;
    DslDiagrams::AnchorPoint anchorPoint = hitTestInfo.HitDiagramItem.AnchorPoint;
    DslDiagrams::MouseAction action = null;

    if ((linkShape != null) && (hitTestInfo.DiagramClientView.Selection.Count == 1) &&
             (anchorPoint != null))
    {
        action = this.SequenceDiagram.AnchorKeyPointAction;
    }

    else if ((mouseButtons == MouseButtons.Left || mouseButtons == MouseButtons.None) &&
(linkShape != null) && (hitTestInfo.DiagramClientView.Selection.Count == 1) &&
(hitTestInfo.DiagramClientView.Selection.PrimaryItem.Shape is LinkShape) &&
(hitTestInfo.DiagramClientView.Selection.PrimaryItem.Shape == linkShape) &&
(hitTestInfo.DiagramClientView.Selection.FocusedItem != null) &&
(hitTestInfo.DiagramClientView.Selection.FocusedItem.Shape == linkShape))
{
        action = this.SequenceDiagram.AnchorKeyPointAction;
}
    
    else
    {
        action = base.GetPotentialMouseAction(mouseButtons, point, hitTestInfo);            
    }
     
    
    return action;
}
     
    return action;
}
Show: