summaryrefslogtreecommitdiff
path: root/src/js/util/mxUndoManager.js
diff options
context:
space:
mode:
authoradhitya2016-04-10 12:28:28 +0000
committeradhitya2016-04-10 12:28:28 +0000
commit0b1c069f88dab0288a01c6aed4d77f4e6d2f6474 (patch)
treeb5ae6b1f512a674f79674a12f675d22324cd268f /src/js/util/mxUndoManager.js
parent1993f1da86e293aaf9996b8d7a4f6d9a9224f270 (diff)
downloadxcos-on-web-0b1c069f88dab0288a01c6aed4d77f4e6d2f6474.tar.gz
xcos-on-web-0b1c069f88dab0288a01c6aed4d77f4e6d2f6474.tar.bz2
xcos-on-web-0b1c069f88dab0288a01c6aed4d77f4e6d2f6474.zip
Removed (un)necessary files
Diffstat (limited to 'src/js/util/mxUndoManager.js')
-rw-r--r--src/js/util/mxUndoManager.js229
1 files changed, 0 insertions, 229 deletions
diff --git a/src/js/util/mxUndoManager.js b/src/js/util/mxUndoManager.js
deleted file mode 100644
index 2cb93cb..0000000
--- a/src/js/util/mxUndoManager.js
+++ /dev/null
@@ -1,229 +0,0 @@
-/**
- * $Id: mxUndoManager.js,v 1.30 2011-10-05 06:39:19 gaudenz Exp $
- * Copyright (c) 2006-2010, JGraph Ltd
- */
-/**
- * Class: mxUndoManager
- *
- * Implements a command history. When changing the graph model, an
- * <mxUndoableChange> object is created at the start of the transaction (when
- * model.beginUpdate is called). All atomic changes are then added to this
- * object until the last model.endUpdate call, at which point the
- * <mxUndoableEdit> is dispatched in an event, and added to the history inside
- * <mxUndoManager>. This is done by an event listener in
- * <mxEditor.installUndoHandler>.
- *
- * Each atomic change of the model is represented by an object (eg.
- * <mxRootChange>, <mxChildChange>, <mxTerminalChange> etc) which contains the
- * complete undo information. The <mxUndoManager> also listens to the
- * <mxGraphView> and stores it's changes to the current root as insignificant
- * undoable changes, so that drilling (step into, step up) is undone.
- *
- * 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. However, these changes are not
- * transmitted for sharing as they do not represent a state change.
- *
- * Example:
- *
- * 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.
- *
- * (code)
- * 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);
- * (end)
- *
- * The code creates a function that informs the undoManager
- * of an undoable edit and binds it to the undo event of
- * <mxGraphModel> and <mxGraphView> using
- * <mxEventSource.addListener>.
- *
- * Event: mxEvent.CLEAR
- *
- * Fires after <clear> was invoked. This event has no properties.
- *
- * Event: mxEvent.UNDO
- *
- * Fires afer a significant edit was undone in <undo>. The <code>edit</code>
- * property contains the <mxUndoableEdit> that was undone.
- *
- * Event: mxEvent.REDO
- *
- * Fires afer a significant edit was redone in <redo>. The <code>edit</code>
- * property contains the <mxUndoableEdit> that was redone.
- *
- * Event: mxEvent.ADD
- *
- * Fires after an undoable edit was added to the history. The <code>edit</code>
- * property contains the <mxUndoableEdit> that was added.
- *
- * Constructor: mxUndoManager
- *
- * Constructs a new undo manager with the given history size. If no history
- * size is given, then a default size of 100 steps is used.
- */
-function mxUndoManager(size)
-{
- this.size = (size != null) ? size : 100;
- this.clear();
-};
-
-/**
- * Extends mxEventSource.
- */
-mxUndoManager.prototype = new mxEventSource();
-mxUndoManager.prototype.constructor = mxUndoManager;
-
-/**
- * Variable: size
- *
- * Maximum command history size. 0 means unlimited history. Default is
- * 100.
- */
-mxUndoManager.prototype.size = null;
-
-/**
- * Variable: history
- *
- * Array that contains the steps of the command history.
- */
-mxUndoManager.prototype.history = null;
-
-/**
- * Variable: indexOfNextAdd
- *
- * Index of the element to be added next.
- */
-mxUndoManager.prototype.indexOfNextAdd = 0;
-
-/**
- * Function: isEmpty
- *
- * Returns true if the history is empty.
- */
-mxUndoManager.prototype.isEmpty = function()
-{
- return this.history.length == 0;
-};
-
-/**
- * Function: clear
- *
- * Clears the command history.
- */
-mxUndoManager.prototype.clear = function()
-{
- this.history = [];
- this.indexOfNextAdd = 0;
- this.fireEvent(new mxEventObject(mxEvent.CLEAR));
-};
-
-/**
- * Function: canUndo
- *
- * Returns true if an undo is possible.
- */
-mxUndoManager.prototype.canUndo = function()
-{
- return this.indexOfNextAdd > 0;
-};
-
-/**
- * Function: undo
- *
- * Undoes the last change.
- */
-mxUndoManager.prototype.undo = function()
-{
- while (this.indexOfNextAdd > 0)
- {
- var edit = this.history[--this.indexOfNextAdd];
- edit.undo();
-
- if (edit.isSignificant())
- {
- this.fireEvent(new mxEventObject(mxEvent.UNDO, 'edit', edit));
- break;
- }
- }
-};
-
-/**
- * Function: canRedo
- *
- * Returns true if a redo is possible.
- */
-mxUndoManager.prototype.canRedo = function()
-{
- return this.indexOfNextAdd < this.history.length;
-};
-
-/**
- * Function: redo
- *
- * Redoes the last change.
- */
-mxUndoManager.prototype.redo = function()
-{
- var n = this.history.length;
-
- while (this.indexOfNextAdd < n)
- {
- var edit = this.history[this.indexOfNextAdd++];
- edit.redo();
-
- if (edit.isSignificant())
- {
- this.fireEvent(new mxEventObject(mxEvent.REDO, 'edit', edit));
- break;
- }
- }
-};
-
-/**
- * Function: undoableEditHappened
- *
- * Method to be called to add new undoable edits to the <history>.
- */
-mxUndoManager.prototype.undoableEditHappened = function(undoableEdit)
-{
- this.trim();
-
- if (this.size > 0 &&
- this.size == this.history.length)
- {
- this.history.shift();
- }
-
- this.history.push(undoableEdit);
- this.indexOfNextAdd = this.history.length;
- this.fireEvent(new mxEventObject(mxEvent.ADD, 'edit', undoableEdit));
-};
-
-/**
- * Function: trim
- *
- * Removes all pending steps after <indexOfNextAdd> from the history,
- * invoking die on each edit. This is called from <undoableEditHappened>.
- */
-mxUndoManager.prototype.trim = function()
-{
- if (this.history.length > this.indexOfNextAdd)
- {
- var edits = this.history.splice(this.indexOfNextAdd,
- this.history.length - this.indexOfNextAdd);
-
- for (var i = 0; i < edits.length; i++)
- {
- edits[i].die();
- }
- }
-};