maxGraph/docs/js-api/files/editor/mxDefaultPopupMenu-js.html

73 lines
43 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><title>mxDefaultPopupMenu</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/prettify.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
<!-- Generated by Natural Docs, version 1.5 -->
<!-- http://www.naturaldocs.org -->
<!-- saved from url=(0026)http://www.naturaldocs.org -->
<div id=Content><div class="CClass"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="mxDefaultPopupMenu"></a>mxDefaultPopupMenu</h1><div class=CBody><p>Creates popupmenus for mouse events.&nbsp; This object holds an XML node which is a description of the popup menu to be created.&nbsp; In <a href="#mxDefaultPopupMenu.createMenu" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt4', 'link10')" onMouseOut="HideTip('tt4')">createMenu</a>, the configuration is applied to the context and the resulting menu items are added to the menu dynamically.&nbsp; See <a href="#mxDefaultPopupMenu.createMenu" class=LFunction id=link11 onMouseOver="ShowTip(event, 'tt4', 'link11')" onMouseOut="HideTip('tt4')">createMenu</a> for a description of the configuration format.</p><p>This class does not create the DOM nodes required for the popup menu, it only parses an XML description to invoke the respective methods on an <a href="../util/mxPopupMenu-js.html#mxPopupMenu" class=LClass id=link12 onMouseOver="ShowTip(event, 'tt9', 'link12')" onMouseOut="HideTip('tt9')">mxPopupMenu</a> each time the menu is displayed.</p><h4 class=CHeading>Codec</h4><p>This class uses the <a href="../io/mxDefaultPopupMenuCodec-js.html#mxDefaultPopupMenuCodec" class=LClass id=link13 onMouseOver="ShowTip(event, 'tt10', 'link13')" onMouseOut="HideTip('tt10')">mxDefaultPopupMenuCodec</a> to read configuration data into an existing instance, however, the actual parsing is done by this class during program execution, so the format is described below.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#mxDefaultPopupMenu" >mxDefaultPopupMenu</a></td><td class=SDescription>Creates popupmenus for mouse events. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxDefaultPopupMenu.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxDefaultPopupMenu.mxDefaultPopupMenu" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">mxDefaultPopupMenu</a></td><td class=SDescription>Constructs a new popupmenu-factory based on given configuration.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxDefaultPopupMenu.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxDefaultPopupMenu.imageBasePath" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">imageBasePath</a></td><td class=SDescription>Base path for all icon attributes in the config. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxDefaultPopupMenu.config" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">config</a></td><td class=SDescription>XML node used as the description of new menu items. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxDefaultPopupMenu.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxDefaultPopupMenu.createMenu" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">createMenu</a></td><td class=SDescription>This function is called from <a href="mxEditor-js.html#mxEditor" class=LClass id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">mxEditor</a> to add items to the given menu based on <a href="#mxDefaultPopupMenu.config" class=LVariable id=link6 onMouseOver="ShowTip(event, 'tt3', 'link6')" onMouseOut="HideTip('tt3')">config</a>. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxDefaultPopupMenu.addItems" id=link7 onMouseOver="ShowTip(event, 'tt6', 'link7')" onMouseOut="HideTip('tt6')">addItems</a></td><td class=SDescription>Recursively adds the given items and all of its children into the given menu.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxDefaultPopupMenu.addAction" id=link8 onMouseOver="ShowTip(event, 'tt7', 'link8')" onMouseOut="HideTip('tt7')">addAction</a></td><td class=SDescription>Helper method to bind an action to a new menu item.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxDefaultPopupMenu.createConditions" id=link9 onMouseOver="ShowTip(event, 'tt8', 'link9')" onMouseOut="HideTip('tt8')">createConditions</a></td><td class=SDescription>Evaluates the default conditions for the given context.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxDefaultPopupMenu.Functions"></a>Functions</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxDefaultPopupMenu.mxDefaultPopupMenu"></a>mxDefaultPopupMenu</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function mxDefaultPopupMenu(</td><td class=PParameter nowrap>config</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Constructs a new popupmenu-factory based on given configuration.</p><h4 class=CHeading>Paramaters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>config</td><td class=CDLDescription>XML node that contains the configuration data.</td></tr></table></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxDefaultPopupMenu.Variables"></a>Variables</h3></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxDefaultPopupMenu.imageBasePath"></a>imageBasePath</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxDefaultPopupMenu.prototype.imageBasePath</td></tr></table></blockquote><p>Base path for all icon attributes in the config.&nbsp; Default is null.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxDefaultPopupMenu.config"></a>config</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxDefaultPopupMenu.prototype.config</td></tr></table></blockquote><p>XML node used as the description of new menu items.&nbsp; This node is used in <a href="#mxDefaultPopupMenu.createMenu" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt4', 'link14')" onMouseOut="HideTip('tt4')">createMenu</a> to dynamically create the menu items if their respective conditions evaluate to true for the given arguments.</p></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxDefaultPopupMenu.Functions"></a>Functions</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxDefaultPopupMenu.createMenu"></a>createMenu</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxDefaultPopupMenu.prototype.createMenu = function(</td><td class=PParameter nowrap>editor,</td></tr><tr><td></td><td class=PParameter nowrap>menu,</td></tr><tr><td></td><td class=PParameter nowrap>cell,</td></tr><tr><td></td><td class=PParameter nowrap>evt</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>This function is called from <a href="mxEditor-js.html#mxEditor" class=LClass id=link15 onMouseOver="ShowTip(event, 'tt5', 'link15')" onMouseOut="HideTip('tt5')">mxEditor</a> to add items to the given menu based on <a href="#mxDefaultPopupMenu.config" class=LVariable id=link16 onMouseOver="ShowTip(event, 'tt3', 'link16')" onMouseOut="HideTip('tt3')">config</a>.&nbsp; The config is a sequence of the following nodes and attributes.</p><h4 class=CHeading>Child Nodes</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>add</td><td class=CDLDescription>Adds a new menu item.&nbsp; See below for attributes.</td></tr><tr><td class=CDLEntry>separator</td><td class=CDLDescription>Adds a separator.&nbsp; No attributes.</td></tr><tr><td class=CDLEntry>condition</td><td class=CDLDescription>Adds a custom condition.&nbsp; Name attribute.</td></tr></table><p>The add-node may have a child node that defines a function to be invoked before the action is executed (or instead of an action to be executed).</p><h4 class=CHeading>Attributes</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>as</td><td class=CDLDescription>Resource key for the label (needs entry in property file).</td></tr><tr><td class=CDLEntry>action</td><td class=CDLDescription>Name of the action to execute in enclosing editor.</td></tr><tr><td class=CDLEntry>icon</td><td class=CDLDescription>Optional icon (relative/absolute URL).</td></tr><tr><td class=CDLEntry>iconCls</td><td class=CDLDescription>Optional CSS class for the icon.</td></tr><tr><td class=CDLEntry>if</td><td class=CDLDescription>Optional name of condition that must be true(see below).</td></tr><tr><td class=CDLEntry>name</td><td class=CDLDescription>Name of custom condition.&nbsp; Only for condition nodes.</td></tr></table><h4 class=CHeading>Conditions</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>nocell</td><td class=CDLDescription>No cell under the mouse.</td></tr><tr><td class=CDLEntry>ncells</td><td class=CDLDescription>More than one cell selected.</td></tr><tr><td class=CDLEntry>notRoot</td><td class=CDLDescription>Drilling position is other than home.</td></tr><tr><td class=CDLEntry>cell</td><td class=CDLDescription>Cell under the mouse.</td></tr><tr><td class=CDLEntry>notEmpty</td><td class=CDLDescription>Exactly one cell with children under mouse.</td></tr><tr><td class=CDLEntry>expandable</td><td class=CDLDescription>Exactly one expandable cell under mouse.</td></tr><tr><td class=CDLEntry>collapsable</td><td class=CDLDescription>Exactly one collapsable cell under mouse.</td></tr><tr><td class=CDLEntry>validRoot</td><td class=CDLDescription>Exactly one cell which is a possible root under mouse.</td></tr><tr><td class=CDLEntry>swimlane</td><td class=CDLDescription>Exactly one cell which is a swimlane under mouse.</td></tr></table><h4 class=CHeading>Example</h4><h4 class=CHeading>To add a new item for a given action to the popupmenu</h4><blockquote><pre class="prettyprint">&lt;mxDefaultPopupMenu as=&quot;popupHandler&quot;&gt;
&lt;add as=&quot;delete&quot; action=&quot;delete&quot; icon=&quot;images/delete.gif&quot; if=&quot;cell&quot;/&gt;
&lt;/mxDefaultPopupMenu&gt;</pre></blockquote><h4 class=CHeading>To add a new item for a custom function</h4><blockquote><pre class="prettyprint">&lt;mxDefaultPopupMenu as=&quot;popupHandler&quot;&gt;
&lt;add as=&quot;action1&quot;&gt;&lt;![CDATA[
function (editor, cell, evt)
{
editor.execute('action1', cell, 'myArg');
}
]]&gt;&lt;/add&gt;
&lt;/mxDefaultPopupMenu&gt;</pre></blockquote><p>The above example invokes action1 with an additional third argument via the editor instance.&nbsp; The third argument is passed to the function that defines action1.&nbsp; If the add-node has no action-attribute, then only the function defined in the text content is executed, otherwise first the function and then the action defined in the action-attribute is executed.&nbsp; The function in the text content has 3 arguments, namely the <a href="mxEditor-js.html#mxEditor" class=LClass id=link17 onMouseOver="ShowTip(event, 'tt5', 'link17')" onMouseOut="HideTip('tt5')">mxEditor</a> instance, the <a href="../model/mxCell-js.html#mxCell" class=LClass id=link18 onMouseOver="ShowTip(event, 'tt11', 'link18')" onMouseOut="HideTip('tt11')">mxCell</a> instance under the mouse, and the native mouse event.</p><h4 class=CHeading>Custom Conditions</h4><h4 class=CHeading>To add a new condition for popupmenu items</h4><blockquote><pre class="prettyprint">&lt;condition name=&quot;condition1&quot;&gt;&lt;![CDATA[
function (editor, cell, evt)
{
return cell != null;
}
]]&gt;&lt;/condition&gt;</pre></blockquote><h4 class=CHeading>The new condition can then be used in any item as follows</h4><blockquote><pre class="prettyprint">&lt;add as=&quot;action1&quot; action=&quot;action1&quot; icon=&quot;action1.gif&quot; if=&quot;condition1&quot;/&gt;</pre></blockquote><p>The order in which the items and conditions appear is not significant as all connditions are evaluated before any items are created.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>editor</td><td class=CDLDescription>Enclosing <a href="mxEditor-js.html#mxEditor" class=LClass id=link19 onMouseOver="ShowTip(event, 'tt5', 'link19')" onMouseOut="HideTip('tt5')">mxEditor</a> instance.</td></tr><tr><td class=CDLEntry>menu</td><td class=CDLDescription><a href="../util/mxPopupMenu-js.html#mxPopupMenu" class=LClass id=link20 onMouseOver="ShowTip(event, 'tt9', 'link20')" onMouseOut="HideTip('tt9')">mxPopupMenu</a> that is used for adding items and separators.</td></tr><tr><td class=CDLEntry>cell</td><td class=CDLDescription>Optional <a href="../model/mxCell-js.html#mxCell" class=LClass id=link21 onMouseOver="ShowTip(event, 'tt11', 'link21')" onMouseOut="HideTip('tt11')">mxCell</a> which is under the mousepointer.</td></tr><tr><td class=CDLEntry>evt</td><td class=CDLDescription>Optional mouse event which triggered the menu.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxDefaultPopupMenu.addItems"></a>addItems</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxDefaultPopupMenu.prototype.addItems = function(</td><td class=PParameter nowrap>editor,</td></tr><tr><td></td><td class=PParameter nowrap>menu,</td></tr><tr><td></td><td class=PParameter nowrap>cell,</td></tr><tr><td></td><td class=PParameter nowrap>evt,</td></tr><tr><td></td><td class=PParameter nowrap>conditions,</td></tr><tr><td></td><td class=PParameter nowrap>item,</td></tr><tr><td></td><td class=PParameter nowrap>parent</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Recursively adds the given items and all of its children into the given menu.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>editor</td><td class=CDLDescription>Enclosing <a href="mxEditor-js.html#mxEditor" class=LClass id=link22 onMouseOver="ShowTip(event, 'tt5', 'link22')" onMouseOut="HideTip('tt5')">mxEditor</a> instance.</td></tr><tr><td class=CDLEntry>menu</td><td class=CDLDescription><a href="../util/mxPopupMenu-js.html#mxPopupMenu" class=LClass id=link23 onMouseOver="ShowTip(event, 'tt9', 'link23')" onMouseOut="HideTip('tt9')">mxPopupMenu</a> that is used for adding items and separators.</td></tr><tr><td class=CDLEntry>cell</td><td class=CDLDescription>Optional <a href="../model/mxCell-js.html#mxCell" class=LClass id=link24 onMouseOver="ShowTip(event, 'tt11', 'link24')" onMouseOut="HideTip('tt11')">mxCell</a> which is under the mousepointer.</td></tr><tr><td class=CDLEntry>evt</td><td class=CDLDescription>Optional mouse event which triggered the menu.</td></tr><tr><td class=CDLEntry>conditions</td><td class=CDLDescription>Array of names boolean conditions.</td></tr><tr><td class=CDLEntry>item</td><td class=CDLDescription>XML node that represents the current menu item.</td></tr><tr><td class=CDLEntry>parent</td><td class=CDLDescription>DOM node that represents the parent menu item.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxDefaultPopupMenu.addAction"></a>addAction</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxDefaultPopupMenu.prototype.addAction = function(</td><td class=PParameter nowrap>menu,</td></tr><tr><td></td><td class=PParameter nowrap>editor,</td></tr><tr><td></td><td class=PParameter nowrap>lab,</td></tr><tr><td></td><td class=PParameter nowrap>icon,</td></tr><tr><td></td><td class=PParameter nowrap>funct,</td></tr><tr><td></td><td class=PParameter nowrap>action,</td></tr><tr><td></td><td class=PParameter nowrap>cell,</td></tr><tr><td></td><td class=PParameter nowrap>parent,</td></tr><tr><td></td><td class=PParameter nowrap>iconCls</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Helper method to bind an action to a new menu item.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>menu</td><td class=CDLDescription><a href="../util/mxPopupMenu-js.html#mxPopupMenu" class=LClass id=link25 onMouseOver="ShowTip(event, 'tt9', 'link25')" onMouseOut="HideTip('tt9')">mxPopupMenu</a> that is used for adding items and separators.</td></tr><tr><td class=CDLEntry>editor</td><td class=CDLDescription>Enclosing <a href="mxEditor-js.html#mxEditor" class=LClass id=link26 onMouseOver="ShowTip(event, 'tt5', 'link26')" onMouseOut="HideTip('tt5')">mxEditor</a> instance.</td></tr><tr><td class=CDLEntry>lab</td><td class=CDLDescription>String that represents the label of the menu item.</td></tr><tr><td class=CDLEntry>icon</td><td class=CDLDescription>Optional URL that represents the icon of the menu item.</td></tr><tr><td class=CDLEntry>action</td><td class=CDLDescription>Optional name of the action to execute in the given editor.</td></tr><tr><td class=CDLEntry>funct</td><td class=CDLDescription>Optional function to execute before the optional action.&nbsp; The function takes an <a href="mxEditor-js.html#mxEditor" class=LClass id=link27 onMouseOver="ShowTip(event, 'tt5', 'link27')" onMouseOut="HideTip('tt5')">mxEditor</a>, the <a href="../model/mxCell-js.html#mxCell" class=LClass id=link28 onMouseOver="ShowTip(event, 'tt11', 'link28')" onMouseOut="HideTip('tt11')">mxCell</a> under the mouse and the mouse event that triggered the call.</td></tr><tr><td class=CDLEntry>cell</td><td class=CDLDescription>Optional <a href="../model/mxCell-js.html#mxCell" class=LClass id=link29 onMouseOver="ShowTip(event, 'tt11', 'link29')" onMouseOut="HideTip('tt11')">mxCell</a> to use as an argument for the action.</td></tr><tr><td class=CDLEntry>parent</td><td class=CDLDescription>DOM node that represents the parent menu item.</td></tr><tr><td class=CDLEntry>iconCls</td><td class=CDLDescription>Optional CSS class for the menu icon.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxDefaultPopupMenu.createConditions"></a>createConditions</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxDefaultPopupMenu.prototype.createConditions = function(</td><td class=PParameter nowrap>editor,</td></tr><tr><td></td><td class=PParameter nowrap>cell,</td></tr><tr><td></td><td class=PParameter nowrap>evt</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Evaluates the default conditions for the given context.</p></div></div></div>
</div><!--Content-->
<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
<div id=Menu><div class=MEntry><div class=MFile><a href="../index-txt.html">API Specification</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Editor</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="mxDefaultKeyHandler-js.html">mxDefaultKeyHandler</a></div></div><div class=MEntry><div class=MFile id=MSelected>mxDefaultPopupMenu</div></div><div class=MEntry><div class=MFile><a href="mxDefaultToolbar-js.html">mxDefaultToolbar</a></div></div><div class=MEntry><div class=MFile><a href="mxEditor-js.html">mxEditor</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Handler</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../handler/mxCellHighlight-js.html">mxCellHighlight</a></div></div><div class=MEntry><div class=MFile><a href="../handler/mxCellMarker-js.html">mxCellMarker</a></div></div><div class=MEntry><div class=MFile><a href="../handler/mxCellTracker-js.html">mxCellTracker</a></div></div><div class=MEntry><div class=MFile><a href="../handler/mxConnectionHandler-js.html">mxConnectionHandler</a></div></div><div class=MEntry><div class=MFile><a href="../handler/mxConstraintHandler-js.html">mxConstraintHandler</a></div></div><div class=MEntry><div class=MFile><a href="../handler/mxEdgeHandler-js.html">mxEdgeHandler</a></div></div><div class=MEntry><div class=MFile><a href="../handler/mxEdgeSegmentHandler-js.html">mxEdgeSegmentHandler.js</a></div></div><div class=MEntry><div class=MFile><a href="../handler/mxElbowEdgeHandler-js.html">mxElbowEdgeHandler</a></div></div><div class=MEntry><div class=MFile><a href="../handler/mxGraphHandler-js.html">mxGraphHandler</a></div></div><div class=MEntry><div class=MFile><a href="../handler/mxKeyHandler-js.html">mxKeyHandler</a></div></div><div class=MEntry><div class=MFile><a href="../handler/mxPanningHandler-js.html">mxPanningHandler</a></div></div><div class=MEntry><div class=MFile><a href="../handler/mxPopupMenuHandler-js.html">mxPanningHandler</a></div></div><div class=MEntry><div class=MFile><a href="../handler/mxRubberband-js.html">mxRubberband</a></div></div><div class=MEntry><div class=MFile><a href="../handler/mxSelectionCellsHandler-js.html">mxSelectionCellsHandler</a></div></div><div class=MEntry><div class=MFile><a href="../handler/mxTooltipHandler-js.html">mxTooltipHandler</a></div></div><div class=MEntry><div class=MFile><a href="../handler/mxVertexHandler-js.html">mxVertexHandler</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Io</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MFile><a href="../io/mxCellCodec-js.html">mxCellCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxChildChangeCodec-js.html">mxChildChangeCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxCodec-js.html">mxCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxCodecRegistry-js.html">mxCodecRegistry</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxDefaultKeyHandlerCodec-js.html">mxDefaultKeyHandlerCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxDefaultPopupMenuCodec-js.html">mxDefaultPopupMenuCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxDefaultToolbarCodec-js.html">mxDefaultToolbarCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxEditorCodec-js.html">mxEditorCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxGenericChangeCodec-js.html">mxGenericChangeCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxGraphCodec-js.html">mxGraphCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxGraphViewCodec-js.html">mxGraphViewCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxModelCodec-js.html">mxModelCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxObjectCodec-js.html">mxObjectCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxRootChangeCodec-js.html">mxRootChangeCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxStylesheetCodec-js.html">mxStylesheetCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxTerminalChangeCodec-js.html">mxTerminalChangeCodec</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Layout</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Hierarchical</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Model</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../layout/hierarchical/model/mxGraphAbstractHierarchyCell-js.html">mxGraphAbstractHierarchyCell</a></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/model/mxGraphHierarchyEdge-js.html">mxGraphHierarchyEdge</a></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/model/mxGraphHierarchyModel-js.html">mxGraphHierarchyModel</a></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/model/mxGraphHierarchyNode-js.html">mxGraphHierarchyNode</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/mxHierarchicalLayout-js.html">mxHierarchicalLayout</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Stage</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MFile><a href="../layout/hierarchical/stage/mxCoordinateAssignment-js.html">mxCoordinateAssignment</a></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/stage/mxHierarchicalLayoutStage-js.html">mxHierarchicalLayoutStage</a></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/stage/mxMedianHybridCrossingReduction-js.html">mxMedianHybridCrossingReduction</a></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/stage/mxMinimumCycleRemover-js.html">mxMinimumCycleRemover</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../layout/mxCircleLayout-js.html">mxCircleLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxCompactTreeLayout-js.html">mxCompactTreeLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxCompositeLayout-js.html">mxCompositeLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxEdgeLabelLayout-js.html">mxEdgeLabelLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxFastOrganicLayout-js.html">mxFastOrganicLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxGraphLayout-js.html">mxGraphLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxParallelEdgeLayout-js.html">mxParallelEdgeLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxPartitionLayout-js.html">mxPartitionLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxStackLayout-js.html">mxStackLayout</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Model</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MFile><a href="../model/mxCell-js.html">mxCell</a></div></div><div class=MEntry><div class=MFile><a href="../model/mxCellPath-js.html">mxCellPath</a></div></div><div class=MEntry><div class=MFile><a href="../model/mxGeometry-js.html">mxGeometry</a></div></div><div class=MEntry><div class=MFile><a href="../model/mxGraphModel-js.html">mxGraphModel</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../mxClient-js.html">mxClient</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent9')">Shape</a><div class=MGroupContent id=MGroupContent9><div class=MEntry><div class=MFile><a href="../shape/mxActor-js.html">mxActor</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxArrow-js.html">mxArrow</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxCloud-js.html">mxCloud</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxConnector-js.html">mxConnector</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxCylinder-js.html">mxCylinder</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxDoubleEllipse-js.html">mxDoubleEllipse</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxEllipse-js.html">mxEllipse</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxHexagon-js.html">mxHexagon</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxImageShape-js.html">mxImageShape</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxLabel-js.html">mxLabel</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxLine-js.html">mxLine</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxMarker-js.html">mxMarker</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxPolyline-js.html">mxPolyline</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxRectangleShape-js.html">mxRectangleShape</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxRhombus-js.html">mxRhombus</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxShape-js.html">mxShape</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxStencil-js.html">mxStencil</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxStencilRegistry-js.html">mxStencilRegistry</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxSwimlane-js.html">mxSwimlane</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxText-js.html">mxText</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxTriangle-js.html">mxTriangle</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent10')">Util</a><div class=MGroupContent id=MGroupContent10><div class=MEntry><div class=MFile><a href="../util/mxAbstractCanvas2D-js.html">mxAbstractCanvas2D</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxAnimation-js.html">mxAnimation</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxAutoSaveManager-js.html">mxAutoSaveManager</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxClipboard-js.html">mxClipboard</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxConstants-js.html">mxConstants</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxDictionary-js.html">mxDictionary</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxDivResizer-js.html">mxDivResizer</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxDragSource-js.html">mxDragSource</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxEffects-js.html">mxEffects</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxEvent-js.html">mxEvent</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxEventObject-js.html">mxEventObject</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxEventSource-js.html">mxEventSource</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxForm-js.html">mxForm</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxGuide-js.html">mxGuide</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxImage-js.html">mxImage</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxImageBundle-js.html">mxImageBundle</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxImageExport-js.html">mxImageExport</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxLog-js.html">mxLog</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxMorphing-js.html">mxMorphing</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxMouseEvent-js.html">mxMouseEvent</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxObjectIdentity-js.html">mxObjectIdentity</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxPanningManager-js.html">mxPanningManager</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxPoint-js.html">mxPoint</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxPopupMenu-js.html">mxPopupMenu</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxRectangle-js.html">mxRectangle</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxResources-js.html">mxResources</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxSession-js.html">mxSession</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxSvgCanvas2D-js.html">mxSvgCanvas2D</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxToolbar-js.html">mxToolbar</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxUndoableEdit-js.html">mxUndoableEdit</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxUndoManager-js.html">mxUndoManager</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxUrlConverter-js.html">mxUrlConverter</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxUtils-js.html">mxUtils</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxVmlCanvas2D-js.html">mxVmlCanvas2D</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxWindow-js.html">mxWindow</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxXmlCanvas2D-js.html">mxXmlCanvas2D</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxXmlRequest-js.html">mxXmlRequest</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent11')">View</a><div class=MGroupContent id=MGroupContent11><div class=MEntry><div class=MFile><a href="../view/mxCellEditor-js.html">mxCellEditor</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxCellOverlay-js.html">mxCellOverlay</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxCellRenderer-js.html">mxCellRenderer</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxCellState-js.html">mxCellState</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxCellStatePreview-js.html">mxCellStatePreview</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxConnectionConstraint-js.html">mxConnectionConstraint</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxEdgeStyle-js.html">mxEdgeStyle</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxGraph-js.html">mxGraph</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxGraphSelectionModel-js.html">mxGraphSelectionModel</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxGraphView-js.html">mxGraphView</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxLayoutManager-js.html">mxLayoutManager</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxMultiplicity-js.html">mxMultiplicity</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxOutline-js.html">mxOutline</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxPerimeter-js.html">mxPerimeter</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxPrintPreview-js.html">mxPrintPreview</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxSpaceManager-js.html">mxSpaceManager</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxStyleRegistry-js.html">mxStyleRegistry</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxStylesheet-js.html">mxStylesheet</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxSwimlaneManager-js.html">mxSwimlaneManager</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxTemporaryCellStates-js.html">mxTemporaryCellStates</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent12')">Index</a><div class=MGroupContent id=MGroupContent12><div class=MEntry><div class=MIndex><a href="../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Cookies.html">Cookies</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Events.html">Events</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Cookies">Cookies</option><option value="Events">Events</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
HideAllBut([1], 13);// --></script></div><!--Menu-->
<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function mxDefaultPopupMenu(</td><td class=PParameter nowrap>config</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Constructs a new popupmenu-factory based on given configuration.</div></div><div class=CToolTip id="tt2"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxDefaultPopupMenu.prototype.imageBasePath</td></tr></table></blockquote>Base path for all icon attributes in the config. </div></div><div class=CToolTip id="tt3"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxDefaultPopupMenu.prototype.config</td></tr></table></blockquote>XML node used as the description of new menu items. </div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxDefaultPopupMenu.prototype.createMenu = function(</td><td class=PParameter nowrap>editor,</td></tr><tr><td></td><td class=PParameter nowrap>menu,</td></tr><tr><td></td><td class=PParameter nowrap>cell,</td></tr><tr><td></td><td class=PParameter nowrap>evt</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>This function is called from mxEditor to add items to the given menu based on config. </div></div><div class=CToolTip id="tt5"><div class=CClass>Extends mxEventSource to implement a application wrapper for a graph that adds actions, I/O using mxCodec, auto-layout using mxLayoutManager, command history using undoManager, and standard dialogs and widgets, eg. </div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxDefaultPopupMenu.prototype.addItems = function(</td><td class=PParameter nowrap>editor,</td></tr><tr><td></td><td class=PParameter nowrap>menu,</td></tr><tr><td></td><td class=PParameter nowrap>cell,</td></tr><tr><td></td><td class=PParameter nowrap>evt,</td></tr><tr><td></td><td class=PParameter nowrap>conditions,</td></tr><tr><td></td><td class=PParameter nowrap>item,</td></tr><tr><td></td><td class=PParameter nowrap>parent</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Recursively adds the given items and all of its children into the given menu.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxDefaultPopupMenu.prototype.addAction = function(</td><td class=PParameter nowrap>menu,</td></tr><tr><td></td><td class=PParameter nowrap>editor,</td></tr><tr><td></td><td class=PParameter nowrap>lab,</td></tr><tr><td></td><td class=PParameter nowrap>icon,</td></tr><tr><td></td><td class=PParameter nowrap>funct,</td></tr><tr><td></td><td class=PParameter nowrap>action,</td></tr><tr><td></td><td class=PParameter nowrap>cell,</td></tr><tr><td></td><td class=PParameter nowrap>parent,</td></tr><tr><td></td><td class=PParameter nowrap>iconCls</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Helper method to bind an action to a new menu item.</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxDefaultPopupMenu.prototype.createConditions = function(</td><td class=PParameter nowrap>editor,</td></tr><tr><td></td><td class=PParameter nowrap>cell,</td></tr><tr><td></td><td class=PParameter nowrap>evt</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Evaluates the default conditions for the given context.</div></div><div class=CToolTip id="tt9"><div class=CClass>Event handler that pans and creates popupmenus. </div></div><div class=CToolTip id="tt10"><div class=CClass>Custom codec for configuring mxDefaultPopupMenus. </div></div><div class=CToolTip id="tt11"><div class=CClass>Cells are the elements of the graph model. </div></div><!--END_ND_TOOLTIPS-->
<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>