2135 lines
101 KiB
HTML
2135 lines
101 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>GoJS® Tool 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>
|
|
|
|
<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="../../doc/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">
|
|
<!-- ============================== header ================================= -->
|
|
<div id="header" class="fineprint mt30">
|
|
<b>GoJS</b>® Diagramming Components<br/>version 1.8.5 for JavaScript/HTML<br/>by <a href="https://www.nwoods.com/">Northwoods Software®</a>
|
|
</div>
|
|
|
|
<!-- ============================== class title ============================ -->
|
|
<h2 class="classTitle mt30">
|
|
|
|
Class Tool
|
|
|
|
</h2>
|
|
|
|
<!-- ============================== class summary ========================== -->
|
|
<span class="hideshowall">
|
|
<span class="nodetails"><button id="buttonShow">Show Details</button></span>
|
|
<span class="details"><button id="buttonHide">Show Summaries</button></span>
|
|
</span>
|
|
|
|
<p class="classsummary">
|
|
|
|
|
|
|
|
Tools handle mouse, keyboard, and touch events.
|
|
The currently running tool, <a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a>, receives all input events from the <a href="../symbols/Diagram.html" class="linkConstructor">Diagram</a>
|
|
via canonicalized <a href="../symbols/InputEvent.html" class="linkConstructor">InputEvent</a>s.
|
|
<p class="boxrun">
|
|
For more discussion, see <a href="../../intro/tools.html">Introduction to Tools</a>.
|
|
See samples that make use of tools in the <a href="../../samples/index.html#tools">samples index</a>.
|
|
<p>
|
|
Most tools are "mode-less" tools that are managed by the <a href="../symbols/ToolManager.html" class="linkConstructor">ToolManager</a>,
|
|
which chooses the current tool based on the kind and position of the mouse event and the parts in the diagram.
|
|
The <a href="../symbols/ToolManager.html" class="linkConstructor">ToolManager</a> has properties holding instances of most of the pre-defined <a href="../symbols/Tool.html" class="linkConstructor">Tool</a> classes.
|
|
These classes include:
|
|
<ul>
|
|
<li>In the <a href="../symbols/ToolManager.html#mouseDownTools" class="linkProperty">ToolManager.mouseDownTools</a> <a href="../symbols/List.html" class="linkConstructor">List</a>:
|
|
<ul>
|
|
<li><a href="../symbols/ActionTool.html" class="linkConstructor">ActionTool</a></li>
|
|
<li><a href="../symbols/RelinkingTool.html" class="linkConstructor">RelinkingTool</a></li>
|
|
<li><a href="../symbols/LinkReshapingTool.html" class="linkConstructor">LinkReshapingTool</a></li>
|
|
<li><a href="../symbols/ResizingTool.html" class="linkConstructor">ResizingTool</a></li>
|
|
<li><a href="../symbols/RotatingTool.html" class="linkConstructor">RotatingTool</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>In the <a href="../symbols/ToolManager.html#mouseMoveTools" class="linkProperty">ToolManager.mouseMoveTools</a> <a href="../symbols/List.html" class="linkConstructor">List</a>:
|
|
<ul>
|
|
<li><a href="../symbols/LinkingTool.html" class="linkConstructor">LinkingTool</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/PanningTool.html" class="linkConstructor">PanningTool</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>In the <a href="../symbols/ToolManager.html#mouseUpTools" class="linkProperty">ToolManager.mouseUpTools</a> <a href="../symbols/List.html" class="linkConstructor">List</a>:
|
|
<ul>
|
|
<li><a href="../symbols/ContextMenuTool.html" class="linkConstructor">ContextMenuTool</a></li>
|
|
<li><a href="../symbols/TextEditingTool.html" class="linkConstructor">TextEditingTool</a></li>
|
|
<li><a href="../symbols/ClickCreatingTool.html" class="linkConstructor">ClickCreatingTool</a></li>
|
|
<li><a href="../symbols/ClickSelectingTool.html" class="linkConstructor">ClickSelectingTool</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
The ToolManager chooses a tool to run as the diagram's current tool by finding in its lists of tools the first tool
|
|
whose <a href="../symbols/Tool.html#canStart" class="linkMethod">canStart</a> method returns true. The ToolManager then sets <a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a> to be that tool.
|
|
<p>
|
|
A tool is in the "running" state when it is the value of <a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a>.
|
|
The <a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a> property setter will call <a href="../symbols/Tool.html#doStop" class="linkMethod">doStop</a> on the old tool
|
|
and then call <a href="../symbols/Tool.html#doStart" class="linkMethod">doStart</a> on the new tool.
|
|
<p>
|
|
A tool can then go into the "active" state once it decides it can actually do something.
|
|
This happens with a call to <a href="../symbols/Tool.html#doActivate" class="linkMethod">doActivate</a>, normally called by the ToolManager.
|
|
Later it is deactivated (<a href="../symbols/Tool.html#doDeactivate" class="linkMethod">doDeactivate</a>) and then stopped.
|
|
<a href="../symbols/Tool.html#isActive" class="linkProperty">isActive</a> should be true when the tool is "active".
|
|
Often tools should ignore certain common events, such as calls to <a href="../symbols/Tool.html#doMouseMove" class="linkMethod">doMouseMove</a>,
|
|
unless the tool <a href="../symbols/Tool.html#isActive" class="linkProperty">isActive</a>.
|
|
<p>
|
|
You can prevent a "mode-less" tool (i.e. one managed by the <a href="../symbols/ToolManager.html" class="linkConstructor">ToolManager</a>)
|
|
from being started by the ToolManager by setting <a href="../symbols/Tool.html#isEnabled" class="linkProperty">isEnabled</a> to false.
|
|
<p>
|
|
You can also go into a particular "mode" by setting <a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a> explicitly,
|
|
thereby circumventing the normal operation of the <a href="../symbols/ToolManager.html" class="linkConstructor">ToolManager</a>.
|
|
This ignores the <a href="../symbols/Tool.html#isEnabled" class="linkProperty">isEnabled</a> property and does not call the <a href="../symbols/Tool.html#canStart" class="linkMethod">canStart</a> predicate.
|
|
The behavior will depend on the tool -- not all of the predefined tools support operating as a "modal" tool.
|
|
<p>
|
|
Tools cannot be shared amongst multiple Diagrams.
|
|
<p>
|
|
If you define a Tool subclass, you may override any of the methods whose names start with "do"
|
|
and any other methods that are documented to be overridable, such as <a href="../symbols/Tool.html#canStart" class="linkMethod">canStart</a>.
|
|
However you must seriously consider calling the base method in order to gets its default behavior.
|
|
There may be situations where not calling the base method may cause subtle bugs.
|
|
But that depends on the method and the tool.
|
|
Please read the Introduction page on <a href="../../intro/extensions.html">Extensions</a> for how to override methods and how to call the base method.
|
|
</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 Tool.">
|
|
<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">
|
|
Tool()
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>Don't construct this directly -- this is an abstract class.
|
|
|
|
|
|
|
|
|
|
</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 Tool.">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col" class="name">Name, Value Type</th>
|
|
<th scope="col" class="description">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
|
|
<tr id="diagram" >
|
|
|
|
<td class="name">
|
|
<div class="name">
|
|
diagram
|
|
</div>
|
|
<div class="attributes">
|
|
<span class="light">{<a href="../symbols/Diagram.html" class="linkConstructor">Diagram</a>}</span>
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp <p> -->
|
|
<p>This read-only property returns the <a href="../symbols/Diagram.html" class="linkConstructor">Diagram</a> that owns this tool and
|
|
for which this tool is handling input events.
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="isActive" >
|
|
|
|
<td class="name">
|
|
<div class="name">
|
|
isActive
|
|
</div>
|
|
<div class="attributes">
|
|
<span class="light">{boolean}</span>
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp <p> -->
|
|
<p>Gets or sets whether this tool is started and is actively doing something.<span class="nodetails" id="xpropisActive"><a class="morelink" onclick="hst('propisActive')">More...</a></span> <span class="details" id="propisActive">
|
|
</span><div class="details" id="dpropisActive"><p>
|
|
You can set this to true after your tool is started (i.e. when it is the
|
|
<a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a> and <a href="../symbols/Tool.html#doStart" class="linkMethod">doStart</a>
|
|
had been called), but when it is not yet in a state
|
|
that it is actually "doing" something, because it is waiting for the right
|
|
circumstances. This is typically only important when the tool is used in
|
|
a modal fashion.
|
|
<p>
|
|
The default value is false.
|
|
This is normally set by <a href="../symbols/Tool.html#doActivate" class="linkMethod">doActivate</a> and <a href="../symbols/Tool.html#doDeactivate" class="linkMethod">doDeactivate</a>.</div>
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="isEnabled" >
|
|
|
|
<td class="name">
|
|
<div class="name">
|
|
isEnabled
|
|
</div>
|
|
<div class="attributes">
|
|
<span class="light">{boolean}</span>
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp <p> -->
|
|
<p>Gets or sets whether this tool can be started by a mouse event.<span class="nodetails" id="xpropisEnabled"><a class="morelink" onclick="hst('propisEnabled')">More...</a></span> <span class="details" id="propisEnabled">
|
|
</span><div class="details" id="dpropisEnabled"><p>
|
|
Set this to false to prevent <a href="../symbols/Tool.html#canStart" class="linkMethod">canStart</a> from returning true.
|
|
Setting this property to false should prevent this tool from being used in a mode-less fashion
|
|
by the <a href="../symbols/ToolManager.html" class="linkConstructor">ToolManager</a> with a mouse down/move/up event.
|
|
However, even when this property is false, this tool can still be used in a modal fashion:
|
|
it can still be started by explicitly setting the
|
|
<a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a> property to this tool.
|
|
<p>
|
|
The default value is true.</div>
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="name" >
|
|
|
|
<td class="name">
|
|
<div class="name">
|
|
name
|
|
</div>
|
|
<div class="attributes">
|
|
<span class="light">{string}</span>
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp <p> -->
|
|
<p>Gets or sets the name of this tool.<span class="nodetails" id="xpropname"><a class="morelink" onclick="hst('propname')">More...</a></span> <span class="details" id="propname">
|
|
The default name is an empty string,
|
|
but the constructor for each instance of a subclass of Tool will initialize it appropriately.
|
|
For example, the name of the <a href="../symbols/DragSelectingTool.html" class="linkConstructor">DragSelectingTool</a> is "DragSelecting".
|
|
</span><div class="details" id="dpropname"><p>
|
|
This name is sometimes used by tools that use <a href="../symbols/Adornment.html" class="linkConstructor">Adornment</a>s as the <a href="../symbols/Part.html#category" class="linkProperty">Part.category</a> for their Adornments.
|
|
It is also sometimes used by tools that conduct transactions as the transaction name.</div>
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="transactionResult" >
|
|
|
|
<td class="name">
|
|
<div class="name">
|
|
transactionResult
|
|
</div>
|
|
<div class="attributes">
|
|
<span class="light">{string|null}</span>
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp <p> -->
|
|
<p>Gets or sets the name of the transaction to be committed by <a href="../symbols/Tool.html#stopTransaction" class="linkMethod">stopTransaction</a>;
|
|
if null, the transaction will be rolled back.<span class="nodetails" id="xproptransactionResult"><a class="morelink" onclick="hst('proptransactionResult')">More...</a></span> <span class="details" id="proptransactionResult">
|
|
</span><div class="details" id="dproptransactionResult"><p>
|
|
If this is non-null at the time of a call to <a href="../symbols/Tool.html#stopTransaction" class="linkMethod">stopTransaction</a>,
|
|
it calls <a href="../symbols/Diagram.html#commitTransaction" class="linkMethod">Diagram.commitTransaction</a> with this transaction name;
|
|
if this is null at that time, it calls <a href="../symbols/Diagram.html#rollbackTransaction" class="linkMethod">Diagram.rollbackTransaction</a>.
|
|
<p>
|
|
The default value is null; <a href="../symbols/Tool.html#startTransaction" class="linkMethod">startTransaction</a> will also set this to null.
|
|
Because a value of null when <a href="../symbols/Tool.html#stopTransaction" class="linkMethod">stopTransaction</a> is called will rollback the transaction,
|
|
it is important that your code sets this property to a non-null value when it thinks it has succeeded.
|
|
<p>
|
|
This property exists so that no matter what execution path occurs to end the usage of a tool,
|
|
any ongoing transaction can be properly committed or rolled-back.</div>
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
</tbody>
|
|
</table>
|
|
</div><!-- class="table-responsive">-->
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ============================== 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 Tool.">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col" class="name">Name, Return Type</th>
|
|
<th scope="col" class="description">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
|
|
<tr id="cancelWaitAfter">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
cancelWaitAfter()
|
|
</div>
|
|
<div class="attributes">
|
|
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>This is called to cancel any running "WaitAfter" timer.<span class="nodetails" id="xmethcancelWaitAfter"><a class="morelink" onclick="hst('methcancelWaitAfter')">More...</a></span> <span class="details" id="methcancelWaitAfter">
|
|
</span><div class="details" id="dmethcancelWaitAfter"><p>
|
|
This is called when a tool is stopped.
|
|
<p>
|
|
This method is rarely 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>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<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 predicate is used by the <a href="../symbols/ToolManager.html" class="linkConstructor">ToolManager</a> to decide if this tool can be started mode-lessly
|
|
by mouse and touch events.<span class="nodetails" id="xmethcanStart"><a class="morelink" onclick="hst('methcanStart')">More...</a></span> <span class="details" id="methcanStart">
|
|
Implementations of this method can look at <a href="../symbols/Diagram.html#lastInput" class="linkProperty">Diagram.lastInput</a> to get the mouse
|
|
event and input state.
|
|
</span><div class="details" id="dmethcanStart"><p>
|
|
By default this method returns <a href="../symbols/Tool.html#isEnabled" class="linkProperty">isEnabled</a>.
|
|
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">Returns:</dt>
|
|
|
|
<dt><span class="light fixedFont">{boolean}</span> true if <a href="../symbols/Tool.html#isEnabled" class="linkProperty">isEnabled</a> is true and
|
|
if the <a href="../symbols/Diagram.html#toolManager" class="linkProperty">Diagram.toolManager</a> can make this tool the <a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a> and
|
|
then call the <a href="../symbols/Tool.html#doStart" class="linkMethod">doStart</a> method.</dt>
|
|
|
|
</dl>
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="canStartMultiTouch">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
canStartMultiTouch()
|
|
</div>
|
|
<div class="attributes">
|
|
<span class="light">{boolean}</span>
|
|
|
|
<span class="since" title="since">1.5</span>
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>Called by <a href="../symbols/ToolManager.html#doMouseDown" class="linkMethod">ToolManager.doMouseDown</a> and <a href="../symbols/ToolManager.html#doMouseMove" class="linkMethod">ToolManager.doMouseMove</a>,
|
|
this method determines whether or not to allow pinch zooming from a multi-touch event.<span class="nodetails" id="xmethcanStartMultiTouch"><a class="morelink" onclick="hst('methcanStartMultiTouch')">More...</a></span> <span class="details" id="methcanStartMultiTouch">
|
|
By default this predicate just returns true.
|
|
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.</span>
|
|
|
|
</p><div class="seealso">See also:
|
|
<ul class="seealsolist">
|
|
|
|
<li><a href="../symbols/Tool.html#standardPinchZoomStart" class="linkMethod">standardPinchZoomStart</a></li>
|
|
|
|
<li><a href="../symbols/Tool.html#standardPinchZoomMove" class="linkMethod">standardPinchZoomMove</a></li>
|
|
|
|
</ul></div>
|
|
|
|
|
|
|
|
<dl class="detailList">
|
|
<dt class="heading">Returns:</dt>
|
|
|
|
<dt><span class="light fixedFont">{boolean}</span> </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>The Diagram calls this method after setting <a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a>,
|
|
to make the new tool active.<span class="nodetails" id="xmethdoActivate"><a class="morelink" onclick="hst('methdoActivate')">More...</a></span> <span class="details" id="methdoActivate">
|
|
This should set <a href="../symbols/Tool.html#isActive" class="linkProperty">isActive</a> to true.
|
|
Overrides of this method might call <a href="../symbols/Tool.html#startTransaction" class="linkMethod">startTransaction</a>,
|
|
if this tool's activity involves modification of the model.
|
|
Implementations of this method can look at <a href="../symbols/Diagram.html#lastInput" class="linkProperty">Diagram.lastInput</a> to get the mouse
|
|
event and input state.
|
|
</span><div class="details" id="dmethdoActivate"><p>
|
|
You should call this method only after setting <a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a> to the Tool that you want to activate.
|
|
<p>
|
|
By default this only sets <a href="../symbols/Tool.html#isActive" class="linkProperty">isActive</a> to true.
|
|
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>
|
|
|
|
|
|
|
|
|
|
</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>The diagram will call this method when the user wishes to cancel the
|
|
current tool's operation.<span class="nodetails" id="xmethdoCancel"><a class="morelink" onclick="hst('methdoCancel')">More...</a></span> <span class="details" id="methdoCancel">
|
|
Typically this is called when the user hits the ESCAPE key.
|
|
This should restore the original state of what was modified by this tool, and then it should call <a href="../symbols/Tool.html#stopTool" class="linkMethod">stopTool</a>.
|
|
This method is not responsible for cleaning up any side-effects that should be performed
|
|
by <a href="../symbols/Tool.html#doDeactivate" class="linkMethod">doDeactivate</a> and/or <a href="../symbols/Tool.html#doStop" class="linkMethod">doStop</a>, which will always be called whether the tool stops normally or abnormally.
|
|
</span><div class="details" id="dmethdoCancel"><p>
|
|
By default this method just calls <a href="../symbols/Tool.html#stopTool" class="linkMethod">stopTool</a>.
|
|
You will want to override this method even in tools that call <a href="../symbols/Tool.html#startTransaction" class="linkMethod">startTransaction</a> and <a href="../symbols/Tool.html#stopTransaction" class="linkMethod">stopTransaction</a>,
|
|
because the <a href="../symbols/UndoManager.html" class="linkConstructor">UndoManager</a> might not be enabled.
|
|
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>
|
|
|
|
|
|
|
|
|
|
</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>The Diagram calls this method on the old tool when
|
|
<a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a> is set to a new tool.<span class="nodetails" id="xmethdoDeactivate"><a class="morelink" onclick="hst('methdoDeactivate')">More...</a></span> <span class="details" id="methdoDeactivate">
|
|
This needs to set <a href="../symbols/Tool.html#isActive" class="linkProperty">isActive</a> to false.
|
|
Overrides of this method might call <a href="../symbols/Tool.html#stopTransaction" class="linkMethod">stopTransaction</a>,
|
|
if this tool's activity involves modification of the model.
|
|
</span><div class="details" id="dmethdoDeactivate"><p>
|
|
You should have no reason to call this method, because it is automatically called by the
|
|
<a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a> property setter on the old tool.
|
|
<p>
|
|
By default this only sets <a href="../symbols/Tool.html#isActive" class="linkProperty">isActive</a> to false.
|
|
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>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="doKeyDown">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
doKeyDown()
|
|
</div>
|
|
<div class="attributes">
|
|
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>The diagram will call this method upon a key down event.<span class="nodetails" id="xmethdoKeyDown"><a class="morelink" onclick="hst('methdoKeyDown')">More...</a></span> <span class="details" id="methdoKeyDown">
|
|
By default this just calls <a href="../symbols/Tool.html#doCancel" class="linkMethod">doCancel</a> if the key is the ESCAPE key.
|
|
Implementations of this method can look at <a href="../symbols/Diagram.html#lastInput" class="linkProperty">Diagram.lastInput</a> to get the key.
|
|
</span><div class="details" id="dmethdoKeyDown"><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>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="doKeyUp">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
doKeyUp()
|
|
</div>
|
|
<div class="attributes">
|
|
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>The diagram will call this method upon a key up event.<span class="nodetails" id="xmethdoKeyUp"><a class="morelink" onclick="hst('methdoKeyUp')">More...</a></span> <span class="details" id="methdoKeyUp">
|
|
Implementations of this method can look at <a href="../symbols/Diagram.html#lastInput" class="linkProperty">Diagram.lastInput</a> to get the key.
|
|
</span><div class="details" id="dmethdoKeyUp"><p>
|
|
By default this method does nothing.
|
|
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>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="doMouseDown">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
doMouseDown()
|
|
</div>
|
|
<div class="attributes">
|
|
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>The diagram will call this method upon a mouse down event.<span class="nodetails" id="xmethdoMouseDown"><a class="morelink" onclick="hst('methdoMouseDown')">More...</a></span> <span class="details" id="methdoMouseDown">
|
|
This is normally overridden for mouse-down tools;
|
|
it is not called for mouse-move or mouse-up tools.
|
|
However it may also be called when the tool is run in a modal fashion,
|
|
when code explicitly sets the diagram's <a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a>.
|
|
Implementations of this method can look at <a href="../symbols/Diagram.html#lastInput" class="linkProperty">Diagram.lastInput</a> to get the mouse
|
|
event and input state.
|
|
</span><div class="details" id="dmethdoMouseDown"><p>
|
|
By default this method checks <a href="../symbols/Tool.html#isActive" class="linkProperty">isActive</a>; if that is false it calls <a href="../symbols/Tool.html#canStart" class="linkMethod">canStart</a>.
|
|
If that in turn is true, this calls <a href="../symbols/Tool.html#doActivate" class="linkMethod">doActivate</a>.
|
|
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>
|
|
|
|
|
|
|
|
|
|
</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>The diagram will call this method upon a mouse move event.<span class="nodetails" id="xmethdoMouseMove"><a class="morelink" onclick="hst('methdoMouseMove')">More...</a></span> <span class="details" id="methdoMouseMove">
|
|
This is normally overridden for mouse-move tools;
|
|
it is not called for mouse-up tools.
|
|
However it may also be called when the tool is run in a modal fashion,
|
|
when code explicitly sets the diagram's <a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a>.
|
|
An override of this method usually does nothing when <a href="../symbols/Tool.html#isActive" class="linkProperty">isActive</a> is false.
|
|
Implementations of this method can look at <a href="../symbols/Diagram.html#lastInput" class="linkProperty">Diagram.lastInput</a> to get the mouse
|
|
event and input state.
|
|
</span><div class="details" id="dmethdoMouseMove"><p>
|
|
By default this method does nothing.
|
|
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>
|
|
|
|
|
|
|
|
|
|
</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>The diagram will call this method upon a mouse up event.<span class="nodetails" id="xmethdoMouseUp"><a class="morelink" onclick="hst('methdoMouseUp')">More...</a></span> <span class="details" id="methdoMouseUp">
|
|
This is normally overridden for mouse-up tools.
|
|
An override of this method usually does nothing when <a href="../symbols/Tool.html#isActive" class="linkProperty">isActive</a> is false,
|
|
except for calling <a href="../symbols/Tool.html#stopTool" class="linkMethod">stopTool</a>.
|
|
Tools normally stop upon a mouse up, by calling <a href="../symbols/Tool.html#stopTool" class="linkMethod">stopTool</a>.
|
|
If you want to handle multiple mouse down-up gestures in one tool activation,
|
|
you will need to override this method to only stop the tool when you want.
|
|
Implementations of this method can look at <a href="../symbols/Diagram.html#lastInput" class="linkProperty">Diagram.lastInput</a> to get the mouse
|
|
event and input state.
|
|
</span><div class="details" id="dmethdoMouseUp"><p>
|
|
By default this method just calls <a href="../symbols/Tool.html#stopTool" class="linkMethod">stopTool</a>.
|
|
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>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="doMouseWheel">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
doMouseWheel()
|
|
</div>
|
|
<div class="attributes">
|
|
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>The diagram will call this method as the mouse wheel is rotated.<span class="nodetails" id="xmethdoMouseWheel"><a class="morelink" onclick="hst('methdoMouseWheel')">More...</a></span> <span class="details" id="methdoMouseWheel">
|
|
Implementations of this method can look at <a href="../symbols/Diagram.html#lastInput" class="linkProperty">Diagram.lastInput</a> to get the mouse
|
|
event and input state.
|
|
</span><div class="details" id="dmethdoMouseWheel"><p>
|
|
By default this method does nothing.
|
|
(But the <a href="../symbols/ToolManager.html#doMouseWheel" class="linkMethod">ToolManager.doMouseWheel</a> override will call <a href="../symbols/Tool.html#standardMouseWheel" class="linkMethod">Tool.standardMouseWheel</a>.)
|
|
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>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="doStart">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
doStart()
|
|
</div>
|
|
<div class="attributes">
|
|
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>The Diagram calls this method when this tool becomes the current tool; you should not call this method.<span class="nodetails" id="xmethdoStart"><a class="morelink" onclick="hst('methdoStart')">More...</a></span> <span class="details" id="methdoStart">
|
|
Tool implementations should perform their per-use initialization here, such
|
|
as setting up internal data structures, or capturing the mouse.
|
|
Implementations of this method can look at <a href="../symbols/Diagram.html#lastInput" class="linkProperty">Diagram.lastInput</a> to get the mouse
|
|
event and input state.
|
|
</span><div class="details" id="dmethdoStart"><p>
|
|
You should not call this method -- only the <a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a> property setter should call this method.
|
|
<p>
|
|
By default this method does nothing.
|
|
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>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="doStop">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
doStop()
|
|
</div>
|
|
<div class="attributes">
|
|
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>The Diagram calls this method when this tool stops being the current tool; you should not call this method.<span class="nodetails" id="xmethdoStop"><a class="morelink" onclick="hst('methdoStop')">More...</a></span> <span class="details" id="methdoStop">
|
|
Tool implementations should perform their per-use cleanup here,
|
|
such as releasing mouse capture.
|
|
</span><div class="details" id="dmethdoStop"><p>
|
|
You should not call this method -- only the <a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a> property setter should call this method.
|
|
If you want to stop a tool unexpectedly, you should call <a href="../symbols/Tool.html#doCancel" class="linkMethod">doCancel</a>.
|
|
If your implementation of a tool wants to stop itself, you should call <a href="../symbols/Tool.html#stopTool" class="linkMethod">stopTool</a>.
|
|
<p>
|
|
By default this method does nothing.
|
|
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>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="doWaitAfter">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
doWaitAfter(event)
|
|
</div>
|
|
<div class="attributes">
|
|
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>This is called a certain delay after a call to <a href="../symbols/Tool.html#standardWaitAfter" class="linkMethod">standardWaitAfter</a> if there
|
|
has not been any call to <a href="../symbols/Tool.html#cancelWaitAfter" class="linkMethod">cancelWaitAfter</a>.<span class="nodetails" id="xmethdoWaitAfter"><a class="morelink" onclick="hst('methdoWaitAfter')">More...</a></span> <span class="details" id="methdoWaitAfter">
|
|
The <a href="../symbols/ToolManager.html" class="linkConstructor">ToolManager</a> overrides this method in order to implement support for mouse-hover behavior and tooltips.
|
|
</span><div class="details" id="dmethdoWaitAfter"><p>
|
|
By default this does nothing.
|
|
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/InputEvent.html" class="linkConstructor">InputEvent</a>=}</span> <b>event</b>
|
|
|
|
</dt>
|
|
<dd>The event that caused <a href="../symbols/Tool.html#standardWaitAfter" class="linkMethod">standardWaitAfter</a>.</dd>
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="findToolHandleAt">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
findToolHandleAt(p, category)
|
|
</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 convenience function finds the front-most <a href="../symbols/GraphObject.html" class="linkConstructor">GraphObject</a>
|
|
that is at a given point and that is an element of an <a href="../symbols/Adornment.html" class="linkConstructor">Adornment</a>
|
|
that is of a given category.<span class="nodetails" id="xmethfindToolHandleAt"><a class="morelink" onclick="hst('methfindToolHandleAt')">More...</a></span> <span class="details" id="methfindToolHandleAt">
|
|
The tool handle must be an immediate element of the Adornment,
|
|
not a GraphObject that is nested within Panels within the Adornment.
|
|
</span><div class="details" id="dmethfindToolHandleAt"><p>
|
|
This method is very infrequently 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>a Point in document coordinates.</dd>
|
|
|
|
<dt>
|
|
<span class="light fixedFont">{string}</span> <b>category</b>
|
|
|
|
</dt>
|
|
<dd>the required <a href="../symbols/Part.html#category" class="linkProperty">Part.category</a> of the <a href="../symbols/Adornment.html" class="linkConstructor">Adornment</a>.</dd>
|
|
|
|
</dl>
|
|
|
|
|
|
<dl class="detailList">
|
|
<dt class="heading">Returns:</dt>
|
|
|
|
<dt><span class="light fixedFont">{<a href="../symbols/GraphObject.html" class="linkConstructor">GraphObject</a>}</span> </dt>
|
|
|
|
</dl>
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="isBeyondDragSize">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
isBeyondDragSize(first, last)
|
|
</div>
|
|
<div class="attributes">
|
|
<span class="light">{boolean}</span>
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>Return true when the last mouse point is far enough away from the first mouse down point
|
|
to constitute a drag operation instead of just a potential click.<span class="nodetails" id="xmethisBeyondDragSize"><a class="morelink" onclick="hst('methisBeyondDragSize')">More...</a></span> <span class="details" id="methisBeyondDragSize">
|
|
</span><div class="details" id="dmethisBeyondDragSize"><p>
|
|
This uses the value of <a href="../symbols/ToolManager.html#dragSize" class="linkProperty">ToolManager.dragSize</a>.
|
|
On touch devices the value is automatically increased to accommodate the unavoidable movement of fingers.
|
|
<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>first</b>
|
|
|
|
</dt>
|
|
<dd>Point in view coordinates, defaults to <a href="../symbols/Diagram.html#firstInput" class="linkProperty">Diagram.firstInput</a>'s <a href="../symbols/InputEvent.html#viewPoint" class="linkProperty">InputEvent.viewPoint</a>.</dd>
|
|
|
|
<dt>
|
|
<span class="light fixedFont">{<a href="../symbols/Point.html" class="linkConstructor">Point</a>=}</span> <b>last</b>
|
|
|
|
</dt>
|
|
<dd>Point in view coordinates, defaults to <a href="../symbols/Diagram.html#lastInput" class="linkProperty">Diagram.lastInput</a>'s <a href="../symbols/InputEvent.html#viewPoint" class="linkProperty">InputEvent.viewPoint</a>.</dd>
|
|
|
|
</dl>
|
|
|
|
|
|
<dl class="detailList">
|
|
<dt class="heading">Returns:</dt>
|
|
|
|
<dt><span class="light fixedFont">{boolean}</span> </dt>
|
|
|
|
</dl>
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="standardMouseClick">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
standardMouseClick(navig, pred)
|
|
</div>
|
|
<div class="attributes">
|
|
<span class="light">{boolean}</span>
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>Implement the standard behavior for mouse clicks,
|
|
searching for and calling click handler functions on <a href="../symbols/GraphObject.html" class="linkConstructor">GraphObject</a>s
|
|
or on <a href="../symbols/Diagram.html" class="linkConstructor">Diagram</a>,
|
|
and raising the corresponding <a href="../symbols/DiagramEvent.html" class="linkConstructor">DiagramEvent</a>.<span class="nodetails" id="xmethstandardMouseClick"><a class="morelink" onclick="hst('methstandardMouseClick')">More...</a></span> <span class="details" id="methstandardMouseClick">
|
|
</span><div class="details" id="dmethstandardMouseClick"><p>
|
|
A click on a <a href="../symbols/GraphObject.html" class="linkConstructor">GraphObject</a> of the diagram will raise one of the following <a href="../symbols/DiagramEvent.html" class="linkConstructor">DiagramEvent</a>s:
|
|
"ObjectSingleClicked", "ObjectDoubleClicked", or "ObjectContextClicked".
|
|
This will also look at the corresponding click property:
|
|
<a href="../symbols/GraphObject.html#click" class="linkProperty">GraphObject.click</a>, <a href="../symbols/GraphObject.html#doubleClick" class="linkProperty">GraphObject.doubleClick</a>, or <a href="../symbols/GraphObject.html#contextClick" class="linkProperty">GraphObject.contextClick</a>.
|
|
If the value is a function, this will call it, passing the current <a href="../symbols/InputEvent.html" class="linkConstructor">InputEvent</a>
|
|
and the GraphObject.
|
|
If the value is null, it tries looking at the parent <a href="../symbols/GraphObject.html#panel" class="linkProperty">GraphObject.panel</a>,
|
|
and so on, walking up the visual tree until it finds the appropriate function to call.
|
|
After calling the click function, if the value of <a href="../symbols/InputEvent.html#handled" class="linkProperty">InputEvent.handled</a> is false,
|
|
this method will continue walking up the visual tree looking for more click functions
|
|
to call.
|
|
Once it has looked at the top-level object (a <a href="../symbols/Part.html" class="linkConstructor">Part</a>)
|
|
for a click function, this method stops.
|
|
<p>
|
|
A click in the background of the diagram will raise one of the following <a href="../symbols/DiagramEvent.html" class="linkConstructor">DiagramEvent</a>s:
|
|
"BackgroundSingleClicked", "BackgroundDoubleClicked", or "BackgroundContextClicked".
|
|
This will also look at the corresponding click property:
|
|
<a href="../symbols/Diagram.html#click" class="linkProperty">Diagram.click</a>, <a href="../symbols/Diagram.html#doubleClick" class="linkProperty">Diagram.doubleClick</a>, or <a href="../symbols/Diagram.html#contextClick" class="linkProperty">Diagram.contextClick</a>.
|
|
If the value is a function, this will call it, passing the current <a href="../symbols/InputEvent.html" class="linkConstructor">InputEvent</a>.
|
|
<p>
|
|
This method is not responsible for selecting or deselecting any parts.
|
|
Call <a href="../symbols/Tool.html#standardMouseSelect" class="linkMethod">standardMouseSelect</a> for that functionality.
|
|
<p>
|
|
Note that this calls <a href="../symbols/GraphObject.html#isEnabledObject" class="linkMethod">GraphObject.isEnabledObject</a> on the target object;
|
|
if it returns false, no click action will occur.
|
|
<p>
|
|
The <a href="../symbols/ClickSelectingTool.html" class="linkConstructor">ClickSelectingTool</a> calls this method in its override of <a href="../symbols/Tool.html#doMouseUp" class="linkMethod">doMouseUp</a> in order to raise "click" events.
|
|
Note that by default GraphObjects in Layers that are <a href="../symbols/Layer.html#isTemporary" class="linkProperty">Layer.isTemporary</a> will not be "clicked".
|
|
To change that behavior it is easiest to set <a href="../symbols/GraphObject.html#isActionable" class="linkProperty">GraphObject.isActionable</a> to true on those objects for which you wish to handle "click" events.
|
|
Then the <a href="../symbols/ActionTool.html" class="linkConstructor">ActionTool</a>'s <a href="../symbols/Tool.html#doMouseUp" class="linkMethod">doMouseUp</a> override will raise the standard "click" events.
|
|
<p>
|
|
This method may be overridden, but you should consider calling this base method in order to get all of its functionality.
|
|
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">{function(GraphObject):GraphObject | null=}</span> <b>navig</b>
|
|
|
|
</dt>
|
|
<dd>An optional custom navigation
|
|
function to find target objects.</dd>
|
|
|
|
<dt>
|
|
<span class="light fixedFont">{function(GraphObject):boolean | null=}</span> <b>pred</b>
|
|
|
|
</dt>
|
|
<dd>An optional custom predicate
|
|
function to find target objects. No value means that only objects in layers holding permanent objects.</dd>
|
|
|
|
</dl>
|
|
|
|
|
|
<dl class="detailList">
|
|
<dt class="heading">Returns:</dt>
|
|
|
|
<dt><span class="light fixedFont">{boolean}</span> true if <a href="../symbols/InputEvent.html#handled" class="linkProperty">InputEvent.handled</a> had been set to true on the <a href="../symbols/Diagram.html#lastInput" class="linkProperty">Diagram.lastInput</a>.</dt>
|
|
|
|
</dl>
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="standardMouseOver">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
standardMouseOver()
|
|
</div>
|
|
<div class="attributes">
|
|
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>Implement the standard behavior for mouse enter, over, and leave events,
|
|
where the mouse is moving but no button is pressed.<span class="nodetails" id="xmethstandardMouseOver"><a class="morelink" onclick="hst('methstandardMouseOver')">More...</a></span> <span class="details" id="methstandardMouseOver">
|
|
This should be called by mouse move event handlers when wanting to
|
|
detect and invoke mouse enter/over/leave event handlers.
|
|
</span><div class="details" id="dmethstandardMouseOver"><p>
|
|
The <a href="../symbols/GraphObject.html#mouseEnter" class="linkProperty">GraphObject.mouseEnter</a> property provides a function to call
|
|
when the mouse first enters an object or any of its contained objects
|
|
(if the object is actually a <a href="../symbols/Panel.html" class="linkConstructor">Panel</a>).
|
|
<p>
|
|
The <a href="../symbols/GraphObject.html#mouseLeave" class="linkProperty">GraphObject.mouseLeave</a> property provides a function to call
|
|
when the mouse leaves an object and all of its contained objects
|
|
(if the object is actually a <a href="../symbols/Panel.html" class="linkConstructor">Panel</a>).
|
|
<p>
|
|
The <a href="../symbols/GraphObject.html#mouseOver" class="linkProperty">GraphObject.mouseOver</a> property and <a href="../symbols/Diagram.html#mouseOver" class="linkProperty">Diagram.mouseOver</a>
|
|
properties provide functions to call when the mouse moves but stays
|
|
within the same <a href="../symbols/GraphObject.html" class="linkConstructor">GraphObject</a> or when the mouse moves in the
|
|
background of the <a href="../symbols/Diagram.html" class="linkConstructor">Diagram</a>.
|
|
<p>
|
|
This method is also responsible for updating the <a href="../symbols/Diagram.html#currentCursor" class="linkProperty">Diagram.currentCursor</a>
|
|
according to the value of <a href="../symbols/GraphObject.html#cursor" class="linkProperty">GraphObject.cursor</a> and <a href="../symbols/Diagram.html#defaultCursor" class="linkProperty">Diagram.defaultCursor</a>.
|
|
<p>
|
|
This method may be overridden, but you should consider calling this base method in order to get all of its functionality.
|
|
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>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="standardMouseSelect">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
standardMouseSelect()
|
|
</div>
|
|
<div class="attributes">
|
|
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>Implement the standard behavior for selecting parts with the mouse,
|
|
depending on the control and shift modifier keys.<span class="nodetails" id="xmethstandardMouseSelect"><a class="morelink" onclick="hst('methstandardMouseSelect')">More...</a></span> <span class="details" id="methstandardMouseSelect">
|
|
</span><div class="details" id="dmethstandardMouseSelect"><p>
|
|
Control-clicking on a part will select it if it wasn't already,
|
|
and will deselect if it had been selected.
|
|
Shift-clicking on a part will add it to the selection (if it wasn't already).
|
|
Otherwise, clicking on a part will select it (if it wasn't already).
|
|
<p>
|
|
Note that there are restrictions on selection.
|
|
For example, a part cannot be selected in this manner if <a href="../symbols/Part.html#selectable" class="linkProperty">Part.selectable</a> is false,
|
|
or if <a href="../symbols/Diagram.html#maxSelectionCount" class="linkProperty">Diagram.maxSelectionCount</a> would be exceeded.
|
|
<p>
|
|
A left click in the background of the diagram with no modifier keys clears the selection.
|
|
<p>
|
|
This method does not implement any click event behavior -- that is implemented by <a href="../symbols/Tool.html#standardMouseClick" class="linkMethod">standardMouseClick</a>.
|
|
<p>
|
|
The <a href="../symbols/ClickSelectingTool.html" class="linkConstructor">ClickSelectingTool</a> calls this method in its override of <a href="../symbols/Tool.html#doMouseUp" class="linkMethod">doMouseUp</a> in order to change the selection.
|
|
<p>
|
|
This method may be overridden, but you should consider calling this base method in order to get all of its functionality.
|
|
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>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="standardMouseWheel">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
standardMouseWheel()
|
|
</div>
|
|
<div class="attributes">
|
|
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>Implement the standard behavior for mouse wheel events.<span class="nodetails" id="xmethstandardMouseWheel"><a class="morelink" onclick="hst('methstandardMouseWheel')">More...</a></span> <span class="details" id="methstandardMouseWheel">
|
|
<a href="../symbols/ToolManager.html#doMouseWheel" class="linkMethod">ToolManager.doMouseWheel</a> calls this method.
|
|
</span><div class="details" id="dmethstandardMouseWheel"><p>
|
|
Turning the mouse wheel if <a href="../symbols/Diagram.html#allowVerticalScroll" class="linkProperty">Diagram.allowVerticalScroll</a> is true
|
|
causes the diagram to scroll up or down.
|
|
If <a href="../symbols/InputEvent.html#shift" class="linkProperty">InputEvent.shift</a> and <a href="../symbols/Diagram.html#allowHorizontalScroll" class="linkProperty">Diagram.allowHorizontalScroll</a> are true,
|
|
the diagram scrolls left or right.
|
|
<p>
|
|
If <a href="../symbols/InputEvent.html#control" class="linkProperty">InputEvent.control</a> and <a href="../symbols/Diagram.html#allowZoom" class="linkProperty">Diagram.allowZoom</a> are true,
|
|
turning the mouse wheel changes the diagram's scale,
|
|
zooming in or out while trying to keep the point in the model
|
|
at the same point as the mouse.
|
|
<p>
|
|
The value of <a href="../symbols/ToolManager.html#mouseWheelBehavior" class="linkProperty">ToolManager.mouseWheelBehavior</a> affects what operations might occur
|
|
upon mouse wheel events.
|
|
<p>
|
|
This method may be overridden, but you should consider calling this base method in order to get all of its functionality.
|
|
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>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="standardPinchZoomMove">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
standardPinchZoomMove()
|
|
</div>
|
|
<div class="attributes">
|
|
|
|
|
|
<span class="since" title="since">1.5</span>
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>Continues pinch-zooming (started by <a href="../symbols/Tool.html#standardPinchZoomStart" class="linkMethod">standardPinchZoomStart</a> on multi-touch devices.<span class="nodetails" id="xmethstandardPinchZoomMove"><a class="morelink" onclick="hst('methstandardPinchZoomMove')">More...</a></span> <span class="details" id="methstandardPinchZoomMove">
|
|
</span><div class="details" id="dmethstandardPinchZoomMove"><p>
|
|
This is called by <a href="../symbols/ToolManager.html#doMouseMove" class="linkMethod">ToolManager.doMouseMove</a> if the <a href="../symbols/Diagram.html#lastInput" class="linkProperty">Diagram.lastInput</a> has <a href="../symbols/InputEvent.html#isMultiTouch" class="linkProperty">InputEvent.isMultiTouch</a>
|
|
set to true and <a href="../symbols/Tool.html#canStartMultiTouch" class="linkMethod">canStartMultiTouch</a> returns true.
|
|
By default this calls <a href="../symbols/Tool.html#doCancel" class="linkMethod">doCancel</a> in order to cancel the regular tool behavior caused by the multitouch events.
|
|
This then calculates the appropriate zoom level and calls <a href="../symbols/CommandHandler.html#canResetZoom" class="linkMethod">CommandHandler.canResetZoom</a> to decide
|
|
whether to call <a href="../symbols/CommandHandler.html#resetZoom" class="linkMethod">CommandHandler.resetZoom</a> to actually set <a href="../symbols/Diagram.html#scale" class="linkProperty">Diagram.scale</a>.
|
|
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>
|
|
|
|
</p><div class="seealso">See also:
|
|
<ul class="seealsolist">
|
|
|
|
<li><a href="../symbols/Tool.html#canStartMultiTouch" class="linkMethod">canStartMultiTouch</a></li>
|
|
|
|
<li><a href="../symbols/Tool.html#standardPinchZoomStart" class="linkMethod">standardPinchZoomStart</a></li>
|
|
|
|
</ul></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="standardPinchZoomStart">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
standardPinchZoomStart()
|
|
</div>
|
|
<div class="attributes">
|
|
|
|
|
|
<span class="since" title="since">1.5</span>
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>Initiates pinch-zooming on multi-touch devices.<span class="nodetails" id="xmethstandardPinchZoomStart"><a class="morelink" onclick="hst('methstandardPinchZoomStart')">More...</a></span> <span class="details" id="methstandardPinchZoomStart">
|
|
</span><div class="details" id="dmethstandardPinchZoomStart"><p>
|
|
This is called by <a href="../symbols/ToolManager.html#doMouseDown" class="linkMethod">ToolManager.doMouseDown</a> if the <a href="../symbols/Diagram.html#lastInput" class="linkProperty">Diagram.lastInput</a> has <a href="../symbols/InputEvent.html#isMultiTouch" class="linkProperty">InputEvent.isMultiTouch</a>
|
|
set to true and <a href="../symbols/Tool.html#canStartMultiTouch" class="linkMethod">canStartMultiTouch</a> returns true.
|
|
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>
|
|
|
|
</p><div class="seealso">See also:
|
|
<ul class="seealsolist">
|
|
|
|
<li><a href="../symbols/Tool.html#canStartMultiTouch" class="linkMethod">canStartMultiTouch</a></li>
|
|
|
|
<li><a href="../symbols/Tool.html#standardPinchZoomMove" class="linkMethod">standardPinchZoomMove</a></li>
|
|
|
|
</ul></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="standardWaitAfter">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
standardWaitAfter(delay, event)
|
|
</div>
|
|
<div class="attributes">
|
|
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>This is called to start a new timer to call <a href="../symbols/Tool.html#doWaitAfter" class="linkMethod">doWaitAfter</a> after a given delay.<span class="nodetails" id="xmethstandardWaitAfter"><a class="morelink" onclick="hst('methstandardWaitAfter')">More...</a></span> <span class="details" id="methstandardWaitAfter">
|
|
It first cancels any previously running "WaitAfter" timer, by calling <a href="../symbols/Tool.html#cancelWaitAfter" class="linkMethod">cancelWaitAfter</a>.
|
|
</span><div class="details" id="dmethstandardWaitAfter"><p>
|
|
This is normally used to implement mouse hover and mouse hold events.
|
|
If the mouse has moved, it must not have moved beyond the distance as determined by
|
|
<a href="../symbols/Tool.html#isBeyondDragSize" class="linkMethod">Tool.isBeyondDragSize</a> for it be considered "stationary".
|
|
So the regular <a href="../symbols/ToolManager.html#doMouseMove" class="linkMethod">ToolManager.doMouseMove</a> implementation only calls
|
|
this method when the mouse has moved beyond the drag size.
|
|
<p>
|
|
This method is rarely 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">{number}</span> <b>delay</b>
|
|
|
|
</dt>
|
|
<dd>The delay, in milliseconds.</dd>
|
|
|
|
<dt>
|
|
<span class="light fixedFont">{<a href="../symbols/InputEvent.html" class="linkConstructor">InputEvent</a>=}</span> <b>event</b>
|
|
|
|
</dt>
|
|
<dd>An optional event that caused this timer.
|
|
This gets passed on to <a href="../symbols/Tool.html#doWaitAfter" class="linkMethod">doWaitAfter</a>.</dd>
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="startTransaction">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
startTransaction(tname)
|
|
</div>
|
|
<div class="attributes">
|
|
<span class="light">{boolean}</span>
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>Call <a href="../symbols/Diagram.html#startTransaction" class="linkMethod">Diagram.startTransaction</a> with the given transaction name.<span class="nodetails" id="xmethstartTransaction"><a class="morelink" onclick="hst('methstartTransaction')">More...</a></span> <span class="details" id="methstartTransaction">
|
|
This always sets <a href="../symbols/Tool.html#transactionResult" class="linkProperty">transactionResult</a> to null.
|
|
</span><div class="details" id="dmethstartTransaction"><p>
|
|
This is normally called in an override of <a href="../symbols/Tool.html#doActivate" class="linkMethod">doActivate</a>, if the tool modifies the model,
|
|
along with a call to <a href="../symbols/Tool.html#stopTransaction" class="linkMethod">stopTransaction</a> in an override of <a href="../symbols/Tool.html#doDeactivate" class="linkMethod">doDeactivate</a>.
|
|
Alternatively, you can surround a block of code that sets the <a href="../symbols/Tool.html#transactionResult" class="linkProperty">transactionResult</a>
|
|
with calls to startTransaction and stopTransaction.</div>
|
|
|
|
|
|
<dl class="detailList">
|
|
<dt class="heading">Parameters:</dt>
|
|
|
|
<dt>
|
|
<span class="light fixedFont">{string=}</span> <b>tname</b>
|
|
|
|
</dt>
|
|
<dd>a string describing the transaction.</dd>
|
|
|
|
</dl>
|
|
|
|
|
|
<dl class="detailList">
|
|
<dt class="heading">Returns:</dt>
|
|
|
|
<dt><span class="light fixedFont">{boolean}</span> the value of the call to <a href="../symbols/Diagram.html#startTransaction" class="linkMethod">Diagram.startTransaction</a>.</dt>
|
|
|
|
</dl>
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="stopTool">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
stopTool()
|
|
</div>
|
|
<div class="attributes">
|
|
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>If the <a href="../symbols/Diagram.html#currentTool" class="linkProperty">Diagram.currentTool</a> is this tool,
|
|
stop this tool and start the <a href="../symbols/Diagram.html#defaultTool" class="linkProperty">Diagram.defaultTool</a>
|
|
by making it be the new current tool.<span class="nodetails" id="xmethstopTool"><a class="morelink" onclick="hst('methstopTool')">More...</a></span> <span class="details" id="methstopTool">
|
|
The implementation of various tool methods can call this method to stop the current tool.
|
|
This will call <a href="../symbols/Tool.html#doStop" class="linkMethod">doStop</a> -- you should not call that method directly.
|
|
</span><div class="details" id="dmethstopTool"><p>
|
|
If you want to stop the current tool and have it restore the original state, call <a href="../symbols/Tool.html#doCancel" class="linkMethod">doCancel</a>.
|
|
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>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="stopTransaction">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
stopTransaction()
|
|
</div>
|
|
<div class="attributes">
|
|
<span class="light">{boolean}</span>
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>If <a href="../symbols/Tool.html#transactionResult" class="linkProperty">transactionResult</a> is null, call <a href="../symbols/Diagram.html#rollbackTransaction" class="linkMethod">Diagram.rollbackTransaction</a>,
|
|
otherwise call <a href="../symbols/Diagram.html#commitTransaction" class="linkMethod">Diagram.commitTransaction</a>.<span class="nodetails" id="xmethstopTransaction"><a class="morelink" onclick="hst('methstopTransaction')">More...</a></span> <span class="details" id="methstopTransaction">
|
|
</span><div class="details" id="dmethstopTransaction"><p>
|
|
This is normally called in an override of <a href="../symbols/Tool.html#doDeactivate" class="linkMethod">doDeactivate</a>,
|
|
if <a href="../symbols/Tool.html#startTransaction" class="linkMethod">startTransaction</a> was called in <a href="../symbols/Tool.html#doActivate" class="linkMethod">doActivate</a>.
|
|
Alternatively, you can surround a block of code that sets the <a href="../symbols/Tool.html#transactionResult" class="linkProperty">transactionResult</a>
|
|
with calls to startTransaction and stopTransaction.</div>
|
|
|
|
|
|
|
|
<dl class="detailList">
|
|
<dt class="heading">Returns:</dt>
|
|
|
|
<dt><span class="light fixedFont">{boolean}</span> the result of the call to rollback or commit the transaction.</dt>
|
|
|
|
</dl>
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr id="updateAdornments">
|
|
<td class="name">
|
|
|
|
<div class="name">
|
|
updateAdornments(part)
|
|
</div>
|
|
<div class="attributes">
|
|
|
|
|
|
</div>
|
|
</td>
|
|
<td class="description">
|
|
<div class="description">
|
|
<!--newp--><p><p>The diagram asks each tool to update any adornments the tool might
|
|
use for a given part.<span class="nodetails" id="xmethupdateAdornments"><a class="morelink" onclick="hst('methupdateAdornments')">More...</a></span> <span class="details" id="methupdateAdornments">
|
|
If the tool uses its own tool handles,
|
|
this should display them or hide them as appropriate.
|
|
Typically this should only show them if the part is selected.
|
|
</span><div class="details" id="dmethupdateAdornments"><p>
|
|
By default this method does nothing.
|
|
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/Part.html" class="linkConstructor">Part</a>}</span> <b>part</b>
|
|
|
|
</dt>
|
|
<dd></dd>
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
</tbody>
|
|
</table>
|
|
</div><!-- class="table-responsive">-->
|
|
|
|
|
|
|
|
|
|
<!-- ============================== events summary ======================== -->
|
|
|
|
|
|
<!-- ============================== fields summary ===================== -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ============================== constructor details ==================== -->
|
|
|
|
</div> <!-- end contentBody -->
|
|
</div> <!-- end container-fluid -->
|
|
|
|
<!-- ============================== footer ================================= -->
|
|
<div id="footer" class="fineprint" style="clear:both">
|
|
Copyright © 1998-2017 by <a href="https://www.nwoods.com/">Northwoods Software Corporation.</a>
|
|
</div>
|
|
</body>
|
|
</html>
|