ShapeElement::GetPotentialMouseAction Method (MouseButtons, PointD, DiagramHitTestInfo^)

 

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

Namespace:   Microsoft.VisualStudio.Modeling.Diagrams
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)

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

Parameters

mouseButtons
Type: System.Windows.Forms::MouseButtons

The mouse buttons that can cause the mouse down event.

point
Type: Microsoft.VisualStudio.Modeling.Diagrams::PointD

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

hitTestInfo
Type: Microsoft.VisualStudio.Modeling.Diagrams::DiagramHitTestInfo^

The hit test information.

Return Value

Type: Microsoft.VisualStudio.Modeling.Diagrams::MouseAction^

The mouse action to perform for a mouse down 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;
}
Return to top
Show: