summaryrefslogtreecommitdiff
path: root/src/js/view/mxLayoutManager.js
diff options
context:
space:
mode:
authoradhitya2016-04-12 07:02:39 +0000
committeradhitya2016-04-12 07:02:39 +0000
commitdd83478e3fcaac98de690aa59e6288ad41a1c351 (patch)
tree38653bdf0ae95053f66777c4ac3fe5be5d8fbd33 /src/js/view/mxLayoutManager.js
parent92f3207b50a1caca07df5c5b238212af3358905b (diff)
downloadxcos-on-web-dd83478e3fcaac98de690aa59e6288ad41a1c351.tar.gz
xcos-on-web-dd83478e3fcaac98de690aa59e6288ad41a1c351.tar.bz2
xcos-on-web-dd83478e3fcaac98de690aa59e6288ad41a1c351.zip
Keyboard shortcuts work properly
Diffstat (limited to 'src/js/view/mxLayoutManager.js')
-rw-r--r--src/js/view/mxLayoutManager.js375
1 files changed, 0 insertions, 375 deletions
diff --git a/src/js/view/mxLayoutManager.js b/src/js/view/mxLayoutManager.js
deleted file mode 100644
index ee8ec65..0000000
--- a/src/js/view/mxLayoutManager.js
+++ /dev/null
@@ -1,375 +0,0 @@
-/**
- * $Id: mxLayoutManager.js,v 1.21 2012-01-04 10:01:16 gaudenz Exp $
- * Copyright (c) 2006-2010, JGraph Ltd
- */
-/**
- * Class: mxLayoutManager
- *
- * Implements a layout manager that updates the layout for a given transaction.
- *
- * Example:
- *
- * (code)
- * var layoutMgr = new mxLayoutManager(graph);
- * layoutMgr.getLayout = function(cell)
- * {
- * return layout;
- * };
- * (end)
- *
- * Event: mxEvent.LAYOUT_CELLS
- *
- * Fires between begin- and endUpdate after all cells have been layouted in
- * <layoutCells>. The <code>cells</code> property contains all cells that have
- * been passed to <layoutCells>.
- *
- * Constructor: mxLayoutManager
- *
- * Constructs a new automatic layout for the given graph.
- *
- * Arguments:
- *
- * graph - Reference to the enclosing graph.
- */
-function mxLayoutManager(graph)
-{
- // Executes the layout before the changes are dispatched
- this.undoHandler = mxUtils.bind(this, function(sender, evt)
- {
- if (this.isEnabled())
- {
- this.beforeUndo(evt.getProperty('edit'));
- }
- });
-
- // Notifies the layout of a move operation inside a parent
- this.moveHandler = mxUtils.bind(this, function(sender, evt)
- {
- if (this.isEnabled())
- {
- this.cellsMoved(evt.getProperty('cells'), evt.getProperty('event'));
- }
- });
-
- this.setGraph(graph);
-};
-
-/**
- * Extends mxEventSource.
- */
-mxLayoutManager.prototype = new mxEventSource();
-mxLayoutManager.prototype.constructor = mxLayoutManager;
-
-/**
- * Variable: graph
- *
- * Reference to the enclosing <mxGraph>.
- */
-mxLayoutManager.prototype.graph = null;
-
-/**
- * Variable: bubbling
- *
- * Specifies if the layout should bubble along
- * the cell hierarchy. Default is true.
- */
-mxLayoutManager.prototype.bubbling = true;
-
-/**
- * Variable: enabled
- *
- * Specifies if event handling is enabled. Default is true.
- */
-mxLayoutManager.prototype.enabled = true;
-
-/**
- * Variable: updateHandler
- *
- * Holds the function that handles the endUpdate event.
- */
-mxLayoutManager.prototype.updateHandler = null;
-
-/**
- * Variable: moveHandler
- *
- * Holds the function that handles the move event.
- */
-mxLayoutManager.prototype.moveHandler = null;
-
-/**
- * Function: isEnabled
- *
- * Returns true if events are handled. This implementation
- * returns <enabled>.
- */
-mxLayoutManager.prototype.isEnabled = function()
-{
- return this.enabled;
-};
-
-/**
- * Function: setEnabled
- *
- * Enables or disables event handling. This implementation
- * updates <enabled>.
- *
- * Parameters:
- *
- * enabled - Boolean that specifies the new enabled state.
- */
-mxLayoutManager.prototype.setEnabled = function(enabled)
-{
- this.enabled = enabled;
-};
-
-/**
- * Function: isBubbling
- *
- * Returns true if a layout should bubble, that is, if the parent layout
- * should be executed whenever a cell layout (layout of the children of
- * a cell) has been executed. This implementation returns <bubbling>.
- */
-mxLayoutManager.prototype.isBubbling = function()
-{
- return this.bubbling;
-};
-
-/**
- * Function: setBubbling
- *
- * Sets <bubbling>.
- */
-mxLayoutManager.prototype.setBubbling = function(value)
-{
- this.bubbling = value;
-};
-
-/**
- * Function: getGraph
- *
- * Returns the graph that this layout operates on.
- */
-mxLayoutManager.prototype.getGraph = function()
-{
- return this.graph;
-};
-
-/**
- * Function: setGraph
- *
- * Sets the graph that the layouts operate on.
- */
-mxLayoutManager.prototype.setGraph = function(graph)
-{
- if (this.graph != null)
- {
- var model = this.graph.getModel();
- model.removeListener(this.undoHandler);
- this.graph.removeListener(this.moveHandler);
- }
-
- this.graph = graph;
-
- if (this.graph != null)
- {
- var model = this.graph.getModel();
- model.addListener(mxEvent.BEFORE_UNDO, this.undoHandler);
- this.graph.addListener(mxEvent.MOVE_CELLS, this.moveHandler);
- }
-};
-
-/**
- * Function: getLayout
- *
- * Returns the layout to be executed for the given graph and parent.
- */
-mxLayoutManager.prototype.getLayout = function(parent)
-{
- return null;
-};
-
-/**
- * Function: beforeUndo
- *
- * Called from the undoHandler.
- *
- * Parameters:
- *
- * cell - Array of <mxCells> that have been moved.
- * evt - Mouse event that represents the mousedown.
- */
-mxLayoutManager.prototype.beforeUndo = function(undoableEdit)
-{
- var cells = this.getCellsForChanges(undoableEdit.changes);
- var model = this.getGraph().getModel();
-
- // Adds all parent ancestors
- if (this.isBubbling())
- {
- var tmp = model.getParents(cells);
-
- while (tmp.length > 0)
- {
- cells = cells.concat(tmp);
- tmp = model.getParents(tmp);
- }
- }
-
- this.layoutCells(mxUtils.sortCells(cells, false));
-};
-
-/**
- * Function: cellsMoved
- *
- * Called from the moveHandler.
- *
- * Parameters:
- *
- * cell - Array of <mxCells> that have been moved.
- * evt - Mouse event that represents the mousedown.
- */
-mxLayoutManager.prototype.cellsMoved = function(cells, evt)
-{
- if (cells != null &&
- evt != null)
- {
- var point = mxUtils.convertPoint(this.getGraph().container,
- mxEvent.getClientX(evt), mxEvent.getClientY(evt));
- var model = this.getGraph().getModel();
-
- // Checks if a layout exists to take care of the moving
- for (var i = 0; i < cells.length; i++)
- {
- var layout = this.getLayout(model.getParent(cells[i]));
-
- if (layout != null)
- {
- layout.moveCell(cells[i], point.x, point.y);
- }
- }
- }
-};
-
-/**
- * Function: getCellsForEdit
- *
- * Returns the cells to be layouted for the given sequence of changes.
- */
-mxLayoutManager.prototype.getCellsForChanges = function(changes)
-{
- var result = [];
- var hash = new Object();
-
- for (var i = 0; i < changes.length; i++)
- {
- var change = changes[i];
-
- if (change instanceof mxRootChange)
- {
- return [];
- }
- else
- {
- var cells = this.getCellsForChange(change);
-
- for (var j = 0; j < cells.length; j++)
- {
- if (cells[j] != null)
- {
- var id = mxCellPath.create(cells[j]);
-
- if (hash[id] == null)
- {
- hash[id] = cells[j];
- result.push(cells[j]);
- }
- }
- }
- }
- }
-
- return result;
-};
-
-/**
- * Function: getCellsForChange
- *
- * Executes all layouts which have been scheduled during the
- * changes.
- */
-mxLayoutManager.prototype.getCellsForChange = function(change)
-{
- var model = this.getGraph().getModel();
-
- if (change instanceof mxChildChange)
- {
- return [change.child, change.previous, model.getParent(change.child)];
- }
- else if (change instanceof mxTerminalChange ||
- change instanceof mxGeometryChange)
- {
- return [change.cell, model.getParent(change.cell)];
- }
-
- return [];
-};
-
-/**
- * Function: layoutCells
- *
- * Executes all layouts which have been scheduled during the
- * changes.
- */
-mxLayoutManager.prototype.layoutCells = function(cells)
-{
- if (cells.length > 0)
- {
- // Invokes the layouts while removing duplicates
- var model = this.getGraph().getModel();
-
- model.beginUpdate();
- try
- {
- var last = null;
-
- for (var i = 0; i < cells.length; i++)
- {
- if (cells[i] != model.getRoot() &&
- cells[i] != last)
- {
- last = cells[i];
- this.executeLayout(this.getLayout(last), last);
- }
- }
-
- this.fireEvent(new mxEventObject(mxEvent.LAYOUT_CELLS, 'cells', cells));
- }
- finally
- {
- model.endUpdate();
- }
- }
-};
-
-/**
- * Function: executeLayout
- *
- * Executes the given layout on the given parent.
- */
-mxLayoutManager.prototype.executeLayout = function(layout, parent)
-{
- if (layout != null && parent != null)
- {
- layout.execute(parent);
- }
-};
-
-/**
- * Function: destroy
- *
- * Removes all handlers from the <graph> and deletes the reference to it.
- */
-mxLayoutManager.prototype.destroy = function()
-{
- this.setGraph(null);
-};