code: 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);
  }
docs: Copyright (c) 2006-2015, JGraph Ltd
  Copyright (c) 2006-2015, Gaudenz Alder
   
  Class: mxLayoutManager
  
  Implements a layout manager that runs a given layout after any changes to the graph:
  
  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.