maxGraph/docs/js-api/files/util/mxUndoManager-js.html

85 lines
41 KiB
HTML
Raw Normal View History

2012-05-21 20:32:26 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><title>mxUndoManager</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="mxUndoManager"></a>mxUndoManager</h1><div class=CBody><p>Implements a command history.&nbsp; When changing the graph model, an &lt;mxUndoableChange&gt; object is created at the start of the transaction (when model.beginUpdate is called).&nbsp; All atomic changes are then added to this object until the last model.endUpdate call, at which point the <a href="mxUndoableEdit-js.html#mxUndoableEdit" class=LClass id=link18 onMouseOver="ShowTip(event, 'tt13', 'link18')" onMouseOut="HideTip('tt13')">mxUndoableEdit</a> is dispatched in an event, and added to the history inside <a href="#mxUndoManager.mxUndoManager" class=LFunction id=link19 onMouseOver="ShowTip(event, 'tt4', 'link19')" onMouseOut="HideTip('tt4')">mxUndoManager</a>.&nbsp; This is done by an event listener in <a href="../editor/mxEditor-js.html#mxEditor.installUndoHandler" class=LFunction id=link20 onMouseOver="ShowTip(event, 'tt14', 'link20')" onMouseOut="HideTip('tt14')">mxEditor.installUndoHandler</a>.</p><p>Each atomic change of the model is represented by an object (eg.&nbsp; <a href="../model/mxGraphModel-js.html#mxRootChange" class=LClass id=link21 onMouseOver="ShowTip(event, 'tt15', 'link21')" onMouseOut="HideTip('tt15')">mxRootChange</a>, <a href="../model/mxGraphModel-js.html#mxChildChange" class=LClass id=link22 onMouseOver="ShowTip(event, 'tt16', 'link22')" onMouseOut="HideTip('tt16')">mxChildChange</a>, <a href="../model/mxGraphModel-js.html#mxTerminalChange" class=LClass id=link23 onMouseOver="ShowTip(event, 'tt17', 'link23')" onMouseOut="HideTip('tt17')">mxTerminalChange</a> etc) which contains the complete undo information.&nbsp; The <a href="#mxUndoManager.mxUndoManager" class=LFunction id=link24 onMouseOver="ShowTip(event, 'tt4', 'link24')" onMouseOut="HideTip('tt4')">mxUndoManager</a> also listens to the <a href="../view/mxGraphView-js.html#mxGraphView" class=LClass id=link25 onMouseOver="ShowTip(event, 'tt18', 'link25')" onMouseOut="HideTip('tt18')">mxGraphView</a> and stores it&rsquo;s changes to the current root as insignificant undoable changes, so that drilling (step into, step up) is undone.</p><p>This means when you execute an atomic change on the model, then change the current root on the view and click undo, the change of the root will be undone together with the change of the model so that the display represents the state at which the model was changed.&nbsp; However, these changes are not transmitted for sharing as they do not represent a state change.</p><h4 class=CHeading>Example</h4><p>When adding an undo manager to a graph, make sure to add it to the model and the view as well to maintain a consistent display across multiple undo/redo steps.</p><blockquote><pre class="prettyprint">var undoManager = new mxUndoManager();
var listener = function(sender, evt)
{
undoManager.undoableEditHappened(evt.getProperty('edit'));
};
graph.getModel().addListener(mxEvent.UNDO, listener);
graph.getView().addListener(mxEvent.UNDO, listener);</pre></blockquote><p>The code creates a function that informs the undoManager of an undoable edit and binds it to the undo event of <a href="../model/mxGraphModel-js.html#mxGraphModel" class=LClass id=link26 onMouseOver="ShowTip(event, 'tt19', 'link26')" onMouseOut="HideTip('tt19')">mxGraphModel</a> and <a href="../view/mxGraphView-js.html#mxGraphView" class=LClass id=link27 onMouseOver="ShowTip(event, 'tt18', 'link27')" onMouseOut="HideTip('tt18')">mxGraphView</a> using <a href="mxEventSource-js.html#mxEventSource.addListener" class=LFunction id=link28 onMouseOver="ShowTip(event, 'tt20', 'link28')" onMouseOut="HideTip('tt20')">mxEventSource.addListener</a>.</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="#mxUndoManager" >mxUndoManager</a></td><td class=SDescription>Implements a command history. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxUndoManager.Events" >Events</a></td><td class=SDescription></td></tr><tr class="SEvent SIndent2 SMarked"><td class=SEntry><a href="#mxUndoManager.mxEvent.CLEAR" >mxEvent.<wbr>CLEAR</a></td><td class=SDescription>Fires after <a href="#mxUndoManager.clear" class=LFunction id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">clear</a> was invoked. </td></tr><tr class="SEvent SIndent2"><td class=SEntry><a href="#mxUndoManager.mxEvent.UNDO" >mxEvent.UNDO</a></td><td class=SDescription>Fires afer a significant edit was undone in <a href="#mxUndoManager.undo" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">undo</a>. </td></tr><tr class="SEvent SIndent2 SMarked"><td class=SEntry><a href="#mxUndoManager.mxEvent.REDO" >mxEvent.REDO</a></td><td class=SDescription>Fires afer a significant edit was redone in <a href="#mxUndoManager.redo" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">redo</a>. </td></tr><tr class="SEvent SIndent2"><td class=SEntry><a href="#mxUndoManager.mxEvent.ADD" >mxEvent.ADD</a></td><td class=SDescription>Fires after an undoable edit was added to the history. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxUndoManager.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxUndoManager.mxUndoManager" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">mxUndoManager</a></td><td class=SDescription>Constructs a new undo manager with the given history size. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxUndoManager.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxUndoManager.size" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">size</a></td><td class=SDescription>Maximum command history size. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxUndoManager.history" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">history</a></td><td class=SDescription>Array that contains the steps of the command history.</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxUndoManager.indexOfNextAdd" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">indexOfNextAdd</a></td><td class=SDescription>Index of the element to be added next.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxUndoManager.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxUndoManager.isEmpty" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">isEmpty</a></td><td class=SDescription>Returns true if the history is empty.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxUndoManage
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.Events"></a>Events</h3></div></div>
<div class="CEvent"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.mxEvent.CLEAR"></a>mxEvent.<wbr>CLEAR</h3><div class=CBody><p>Fires after <a href="#mxUndoManager.clear" class=LFunction id=link29 onMouseOver="ShowTip(event, 'tt1', 'link29')" onMouseOut="HideTip('tt1')">clear</a> was invoked.&nbsp; This event has no properties.</p></div></div></div>
<div class="CEvent"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.mxEvent.UNDO"></a>mxEvent.UNDO</h3><div class=CBody><p>Fires afer a significant edit was undone in <a href="#mxUndoManager.undo" class=LFunction id=link30 onMouseOver="ShowTip(event, 'tt2', 'link30')" onMouseOut="HideTip('tt2')">undo</a>.&nbsp; The &lt;code&gt;edit&lt;/code&gt; property contains the <a href="mxUndoableEdit-js.html#mxUndoableEdit" class=LClass id=link31 onMouseOver="ShowTip(event, 'tt13', 'link31')" onMouseOut="HideTip('tt13')">mxUndoableEdit</a> that was undone.</p></div></div></div>
<div class="CEvent"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.mxEvent.REDO"></a>mxEvent.REDO</h3><div class=CBody><p>Fires afer a significant edit was redone in <a href="#mxUndoManager.redo" class=LFunction id=link32 onMouseOver="ShowTip(event, 'tt3', 'link32')" onMouseOut="HideTip('tt3')">redo</a>.&nbsp; The &lt;code&gt;edit&lt;/code&gt; property contains the <a href="mxUndoableEdit-js.html#mxUndoableEdit" class=LClass id=link33 onMouseOver="ShowTip(event, 'tt13', 'link33')" onMouseOut="HideTip('tt13')">mxUndoableEdit</a> that was redone.</p></div></div></div>
<div class="CEvent"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.mxEvent.ADD"></a>mxEvent.ADD</h3><div class=CBody><p>Fires after an undoable edit was added to the history.&nbsp; The &lt;code&gt;edit&lt;/code&gt; property contains the <a href="mxUndoableEdit-js.html#mxUndoableEdit" class=LClass id=link34 onMouseOver="ShowTip(event, 'tt13', 'link34')" onMouseOut="HideTip('tt13')">mxUndoableEdit</a> that was added.</p></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.Functions"></a>Functions</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.mxUndoManager"></a>mxUndoManager</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 mxUndoManager(</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Constructs a new undo manager with the given history size.&nbsp; If no history size is given, then a default size of 100 steps is used.</p></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.Variables"></a>Variables</h3></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.size"></a>size</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.size</td></tr></table></blockquote><p>Maximum command history size.&nbsp; 0 means unlimited history.&nbsp; Default is 100.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.history"></a>history</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.history</td></tr></table></blockquote><p>Array that contains the steps of the command history.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.indexOfNextAdd"></a>indexOfNextAdd</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.indexOfNextAdd</td></tr></table></blockquote><p>Index of the element to be added next.</p></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.Functions"></a>Functions</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.isEmpty"></a>isEmpty</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.isEmpty = function()</td></tr></table></blockquote><p>Returns true if the history is empty.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.clear"></a>clear</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.clear = function()</td></tr></table></blockquote><p>Clears the command history.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.canUndo"></a>canUndo</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.canUndo = function()</td></tr></table></blockquote><p>Returns true if an undo is possible.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.undo"></a>undo</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.undo = function()</td></tr></table></blockquote><p>Undoes the last change.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.canRedo"></a>canRedo</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.canRedo = function()</td></tr></table></blockquote><p>Returns true if a redo is possible.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.redo"></a>redo</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.redo = function()</td></tr></table></blockquote><p>Redoes the last change.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.undoableEditHappened"></a>undoableEditHappened</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>mxUndoManager.prototype.undoableEditHappened = function(</td><td class=PParameter nowrap>undoableEdit</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Method to be called to add new undoable edits to the <a href="#mxUndoManager.history" class=LVariable id=link35 onMouseOver="ShowTip(event, 'tt6', 'link35')" onMouseOut="HideTip('tt6')">history</a>.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxUndoManager.trim"></a>trim</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.trim = function()</td></tr></table></blockquote><p>Removes all pending steps after <a href="#mxUndoManager.indexOfNextAdd" class=LVariable id=link36 onMouseOver="ShowTip(event, 'tt7', 'link36')" onMouseOut="HideTip('tt7')">indexOfNextAdd</a> from the history, invoking die on each edit.&nbsp; This is called from <a href="#mxUndoManager.undoableEditHappened" class=LFunction id=link37 onMouseOver="ShowTip(event, 'tt11', 'link37')" onMouseOut="HideTip('tt11')">undoableEditHappened</a>.</p></div></div></div>
</div><!--Content-->
<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
2013-08-09 09:08:09 +00:00
<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="../editor/mxDefaultKeyHandler-js.html">mxDefaultKeyHandler</a></div></div><div class=MEntry><div class=MFile><a href="../editor/mxDefaultPopupMenu-js.html">mxDefaultPopupMenu</a></div></div><div class=MEntry><div class=MFile><a href="../editor/mxDefaultToolbar-js.html">mxDefaultToolbar</a></div></div><div class=MEntry><div class=MFile><a href="../editor/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></d
2012-05-21 20:32:26 +00:00
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([10], 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>mxUndoManager.prototype.clear = function()</td></tr></table></blockquote>Clears the command history.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.undo = function()</td></tr></table></blockquote>Undoes the last change.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.redo = function()</td></tr></table></blockquote>Redoes the last change.</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>function mxUndoManager(</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Constructs a new undo manager with the given history size. </div></div><div class=CToolTip id="tt5"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.size</td></tr></table></blockquote>Maximum command history size. </div></div><div class=CToolTip id="tt6"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.history</td></tr></table></blockquote>Array that contains the steps of the command history.</div></div><div class=CToolTip id="tt7"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.indexOfNextAdd</td></tr></table></blockquote>Index of the element to be added next.</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.isEmpty = function()</td></tr></table></blockquote>Returns true if the history is empty.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.canUndo = function()</td></tr></table></blockquote>Returns true if an undo is possible.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.canRedo = function()</td></tr></table></blockquote>Returns true if a redo is possible.</div></div><div class=CToolTip id="tt11"><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>mxUndoManager.prototype.undoableEditHappened = function(</td><td class=PParameter nowrap>undoableEdit</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Method to be called to add new undoable edits to the history.</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxUndoManager.prototype.trim = function()</td></tr></table></blockquote>Removes all pending steps after indexOfNextAdd from the history, invoking die on each edit. </div></div><div class=CToolTip id="tt13"><div class=CClass>Implements a composite undoable edit.</div></div><div class=CToolTip id="tt14"><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>mxEditor.prototype.installUndoHandler = function (</td><td class=PParameter nowrap>graph</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockq
<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>