<divid=Content><divclass="CClass"><divclass=CTopicid=MainTopic><h1class=CTitle><aname="mxEdgeHandler"></a>mxEdgeHandler</h1><divclass=CBody><p>Graph event handler that reconnects edges and modifies control points and the edge label location. Uses <mxTerminalMarker> for finding and highlighting new source and target vertices. This handler is automatically created in <ahref="../view/mxGraph-js.html#mxGraph.createHandler"class=LFunctionid=link77onMouseOver="ShowTip(event, 'tt69', 'link77')"onMouseOut="HideTip('tt69')">mxGraph.createHandler</a> for each selected edge.</p><h4class=CHeading>To enable adding/removing control points, the following code can be used</h4><blockquote><preclass="prettyprint">mxEdgeHandler.prototype.addEnabled = true;
mxEdgeHandler.prototype.removeEnabled = true;</pre></blockquote><p>Note: This experimental feature is not recommended for production use.</p><!--START_ND_SUMMARY--><divclass=Summary><divclass=STitle>Summary</div><divclass=SBorder><tableborder=0cellspacing=0cellpadding=0class=STable><trclass="SMain"><tdclass=SEntry><ahref="#mxEdgeHandler">mxEdgeHandler</a></td><tdclass=SDescription>Graph event handler that reconnects edges and modifies control points and the edge label location. </td></tr><trclass="SGroup SIndent1"><tdclass=SEntry><ahref="#mxEdgeHandler.Functions">Functions</a></td><tdclass=SDescription></td></tr><trclass="SFunction SIndent2 SMarked"><tdclass=SEntry><ahref="#mxEdgeHandler.mxEdgeHandler"id=link1onMouseOver="ShowTip(event, 'tt1', 'link1')"onMouseOut="HideTip('tt1')">mxEdgeHandler</a></td><tdclass=SDescription>Constructs an edge handler for the specified <ahref="../view/mxCellState-js.html#mxCellState"class=LClassid=link2onMouseOver="ShowTip(event, 'tt2', 'link2')"onMouseOut="HideTip('tt2')">mxCellState</a>.</td></tr><trclass="SGroup SIndent1"><tdclass=SEntry><ahref="#mxEdgeHandler.Variables">Variables</a></td><tdclass=SDescription></td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxEdgeHandler.graph"id=link3onMouseOver="ShowTip(event, 'tt3', 'link3')"onMouseOut="HideTip('tt3')">graph</a></td><tdclass=SDescription>Reference to the enclosing <ahref="../view/mxGraph-js.html#mxGraph"class=LClassid=link4onMouseOver="ShowTip(event, 'tt4', 'link4')"onMouseOut="HideTip('tt4')">mxGraph</a>.</td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxEdgeHandler.state"id=link5onMouseOver="ShowTip(event, 'tt5', 'link5')"onMouseOut="HideTip('tt5')">state</a></td><tdclass=SDescription>Reference to the <ahref="../view/mxCellState-js.html#mxCellState"class=LClassid=link6onMouseOver="ShowTip(event, 'tt2', 'link6')"onMouseOut="HideTip('tt2')">mxCellState</a> being modified.</td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxEdgeHandler.marker"id=link7onMouseOver="ShowTip(event, 'tt6', 'link7')"onMouseOut="HideTip('tt6')">marker</a></td><tdclass=SDescription>Holds the <mxTerminalMarker> which is used for highlighting terminals.</td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxEdgeHandler.constraintHandler"id=link8onMouseOver="ShowTip(event, 'tt7', 'link8')"onMouseOut="HideTip('tt7')">constraintHandler</a></td><tdclass=SDescription>Holds the <ahref="mxConstraintHandler-js.html#mxConstraintHandler"class=LClassid=link9onMouseOver="ShowTip(event, 'tt8', 'link9')"onMouseOut="HideTip('tt8')">mxConstraintHandler</a> used for drawing and highlighting constraints.</td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxEdgeHandler.error"id=link10onMouseOver="ShowTip(event, 'tt9', 'link10')"onMouseOut="HideTip('tt9')">error</a></td><tdclass=SDescription>Holds the current validation error while a connection is being changed.</td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxEdgeHandler.shape"id=link11onMouseOver="ShowTip(event, 'tt10', 'link11')"onMouseOut="HideTip('tt10')">shape</a></td><tdclass=SDescription>Holds the <ahref="../shape/mxShape-js.html#mxShape"class=LClassid=link12onMouseOver="ShowTip(event, 'tt11', 'link12')"onMouseOut="HideTip('tt11')">mxShape</a> that represents the preview edge.</td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxEdgeHandler.bends"id=link13onMouseOver="ShowTip(event, 'tt12', 'link13')"onMouseOut="HideTip('tt12')">bends</a></td><tdclass=SDescription>Holds the <ahref="../shape/mxShape-js.html#mxShape"class=LClassid=link14onMouseOver="ShowTip(event, 'tt11', 'link14')"onMouseOut="HideTip('tt11')">mxShapes</a> that represent the points.</td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxEdgeHandler.labelShape"id=link15onMouseOver="ShowTip(event, 'tt13', 'link15')"onMouseOut="HideTip('tt13')">labelShape</a></td><tdclass=SDescription>Holds the <ahr
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.mxEdgeHandler"></a>mxEdgeHandler</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>function mxEdgeHandler(</td><tdclass=PParameternowrap>state</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Constructs an edge handler for the specified <ahref="../view/mxCellState-js.html#mxCellState"class=LClassid=link78onMouseOver="ShowTip(event, 'tt2', 'link78')"onMouseOut="HideTip('tt2')">mxCellState</a>.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>state</td><tdclass=CDLDescription><ahref="../view/mxCellState-js.html#mxCellState"class=LClassid=link79onMouseOver="ShowTip(event, 'tt2', 'link79')"onMouseOut="HideTip('tt2')">mxCellState</a> of the cell to be handled.</td></tr></table></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.graph"></a>graph</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.graph</td></tr></table></blockquote><p>Reference to the enclosing <ahref="../view/mxGraph-js.html#mxGraph"class=LClassid=link80onMouseOver="ShowTip(event, 'tt4', 'link80')"onMouseOut="HideTip('tt4')">mxGraph</a>.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.state"></a>state</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.state</td></tr></table></blockquote><p>Reference to the <ahref="../view/mxCellState-js.html#mxCellState"class=LClassid=link81onMouseOver="ShowTip(event, 'tt2', 'link81')"onMouseOut="HideTip('tt2')">mxCellState</a> being modified.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.marker"></a>marker</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.marker</td></tr></table></blockquote><p>Holds the <mxTerminalMarker> which is used for highlighting terminals.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.constraintHandler"></a>constraintHandler</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.constraintHandler</td></tr></table></blockquote><p>Holds the <ahref="mxConstraintHandler-js.html#mxConstraintHandler"class=LClassid=link82onMouseOver="ShowTip(event, 'tt8', 'link82')"onMouseOut="HideTip('tt8')">mxConstraintHandler</a> used for drawing and highlighting constraints.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.error"></a>error</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.error</td></tr></table></blockquote><p>Holds the current validation error while a connection is being changed.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.shape"></a>shape</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.shape</td></tr></table></blockquote><p>Holds the <ahref="../shape/mxShape-js.html#mxShape"class=LClassid=link83onMouseOver="ShowTip(event, 'tt11', 'link83')"onMouseOut="HideTip('tt11')">mxShape</a> that represents the preview edge.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.bends"></a>bends</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.bends</td></tr></table></blockquote><p>Holds the <ahref="../shape/mxShape-js.html#mxShape"class=LClassid=link84onMouseOver="ShowTip(event, 'tt11', 'link84')"onMouseOut="HideTip('tt11')">mxShapes</a> that represent the points.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.labelShape"></a>labelShape</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.labelShape</td></tr></table></blockquote><p>Holds the <ahref="../shape/mxShape-js.html#mxShape"class=LClassid=link85onMouseOver="ShowTip(event, 'tt11', 'link85')"onMouseOut="HideTip('tt11')">mxShape</a> that represents the label position.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.cloneEnabled"></a>cloneEnabled</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.cloneEnabled</td></tr></table></blockquote><p>Specifies if cloning by control-drag is enabled. Default is true.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.addEnabled"></a>addEnabled</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.addEnabled</td></tr></table></blockquote><p>Specifies if adding bends by shift-click is enabled. Default is false. Note: This experimental feature is not recommended for production use.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.removeEnabled"></a>removeEnabled</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.removeEnabled</td></tr></table></blockquote><p>Specifies if removing bends by shift-click is enabled. Default is false. Note: This experimental feature is not recommended for production use.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.preferHtml"></a>preferHtml</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.preferHtml</td></tr></table></blockquote><p>Specifies if bends should be added to the graph container. This is updated in <ahref="#mxEdgeHandler.init"class=LFunctionid=link86onMouseOver="ShowTip(event, 'tt24', 'link86')"onMouseOut="HideTip('tt24')">init</a> based on whether the edge or one of its terminals has an HTML label in the container.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.allowHandleBoundsCheck"></a>allowHandleBoundsCheck</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.allowHandleBoundsCheck</td></tr></table></blockquote><p>Specifies if the bounds of handles should be used for hit-detection in IE Default is true.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.snapToTerminals"></a>snapToTerminals</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.snapToTerminals</td></tr></table></blockquote><p>Specifies if waypoints should snap to the routing centers of terminals. Default is false.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.handleImage"></a>handleImage</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.handleImage</td></tr></table></blockquote><p>Optional <ahref="../util/mxImage-js.html#mxImage"class=LClassid=link87onMouseOver="ShowTip(event, 'tt21', 'link87')"onMouseOut="HideTip('tt21')">mxImage</a> to be used as handles. Default is null.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.tolerance"></a>tolerance</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.tolerance</td></tr></table></blockquote><p>Optional tolerance for hit-detection in <ahref="#mxEdgeHandler.getHandleForEvent"class=LFunctionid=link88onMouseOver="ShowTip(event, 'tt23', 'link88')"onMouseOut="HideTip('tt23')">getHandleForEvent</a>. Default is 0.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.init"></a>init</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.init = function()</td></tr></table></blockquote><p>Initializes the shapes required for this edge handler.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.isAddPointEvent"></a>isAddPointEvent</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.isAddPointEvent = function(</td><tdclass=PParameternowrap>evt</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if the given event is a trigger to add a new point. This implementation returns true if shift is pressed.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.isRemovePointEvent"></a>isRemovePointEvent</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.isRemovePointEvent = function(</td><tdclass=PParameternowrap>evt</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if the given event is a trigger to remove a point. This implementation returns true if shift is pressed.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.getSelectionPoints"></a>getSelectionPoints</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.getSelectionPoints = function(</td><tdclass=PParameternowrap>state</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the list of points that defines the selection stroke.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.createSelectionShape"></a>createSelectionShape</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.createSelectionShape = function(</td><tdclass=PParameternowrap>points</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates the shape used to draw the selection border.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.isConnectableCell"></a>isConnectableCell</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.isConnectableCell = function(</td><tdclass=PParameternowrap>cell</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if the given cell is connectable. This is a hook to disable floating connections. This implementation returns true.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.createMarker"></a>createMarker</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.createMarker = function()</td></tr></table></blockquote><p>Creates and returns the <ahref="mxCellMarker-js.html#mxCellMarker"class=LClassid=link91onMouseOver="ShowTip(event, 'tt36', 'link91')"onMouseOut="HideTip('tt36')">mxCellMarker</a> used in <ahref="#mxEdgeHandler.marker"class=LVariableid=link92onMouseOver="ShowTip(event, 'tt6', 'link92')"onMouseOut="HideTip('tt6')">marker</a>.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.validateConnection"></a>validateConnection</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.validateConnection = function(</td><tdclass=PParameternowrap>source,</td></tr><tr><td></td><tdclass=PParameternowrap>target</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the error message or an empty string if the connection for the given source, target pair is not valid. Otherwise it returns null. This implementation uses <ahref="../view/mxGraph-js.html#mxGraph.getEdgeValidationError"class=LFunctionid=link93onMouseOver="ShowTip(event, 'tt70', 'link93')"onMouseOut="HideTip('tt70')">mxGraph.getEdgeValidationError</a>.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>source</td><tdclass=CDLDescription><ahref="../model/mxCell-js.html#mxCell"class=LClassid=link94onMouseOver="ShowTip(event, 'tt71', 'link94')"onMouseOut="HideTip('tt71')">mxCell</a> that represents the source terminal.</td></tr><tr><tdclass=CDLEntry>target</td><tdclass=CDLDescription><ahref="../model/mxCell-js.html#mxCell"class=LClassid=link95onMouseOver="ShowTip(event, 'tt71', 'link95')"onMouseOut="HideTip('tt71')">mxCell</a> that represents the target terminal.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.createBends"></a>createBends</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.createBends = function()</td></tr></table></blockquote><p>Creates and returns the bends used for modifying the edge. This is typically an array of <ahref="../shape/mxRectangleShape-js.html#mxRectangleShape"class=LClassid=link96onMouseOver="ShowTip(event, 'tt72', 'link96')"onMouseOut="HideTip('tt72')">mxRectangleShapes</a>.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.isHandleEnabled"></a>isHandleEnabled</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.isHandleEnabled = function(</td><tdclass=PParameternowrap>index</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates the shape used to display the given bend.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.isHandleVisible"></a>isHandleVisible</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.isHandleVisible = function(</td><tdclass=PParameternowrap>index</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if the handle at the given index is visible.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.createHandleShape"></a>createHandleShape</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.createHandleShape = function(</td><tdclass=PParameternowrap>index</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates the shape used to display the given bend. Note that the index may be null for special cases, such as when called from <ahref="mxElbowEdgeHandler-js.html#mxElbowEdgeHandler.createVirtualBend"class=LFunctionid=link97onMouseOver="ShowTip(event, 'tt73', 'link97')"onMouseOut="HideTip('tt73')">mxElbowEdgeHandler.createVirtualBend</a>.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.initBend"></a>initBend</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.initBend = function(</td><tdclass=PParameternowrap>bend</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Helper method to initialize the given bend.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>bend</td><tdclass=CDLDescription><ahref="../shape/mxShape-js.html#mxShape"class=LClassid=link98onMouseOver="ShowTip(event, 'tt11', 'link98')"onMouseOut="HideTip('tt11')">mxShape</a> that represents the bend to be initialized.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.getHandleForEvent"></a>getHandleForEvent</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.getHandleForEvent = function(</td><tdclass=PParameternowrap>me</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the index of the handle for the given event.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.mouseDown"></a>mouseDown</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.mouseDown = function(</td><tdclass=PParameternowrap>sender,</td></tr><tr><td></td><tdclass=PParameternowrap>me</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Handles the event by checking if a special element of the handler was clicked, in which case the index parameter is non-null. The indices may be one of <LABEL_HANDLE> or the number of the respective control point. The source and target points are used for reconnecting the edge.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.start"></a>start</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.start = function(</td><tdclass=PParameternowrap>x,</td></tr><tr><td></td><tdclass=PParameternowrap>y,</td></tr><tr><td></td><tdclass=PParameternowrap>index</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Starts the handling of the mouse gesture.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.clonePreviewState"></a>clonePreviewState</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.clonePreviewState = function(</td><tdclass=PParameternowrap>point,</td></tr><tr><td></td><tdclass=PParameternowrap>terminal</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns a clone of the current preview state for the given point and terminal.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.getSnapToTerminalTolerance"></a>getSnapToTerminalTolerance</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.getSnapToTerminalTolerance = function()</td></tr></table></blockquote><p>Returns the tolerance for the guides. Default value is gridSize * scale / 2.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.getPointForEvent"></a>getPointForEvent</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.getPointForEvent = function(</td><tdclass=PParameternowrap>me</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the point for the given event.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.getPreviewTerminalState"></a>getPreviewTerminalState</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.getPreviewTerminalState = function(</td><tdclass=PParameternowrap>me</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates the given preview state taking into account the state of the constraint handler.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.getPreviewPoints"></a>getPreviewPoints</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.getPreviewPoints = function(</td><tdclass=PParameternowrap>point</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates the given preview state taking into account the state of the constraint handler.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.updatePreviewState"></a>updatePreviewState</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.updatePreviewState = function(</td><tdclass=PParameternowrap>edge,</td></tr><tr><td></td><tdclass=PParameternowrap>point,</td></tr><tr><td></td><tdclass=PParameternowrap>terminalState</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates the given preview state taking into account the state of the constraint handler.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.mouseMove"></a>mouseMove</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.mouseMove = function(</td><tdclass=PParameternowrap>sender,</td></tr><tr><td></td><tdclass=PParameternowrap>me</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Handles the event by updating the preview.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.mouseUp"></a>mouseUp</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.mouseUp = function(</td><tdclass=PParameternowrap>sender,</td></tr><tr><td></td><tdclass=PParameternowrap>me</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Handles the event to applying the previewed changes on the edge by using <ahref="#mxEdgeHandler.moveLabel"class=LFunctionid=link99onMouseOver="ShowTip(event, 'tt53', 'link99')"onMouseOut="HideTip('tt53')">moveLabel</a>, <ahref="#mxEdgeHandler.connect"class=LFunctionid=link100onMouseOver="ShowTip(event, 'tt54', 'link100')"onMouseOut="HideTip('tt54')">connect</a> or <ahref="#mxEdgeHandler.changePoints"class=LFunctionid=link101onMouseOver="ShowTip(event, 'tt55', 'link101')"onMouseOut="HideTip('tt55')">changePoints</a>.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.reset"></a>reset</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.reset = function()</td></tr></table></blockquote><p>Resets the state of this handler.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.setPreviewColor"></a>setPreviewColor</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.setPreviewColor = function(</td><tdclass=PParameternowrap>color</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the color of the preview to the given value.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.convertPoint"></a>convertPoint</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.convertPoint = function(</td><tdclass=PParameternowrap>point,</td></tr><tr><td></td><tdclass=PParameternowrap>gridEnabled</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Converts the given point in-place from screen to unscaled, untranslated graph coordinates and applies the grid. Returns the given, modified point instance.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>point</td><tdclass=CDLDescription><ahref="../util/mxPoint-js.html#mxPoint"class=LClassid=link102onMouseOver="ShowTip(event, 'tt74', 'link102')"onMouseOut="HideTip('tt74')">mxPoint</a> to be converted.</td></tr><tr><tdclass=CDLEntry>gridEnabled</td><tdclass=CDLDescription>Boolean that specifies if the grid should be applied.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.moveLabel"></a>moveLabel</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.moveLabel = function(</td><tdclass=PParameternowrap>edgeState,</td></tr><tr><td></td><tdclass=PParameternowrap>x,</td></tr><tr><td></td><tdclass=PParameternowrap>y</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Changes the coordinates for the label of the given edge.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>edge</td><tdclass=CDLDescription><ahref="../model/mxCell-js.html#mxCell"class=LClassid=link103onMouseOver="ShowTip(event, 'tt71', 'link103')"onMouseOut="HideTip('tt71')">mxCell</a> that represents the edge.</td></tr><tr><tdclass=CDLEntry>x</td><tdclass=CDLDescription>Integer that specifies the x-coordinate of the new location.</td></tr><tr><tdclass=CDLEntry>y</td><tdclass=CDLDescription>Integer that specifies the y-coordinate of the new location.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.connect"></a>connect</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.connect = function(</td><tdclass=PParameternowrap>edge,</td></tr><tr><td></td><tdclass=PParameternowrap>terminal,</td></tr><tr><td></td><tdclass=PParameternowrap>isSource,</td></tr><tr><td></td><tdclass=PParameternowrap>isClone,</td></tr><tr><td></td><tdclass=PParameternowrap>me</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Changes the terminal or terminal point of the given edge in the graph model.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>edge</td><tdclass=CDLDescription><ahref="../model/mxCell-js.html#mxCell"class=LClassid=link104onMouseOver="ShowTip(event, 'tt71', 'link104')"onMouseOut="HideTip('tt71')">mxCell</a> that represents the edge to be reconnected.</td></tr><tr><tdclass=CDLEntry>terminal</td><tdclass=CDLDescription><ahref="../model/mxCell-js.html#mxCell"class=LClassid=link105onMouseOver="ShowTip(event, 'tt71', 'link105')"onMouseOut="HideTip('tt71')">mxCell</a> that represents the new terminal.</td></tr><tr><tdclass=CDLEntry>isSource</td><tdclass=CDLDescription>Boolean indicating if the new terminal is the source or target terminal.</td></tr><tr><tdclass=CDLEntry>isClone</td><tdclass=CDLDescription>Boolean indicating if the new connection should be a clone of the old edge.</td></tr><tr><tdclass=CDLEntry>me</td><tdclass=CDLDescription><ahref="../util/mxMouseEvent-js.html#mxMouseEvent"class=LClassid=link106onMouseOver="ShowTip(event, 'tt75', 'link106')"onMouseOut="HideTip('tt75')">mxMouseEvent</a> that contains the mouse up event.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.changeTerminalPoint"></a>changeTerminalPoint</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.changeTerminalPoint = function(</td><tdclass=PParameternowrap>edge,</td></tr><tr><td></td><tdclass=PParameternowrap>point,</td></tr><tr><td></td><tdclass=PParameternowrap>isSource</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Changes the terminal point of the given edge.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.changePoints"></a>changePoints</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.changePoints = function(</td><tdclass=PParameternowrap>edge,</td></tr><tr><td></td><tdclass=PParameternowrap>points</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Changes the control points of the given edge in the graph model.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.addPoint"></a>addPoint</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.addPoint = function(</td><tdclass=PParameternowrap>state,</td></tr><tr><td></td><tdclass=PParameternowrap>evt</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds a control point for the given state and event.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.addPointAt"></a>addPointAt</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.addPointAt = function(</td><tdclass=PParameternowrap>state,</td></tr><tr><td></td><tdclass=PParameternowrap>x,</td></tr><tr><td></td><tdclass=PParameternowrap>y</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds a control point at the given point.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.removePoint"></a>removePoint</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.removePoint = function(</td><tdclass=PParameternowrap>state,</td></tr><tr><td></td><tdclass=PParameternowrap>index</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Removes the control point at the given index from the given state.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.getHandleFillColor"></a>getHandleFillColor</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.getHandleFillColor = function(</td><tdclass=PParameternowrap>index</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the fillcolor for the handle at the given index.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.redraw"></a>redraw</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.redraw = function()</td></tr></table></blockquote><p>Redraws the preview, and the bends- and label control points.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.redrawInnerBends"></a>redrawInnerBends</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxEdgeHandler.prototype.redrawInnerBends = function(</td><tdclass=PParameternowrap>p0,</td></tr><tr><td></td><tdclass=PParameternowrap>pe</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates and redraws the inner bends.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>p0</td><tdclass=CDLDescription><ahref="../util/mxPoint-js.html#mxPoint"class=LClassid=link107onMouseOver="ShowTip(event, 'tt74', 'link107')"onMouseOut="HideTip('tt74')">mxPoint</a> that represents the location of the first point.</td></tr><tr><tdclass=CDLEntry>pe</td><tdclass=CDLDescription><ahref="../util/mxPoint-js.html#mxPoint"class=LClassid=link108onMouseOver="ShowTip(event, 'tt74', 'link108')"onMouseOut="HideTip('tt74')">mxPoint</a> that represents the location of the last point.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.drawPreview"></a>drawPreview</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.drawPreview = function()</td></tr></table></blockquote><p>Redraws the preview.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxEdgeHandler.destroy"></a>destroy</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.destroy = function()</td></tr></table></blockquote><p>Destroys the handler and all its resources and DOM nodes. This does normally not need to be called as handlers are destroyed automatically when the corresponding cell is deselected.</p></div></div></div>
</div><!--Content-->
<divid=Footer><ahref="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
<divclass=CToolTipid="tt1"><divclass=CFunction><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>function mxEdgeHandler(</td><tdclass=PParameternowrap>state</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote>Constructs an edge handler for the specified mxCellState.</div></div><divclass=CToolTipid="tt2"><divclass=CClass>Represents the current state of a cell in a given mxGraphView.</div></div><divclass=CToolTipid="tt3"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.graph</td></tr></table></blockquote>Reference to the enclosing mxGraph.</div></div><divclass=CToolTipid="tt4"><divclass=CClass>Extends mxEventSource to implement a graph component for the browser. </div></div><divclass=CToolTipid="tt5"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.state</td></tr></table></blockquote>Reference to the mxCellState being modified.</div></div><divclass=CToolTipid="tt6"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.marker</td></tr></table></blockquote>Holds the mxTerminalMarker which is used for highlighting terminals.</div></div><divclass=CToolTipid="tt7"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.constraintHandler</td></tr></table></blockquote>Holds the mxConstraintHandler used for drawing and highlighting constraints.</div></div><divclass=CToolTipid="tt8"><divclass=CClass>Handles constraints on connection targets. </div></div><divclass=CToolTipid="tt9"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.error</td></tr></table></blockquote>Holds the current validation error while a connection is being changed.</div></div><divclass=CToolTipid="tt10"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.shape</td></tr></table></blockquote>Holds the mxShape that represents the preview edge.</div></div><divclass=CToolTipid="tt11"><divclass=CClass>Base class for all shapes. </div></div><divclass=CToolTipid="tt12"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.bends</td></tr></table></blockquote>Holds the mxShapes that represent the points.</div></div><divclass=CToolTipid="tt13"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.labelShape</td></tr></table></blockquote>Holds the mxShape that represents the label position.</div></div><divclass=CToolTipid="tt14"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.cloneEnabled</td></tr></table></blockquote>Specifies if cloning by control-drag is enabled. </div></div><divclass=CToolTipid="tt15"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.addEnabled</td></tr></table></blockquote>Specifies if adding bends by shift-click is enabled. </div></div><divclass=CToolTipid="tt16"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.removeEnabled</td></tr></table></blockquote>Specifies if removing bends by shift-click is enabled. </div></div><divclass=CToolTipid="tt17"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxEdgeHandler.prototype.preferHtml</td></tr><