UNPKG

markgojs

Version:

Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams

1,666 lines (596 loc) 60.9 kB
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>GoJS&reg; LinkReshapingTool Class</title> <script src="../../assets/js/jquery.min.js"></script> <script src="../../assets/js/bootstrap.min.js"></script> <script src="../../assets/js/highlight.js"></script> <script src="../../assets/js/api.js"></script> <script src="../../assets/js/fuse.min.js"></script> <link href="../../assets/css/bootstrap.min.css" rel="stylesheet" > <!-- custom CSS after bootstrap --> <link href="../../assets/css/main.css" rel="stylesheet" type="text/css"/> <link href="../../assets/css/api.css" rel="stylesheet" type="text/css"/> <!--<link rel="stylesheet" href="../../assets/css/api.css" type="text/css" media="all" />--> <link rel="stylesheet" href="../../assets/css/highlight.css" type="text/css" media="all" /> </head> <body> <!-- non-fixed navbar --> <nav id="non-fixed-nav" class="navbar navbar-inverse navbar-top"> <div class="container-fluid"> <div class="navbar-header"> <div class="navheader-container"> <div class="navheader-collapse" data-toggle="collapse" data-target="#navbar"> <a id="toplogo" class="navbar-brand" href="../../index.html">GoJS</a> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> </div> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav navbar-right"> <li><a href="../../index.html">Home</a></li> <li><a href="../../learn/index.html">Learn</a></li> <li><a href="../../samples/index.html">Samples</a></li> <li><a href="../../intro/index.html">Intro</a></li> <li><a href="../../api/index.html">API</a></li> <li><a href="https://www.nwoods.com/components/evalform.htm">Register</a></li> <li><a href="../../download.html">Download</a></li> <li><a href="https://forum.nwoods.com/c/gojs">Forum</a></li> <li><a href="https://www.nwoods.com/contact.html" onclick="ga('send','event','Outbound Link','click','contact');">Contact</a></li> <li class="buy"><a href="https://www.nwoods.com/sales/index.html" onclick="ga('send','event','Outbound Link','click','buy');">Buy</a></li> <li class="activate"><a href="https://www.nwoods.com/app/activate.aspx?sku=gojs">Activate</a></li> </ul> </div><!--/.nav-collapse --> </div> </nav> <div class="container-fluid"> <!-- ============================== classes index ============================ --> <div id="navindex" class="col-md-2"> <!-- begin publish.classesIndex --> <!-- <div><a href="../index.html">GoJS Class Index</a></div> --> <div class="sidebar-nav"> <div class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <div class="navheader-container"> <div class="navheader-collapse" data-toggle="collapse" data-target="#DiagramNavbar"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#DiagramNavbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <span class="navbar-brand">Diagram Classes</span> </div> </div> <div id="DiagramNavbar" class="navbar-collapse collapse sidebar-navbar-collapse"> <ul class="classList nav navbar-nav"> <li><a href="../symbols/Adornment.html" class="linkConstructor">Adornment</a></li> <li><a href="../symbols/AnimationManager.html" class="linkConstructor">AnimationManager</a></li> <li><a href="../symbols/CommandHandler.html" class="linkConstructor">CommandHandler</a></li> <li><a href="../symbols/Diagram.html" class="linkConstructor">Diagram</a></li> <li><a href="../symbols/DiagramEvent.html" class="linkConstructor">DiagramEvent</a></li> <li><a href="../symbols/GraphObject.html" class="linkConstructor">GraphObject</a></li> <li><a href="../symbols/Group.html" class="linkConstructor">Group</a></li> <li><a href="../symbols/InputEvent.html" class="linkConstructor">InputEvent</a></li> <li><a href="../symbols/Layer.html" class="linkConstructor">Layer</a></li> <li><a href="../symbols/Link.html" class="linkConstructor">Link</a></li> <li><a href="../symbols/Node.html" class="linkConstructor">Node</a></li> <li><a href="../symbols/Overview.html" class="linkConstructor">Overview</a></li> <li><a href="../symbols/Palette.html" class="linkConstructor">Palette</a></li> <li><a href="../symbols/Panel.html" class="linkConstructor">Panel</a></li> <li><a href="../symbols/Part.html" class="linkConstructor">Part</a></li> <li><a href="../symbols/Picture.html" class="linkConstructor">Picture</a></li> <li><a href="../symbols/Placeholder.html" class="linkConstructor">Placeholder</a></li> <li><a href="../symbols/RowColumnDefinition.html" class="linkConstructor">RowColumnDefinition</a></li> <li><a href="../symbols/Shape.html" class="linkConstructor">Shape</a></li> <li><a href="../symbols/TextBlock.html" class="linkConstructor">TextBlock</a></li> </ul> </div> </div> <div class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <div class="navheader-container"> <div class="navheader-collapse" data-toggle="collapse" data-target="#GeometryNavbar"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#GeometryNavbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <span class="navbar-brand">Geometry Classes</span> </div> </div> <div id="GeometryNavbar" class="navbar-collapse collapse sidebar-navbar-collapse"> <ul class="classList nav navbar-nav"> <li><a href="../symbols/Brush.html" class="linkConstructor">Brush</a></li> <li><a href="../symbols/Geometry.html" class="linkConstructor">Geometry</a></li> <li><a href="../symbols/Margin.html" class="linkConstructor">Margin</a></li> <li><a href="../symbols/PathFigure.html" class="linkConstructor">PathFigure</a></li> <li><a href="../symbols/PathSegment.html" class="linkConstructor">PathSegment</a></li> <li><a href="../symbols/Point.html" class="linkConstructor">Point</a></li> <li><a href="../symbols/Rect.html" class="linkConstructor">Rect</a></li> <li><a href="../symbols/Size.html" class="linkConstructor">Size</a></li> <li><a href="../symbols/Spot.html" class="linkConstructor">Spot</a></li> </ul> </div> </div> <div class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <div class="navheader-container"> <div class="navheader-collapse" data-toggle="collapse" data-target="#ModelNavbar"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#ModelNavbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <span class="navbar-brand">Model Classes</span> </div> </div> <div id="ModelNavbar" class="navbar-collapse collapse sidebar-navbar-collapse"> <ul class="classList nav navbar-nav"> <li><a href="../symbols/Binding.html" class="linkConstructor">Binding</a></li> <li><a href="../symbols/ChangedEvent.html" class="linkConstructor">ChangedEvent</a></li> <li><a href="../symbols/GraphLinksModel.html" class="linkConstructor">GraphLinksModel</a></li> <li><a href="../symbols/Model.html" class="linkConstructor">Model</a></li> <li><a href="../symbols/Transaction.html" class="linkConstructor">Transaction</a></li> <li><a href="../symbols/TreeModel.html" class="linkConstructor">TreeModel</a></li> <li><a href="../symbols/UndoManager.html" class="linkConstructor">UndoManager</a></li> </ul> </div> </div> <div class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <div class="navheader-container"> <div class="navheader-collapse" data-toggle="collapse" data-target="#LayoutNavbar"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#LayoutNavbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <span class="navbar-brand">Layout Classes</span> </div> </div> <div id="LayoutNavbar" class="navbar-collapse collapse sidebar-navbar-collapse"> <ul class="classList nav navbar-nav"> <li><a href="../symbols/CircularLayout.html" class="linkConstructor">CircularLayout</a></li> <li><a href="../symbols/ForceDirectedLayout.html" class="linkConstructor">ForceDirectedLayout</a></li> <li><a href="../symbols/GridLayout.html" class="linkConstructor">GridLayout</a></li> <li><a href="../symbols/LayeredDigraphLayout.html" class="linkConstructor">LayeredDigraphLayout</a></li> <li><a href="../symbols/Layout.html" class="linkConstructor">Layout</a></li> <li><a href="../symbols/LayoutNetwork.html" class="linkConstructor">LayoutNetwork</a></li> <li><a href="../symbols/TreeLayout.html" class="linkConstructor">TreeLayout</a></li> </ul> </div> </div> <div class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <div class="navheader-container"> <div class="navheader-collapse" data-toggle="collapse" data-target="#ToolNavbar"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#ToolNavbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <span class="navbar-brand">Tool Classes</span> </div> </div> <div id="ToolNavbar" class="navbar-collapse collapse sidebar-navbar-collapse"> <ul class="classList nav navbar-nav"> <li><a href="../symbols/ActionTool.html" class="linkConstructor">ActionTool</a></li> <li><a href="../symbols/ClickCreatingTool.html" class="linkConstructor">ClickCreatingTool</a></li> <li><a href="../symbols/ClickSelectingTool.html" class="linkConstructor">ClickSelectingTool</a></li> <li><a href="../symbols/ContextMenuTool.html" class="linkConstructor">ContextMenuTool</a></li> <li><a href="../symbols/DraggingTool.html" class="linkConstructor">DraggingTool</a></li> <li><a href="../symbols/DragSelectingTool.html" class="linkConstructor">DragSelectingTool</a></li> <li><a href="../symbols/HTMLInfo.html" class="linkConstructor">HTMLInfo</a></li> <li><a href="../symbols/LinkingBaseTool.html" class="linkConstructor">LinkingBaseTool</a></li> <li><a href="../symbols/LinkingTool.html" class="linkConstructor">LinkingTool</a></li> <li><a href="../symbols/LinkReshapingTool.html" class="linkConstructor">LinkReshapingTool</a></li> <li><a href="../symbols/PanningTool.html" class="linkConstructor">PanningTool</a></li> <li><a href="../symbols/RelinkingTool.html" class="linkConstructor">RelinkingTool</a></li> <li><a href="../symbols/ResizingTool.html" class="linkConstructor">ResizingTool</a></li> <li><a href="../symbols/RotatingTool.html" class="linkConstructor">RotatingTool</a></li> <li><a href="../symbols/TextEditingTool.html" class="linkConstructor">TextEditingTool</a></li> <li><a href="../symbols/Tool.html" class="linkConstructor">Tool</a></li> <li><a href="../symbols/ToolManager.html" class="linkConstructor">ToolManager</a></li> </ul> </div> </div> <div class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <div class="navheader-container"> <div class="navheader-collapse" data-toggle="collapse" data-target="#CollectionNavbar"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#CollectionNavbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <span class="navbar-brand">Collection Classes</span> </div> </div> <div id="CollectionNavbar" class="navbar-collapse collapse sidebar-navbar-collapse"> <ul class="classList nav navbar-nav"> <li><a href="../symbols/Iterable.html" class="linkConstructor">Iterable</a></li> <li><a href="../symbols/Iterator.html" class="linkConstructor">Iterator</a></li> <li><a href="../symbols/List.html" class="linkConstructor">List</a></li> <li><a href="../symbols/Map.html" class="linkConstructor">Map</a></li> <li><a href="../symbols/Set.html" class="linkConstructor">Set</a></li> </ul> </div> </div> </div> <!-- /class="sidebar-nav --> <!-- end publish.classesIndex --> </div> <div id="contentBody" class="col-md-10"> <div class="searchsumm"> <div class="table-wrap"> <div class="table-cell" id="apisearch" data-base="../"> <div class="title">Search API</div> <div class="field"> <label for="search-field" class="search-icon"></label> <input id="search-field" type="text" /> </div> <ul class="results"> <li class="state loading">Preparing search index...</li> <li class="state failure">The search index is not available</li> </ul> </div> <div class="table-cell" id="apisumm"> <input type="checkbox" id="showsumms" /> <label class="apisumms" for="showsumms">Show Summaries</label> </div> </div> </div> <!-- ============================== header ================================= --> <div id="header" class="fineprint"> <b>GoJS</b>&reg; Diagramming Components<br/>version 1.8.36 for JavaScript/HTML<br/>by <a href="https://www.nwoods.com/">Northwoods Software&reg;</a> </div> <!-- ============================== class title ============================ --> <h2 class="classTitle"> Class LinkReshapingTool </h2> <!-- ============================== class summary ========================== --> <p class="classsummary"> <span class="extends"> Extends <a href="../symbols/Tool.html" class="linkConstructor">Tool</a>.</span> The LinkReshapingTool is used to interactively change the route of a <a href="../symbols/Link.html" class="linkConstructor">Link</a> by setting its <a href="../symbols/Link.html#points" class="linkProperty">Link.points</a> list. You may want to save the route to the model by using a TwoWay <a href="../symbols/Binding.html" class="linkConstructor">Binding</a> on the "points" property of the Link. <p> This tool makes use of an <a href="../symbols/Adornment.html" class="linkConstructor">Adornment</a>, shown when the adorned <a href="../symbols/Link.html" class="linkConstructor">Link</a> is selected, that includes some number of reshape handles. This tool conducts a transaction while the tool is active. A successful reshaping will result in a "LinkReshaped" <a href="../symbols/DiagramEvent.html" class="linkConstructor">DiagramEvent</a> and a "LinkReshaping" transaction. <p class="boxread"> For a general discussion of link routing, see: <a href="../../intro/links.html">Introduction to Links</a>, <a href="../../intro/linkLabels.html">Introduction to Link Labels</a>, and <a href="../../intro/connectionPoints.html">Introduction to Link Connection Points</a>. For customizing the linking tools, see <a href="../../intro/tools.html#LinkingAndRelinkingTools">Introduction to the Linking Tools</a>. For a general discussion of validation, see <a href="../../intro/validation.html">Introduction to Validation</a>. </p> <!-- ============================== constructor summary ==================== --> <h2 id="constructor" class="summaryCaption"> Constructor <span class="nodetails"> Summary</span><span class="details"> Details</span></h2> <div class="table-responsive"> <table class="summaryTable table table-bordered table-condensed" summary="A summary of the constructor documented in the class LinkReshapingTool."> <thead> <tr> <th scope="col" class="name">Name</th> <th scope="col" class="description">Description</th> </tr> </thead> <tbody> <tr> <td class="name" > <div class="name"> LinkReshapingTool() </div> </td> <td class="description"> <div class="description"> <!--newp--><p><p>You do not normally need to create an instance of this tool because one already exists as the <a href="../symbols/ToolManager.html#linkReshapingTool" class="linkProperty">ToolManager.linkReshapingTool</a>, which you can modify.<span class="nodetails" id="xconLinkReshapingTool"><a class="morelink" onclick="hst('conLinkReshapingTool')">More...</a></span> <span class="details" id="conLinkReshapingTool"> </span><div class="details" id="dconLinkReshapingTool"><p> The <a href="../symbols/Tool.html#name" class="linkProperty">Tool.name</a> of this tool is "LinkReshaping".</div> </div> </td> </tr> </tbody> </table> </div><!-- class="table-responsive">--> <!-- ============================== properties summary ===================== --> <h2 class="summaryCaption">Properties<span class="nodetails"> Summary</span><span class="details"> Details</span></h2> <div class="table-responsive"> <table class="summaryTable table table-bordered table-condensed" summary="A summary of the properties documented in the class LinkReshapingTool."> <thead> <tr> <th scope="col" class="name">Name, Value Type</th> <th scope="col" class="description">Description</th> </tr> </thead> <tbody> <tr id="adornedLink" > <td class="name"> <div class="name"> adornedLink </div> <div class="attributes"> <span class="light">{<a href="../symbols/Link.html" class="linkConstructor">Link</a>}</span> </div> </td> <td class="description"> <div class="description"> <!--newp <p> --> <p>This read-only property returns the <a href="../symbols/Link.html" class="linkConstructor">Link</a> that is being routed manually. </div> </td> </tr> <tr id="handle" > <td class="name"> <div class="name"> handle </div> <div class="attributes"> <span class="light">{<a href="../symbols/GraphObject.html" class="linkConstructor">GraphObject</a>}</span> </div> </td> <td class="description"> <div class="description"> <!--newp <p> --> <p>This read-only property returns the <a href="../symbols/GraphObject.html" class="linkConstructor">GraphObject</a> that is the tool handle being dragged by the user.<span class="nodetails" id="xprophandle"><a class="morelink" onclick="hst('prophandle')">More...</a></span> <span class="details" id="prophandle"> This will be contained by an <a href="../symbols/Adornment.html" class="linkConstructor">Adornment</a> whose category is "LinkReshaping". Its <a href="../symbols/Adornment.html#adornedPart" class="linkProperty">Adornment.adornedPart</a> is the same as the <a href="../symbols/LinkReshapingTool.html#adornedLink" class="linkProperty">adornedLink</a>.</span> </div> </td> </tr> <tr id="handleArchetype" > <td class="name"> <div class="name"> handleArchetype </div> <div class="attributes"> <span class="light">{<a href="../symbols/GraphObject.html" class="linkConstructor">GraphObject</a>}</span> </div> </td> <td class="description"> <div class="description"> <!--newp <p> --> <p>Gets or sets a small GraphObject that is copied as a reshape handle at each movable point in the selected link's route.<span class="nodetails" id="xprophandleArchetype"><a class="morelink" onclick="hst('prophandleArchetype')">More...</a></span> <span class="details" id="prophandleArchetype"> By default this is a <a href="../symbols/Shape.html" class="linkConstructor">Shape</a> that is a small blue rectangle. Setting this property does not raise any events. </span><div class="details" id="dprophandleArchetype"><p> Here is an example of changing the default handles to be larger yellow circles: <pre class="javascript"> myDiagram.toolManager.linkReshapingTool.handleArchetype = $(go.Shape, "Circle", { width: 10, height: 10, fill: "yellow" }); </pre></div> <div class="seealso">See also: <ul class="seealsolist"> <li><a href="../symbols/LinkReshapingTool.html#midHandleArchetype" class="linkProperty">midHandleArchetype</a></li> </ul> </div> </div> </td> </tr> <tr id="midHandleArchetype" > <td class="name"> <div class="name"> midHandleArchetype </div> <div class="attributes"> <span class="light">{<a href="../symbols/GraphObject.html" class="linkConstructor">GraphObject</a>}</span> <span class="since" title="since">1.2</span> </div> </td> <td class="description"> <div class="description"> <!--newp <p> --> <p>Gets or sets a small GraphObject that is copied as a resegment handle at each mid-point in the selected Link's route.<span class="nodetails" id="xpropmidHandleArchetype"><a class="morelink" onclick="hst('propmidHandleArchetype')">More...</a></span> <span class="details" id="propmidHandleArchetype"> By default this is a <a href="../symbols/Shape.html" class="linkConstructor">Shape</a> that is a small blue diamond. Setting this property does not raise any events. </span><div class="details" id="dpropmidHandleArchetype"><p> Here is an example of changing the default handle to be larger cyan triangles: <pre class="javascript"> myDiagram.toolManager.linkReshapingTool.midHandleArchetype = $(go.Shape, "Triangle", { width: 10, height: 10, fill: "cyan" }); </pre></div> <div class="seealso">See also: <ul class="seealsolist"> <li><a href="../symbols/LinkReshapingTool.html#handleArchetype" class="linkProperty">handleArchetype</a></li> </ul> </div> </div> </td> </tr> <tr id="originalPoint" > <td class="name"> <div class="name"> originalPoint </div> <div class="attributes"> <span class="light">{<a href="../symbols/Point.html" class="linkConstructor">Point</a>}</span> <span class="since" title="since">1.1</span> </div> </td> <td class="description"> <div class="description"> <!--newp <p> --> <p>This read-only property returns the <a href="../symbols/Point.html" class="linkConstructor">Point</a> that was the original location of the handle that is being dragged to reshape the Link. </div> </td> </tr> <tr id="originalPoints" > <td class="name"> <div class="name"> originalPoints </div> <div class="attributes"> <span class="light">{List.<Point>}</span> <span class="since" title="since">1.1</span> </div> </td> <td class="description"> <div class="description"> <!--newp <p> --> <p>This read-only property returns the <a href="../symbols/List.html" class="linkConstructor">List</a> of <a href="../symbols/Point.html" class="linkConstructor">Point</a>s that was the original route of the Link that is being reshaped.<span class="nodetails" id="xproporiginalPoints"><a class="morelink" onclick="hst('proporiginalPoints')">More...</a></span> <span class="details" id="proporiginalPoints"> This List should not be modified; its value is indeterminate until a reshaping has been activated.</span> </div> </td> </tr> </tbody> </table> </div><!-- class="table-responsive">--> <dl class="inheritsList"> <dt>Properties borrowed from class <a href="../symbols/Tool.html" class="linkConstructor">Tool</a>: </dt><dd><a href="../symbols/Tool.html#diagram" class="linkProperty">diagram</a>, <a href="../symbols/Tool.html#isActive" class="linkProperty">isActive</a>, <a href="../symbols/Tool.html#isEnabled" class="linkProperty">isEnabled</a>, <a href="../symbols/Tool.html#name" class="linkProperty">name</a>, <a href="../symbols/Tool.html#transactionResult" class="linkProperty">transactionResult</a></dd> </dl> <!-- ============================== methods summary ======================== --> <h2 class="summaryCaption">Method <span class="nodetails"> Summary</span><span class="details"> Details</span></h2> <div class="table-responsive"> <table class="summaryTable table table-bordered table-condensed" summary="A summary of the methods documented in the class LinkReshapingTool."> <thead> <tr> <th scope="col" class="name">Name, Return Type</th> <th scope="col" class="description">Description</th> </tr> </thead> <tbody> <tr id="canStart"> <td class="name"> <div class="name"> canStart() </div> <div class="attributes"> <span class="light">{boolean}</span> </div> </td> <td class="description"> <div class="description"> <!--newp--><p><p>This tool may run when there is a mouse-down event on a reshape handle.<span class="nodetails" id="xmethcanStart"><a class="morelink" onclick="hst('methcanStart')">More...</a></span> <span class="details" id="methcanStart"> </span><div class="details" id="dmethcanStart"><p> This method may be overridden.</div> <dl class="detailList"> <dt class="heading">Returns:</dt> <dt><span class="light fixedFont">{boolean}</span> </dt> </dl> </div> </td> </tr> <tr id="computeReshape"> <td class="name"> <div class="name"> computeReshape(p) </div> <div class="attributes"> <span class="light">{<a href="../symbols/Point.html" class="linkConstructor">Point</a>}</span> </div> </td> <td class="description"> <div class="description"> <!--newp--><p><p>This is called by <a href="../symbols/LinkReshapingTool.html#doMouseMove" class="linkMethod">doMouseMove</a> and <a href="../symbols/LinkReshapingTool.html#doMouseUp" class="linkMethod">doMouseUp</a> to limit the input point before calling <a href="../symbols/LinkReshapingTool.html#reshape" class="linkMethod">reshape</a>.<span class="nodetails" id="xmethcomputeReshape"><a class="morelink" onclick="hst('methcomputeReshape')">More...</a></span> <span class="details" id="methcomputeReshape"> </span><div class="details" id="dmethcomputeReshape"><p> This method may be overridden. Please read the Introduction page on <a href="../../intro/extensions.html">Extensions</a> for how to override methods and how to call this base method.</div> <dl class="detailList"> <dt class="heading">Parameters:</dt> <dt> <span class="light fixedFont">{<a href="../symbols/Point.html" class="linkConstructor">Point</a>}</span> <b>p</b> </dt> <dd>the point where the handle is being dragged.</dd> </dl> <dl class="detailList"> <dt class="heading">Returns:</dt> <dt><span class="light fixedFont">{<a href="../symbols/Point.html" class="linkConstructor">Point</a>}</span> Either the same Point p or one constrained by the reshape behavior to be moved only vertically or only horizontally.</dt> </dl> </div> </td> </tr> <tr id="doActivate"> <td class="name"> <div class="name"> doActivate() </div> <div class="attributes"> </div> </td> <td class="description"> <div class="description"> <!--newp--><p><p>Start reshaping, if <a href="../symbols/Tool.html#findToolHandleAt" class="linkMethod">findToolHandleAt</a> finds a reshape handle at the mouse down point.<span class="nodetails" id="xmethdoActivate"><a class="morelink" onclick="hst('methdoActivate')">More...</a></span> <span class="details" id="methdoActivate"> </span><div class="details" id="dmethdoActivate"><p> If successful this sets <a href="../symbols/LinkReshapingTool.html#handle" class="linkProperty">handle</a> to be the reshape handle that it finds and <a href="../symbols/LinkReshapingTool.html#adornedLink" class="linkProperty">adornedLink</a> to be the <a href="../symbols/Link.html" class="linkConstructor">Link</a> being routed. It also remembers the original link route (a list of Points) in case this tool is cancelled. And it starts a transaction.</div> </div> </td> </tr> <tr id="doCancel"> <td class="name"> <div class="name"> doCancel() </div> <div class="attributes"> </div> </td> <td class="description"> <div class="description"> <!--newp--><p><p>Restore the link route to be the original points and stop this tool. </div> </td> </tr> <tr id="doDeactivate"> <td class="name"> <div class="name"> doDeactivate() </div> <div class="attributes"> </div> </td> <td class="description"> <div class="description"> <!--newp--><p><p>This stops the current reshaping operation with the link route shaped the way it is. </div> </td> </tr> <tr id="doMouseMove"> <td class="name"> <div class="name"> doMouseMove() </div> <div class="attributes"> </div> </td> <td class="description"> <div class="description"> <!--newp--><p><p>Call <a href="../symbols/LinkReshapingTool.html#reshape" class="linkMethod">reshape</a> with a new point determined by the mouse to change the route of the <a href="../symbols/LinkReshapingTool.html#adornedLink" class="linkProperty">adornedLink</a>. </div> </td> </tr> <tr id="doMouseUp"> <td class="name"> <div class="name"> doMouseUp() </div> <div class="attributes"> </div> </td> <td class="description"> <div class="description"> <!--newp--><p><p>Reshape the route with a point based on the most recent mouse point by calling <a href="../symbols/LinkReshapingTool.html#reshape" class="linkMethod">reshape</a>, and then raise a "LinkReshaped" <a href="../symbols/DiagramEvent.html" class="linkConstructor">DiagramEvent</a> before stopping this tool. </div> </td> </tr> <tr id="getReshapingBehavior"> <td class="name"> <div class="name"> getReshapingBehavior(obj) </div> <div class="attributes"> <span class="light">{EnumValue}</span> <span class="since" title="since">1.3</span> </div> </td> <td class="description"> <div class="description"> <!--newp--><p><p>Get the permitted reshaping behavior for a particular reshape handle.<span class="nodetails" id="xmethgetReshapingBehavior"><a class="morelink" onclick="hst('methgetReshapingBehavior')">More...</a></span> <span class="details" id="methgetReshapingBehavior"></span> <dl class="detailList"> <dt class="heading">Parameters:</dt> <dt> <span class="light fixedFont">{<a href="../symbols/GraphObject.html" class="linkConstructor">GraphObject</a>}</span> <b>obj</b> </dt> <dd>a reshape handle in the "LinkReshaping" Adornment.</dd> </dl> <dl class="detailList"> <dt class="heading">Returns:</dt> <dt><span class="light fixedFont">{EnumValue}</span> one of LinkReshapingTool.All, .Vertical, .Horizontal, or .None</dt> </dl> </div> </td> </tr> <tr id="reshape"> <td class="name"> <div class="name"> reshape(newPoint) </div> <div class="attributes"> </div> </td> <td class="description"> <div class="description"> <!--newp--><p><p>Change the route of the <a href="../symbols/LinkReshapingTool.html#adornedLink" class="linkProperty">adornedLink</a> by moving the point corresponding to the current <a href="../symbols/LinkReshapingTool.html#handle" class="linkProperty">handle</a> to be at the given <a href="../symbols/Point.html" class="linkConstructor">Point</a>.<span class="nodetails" id="xmethreshape"><a class="morelink" onclick="hst('methreshape')">More...</a></span> <span class="details" id="methreshape"> This is called by <a href="../symbols/LinkReshapingTool.html#doMouseMove" class="linkMethod">doMouseMove</a> and <a href="../symbols/LinkReshapingTool.html#doMouseUp" class="linkMethod">doMouseUp</a> with the result of calling <a href="../symbols/LinkReshapingTool.html#computeReshape" class="linkMethod">computeReshape</a> to constrain the input point. </span><div class="details" id="dmethreshape"><p> This method respects the orthogonality of the link, if necessary limiting movement along only one axis. To maintain orthogonality it may need to modify more than one point in the route. <p> This method may be overridden. Please read the Introduction page on <a href="../../intro/extensions.html">Extensions</a> for how to override methods and how to call this base method.</div> <dl class="detailList"> <dt class="heading">Parameters:</dt> <dt> <span class="light fixedFont">{<a href="../symbols/Point.html" class="linkConstructor">Point</a>}</span> <b>newPoint</b> </dt> <dd>the value of the call to <a href="../symbols/LinkReshapingTool.html#computeReshape" class="linkMethod">computeReshape</a>.</dd>