};
graphOutline.addMouseWheelListener(wheelTracker);
graphComponent.addMouseWheelListener(wheelTracker);
mxIEventListener undoHandler = new mxIEventListener() {
public void invoke(Object sender, mxEventObject evt) {
List<mxUndoableChange> changes = ((mxUndoableEdit) evt.getProperty("edit")).getChanges();
currentGraph.setSelectionCells(currentGraph.getSelectionCellsForChanges(changes));
}
};
mxIEventListener selectHandler = new mxIEventListener() {
public void invoke(Object sender, mxEventObject evt) {
turnObservers();
}
};
mxIEventListener moveHandler = new mxIEventListener() {
public void invoke(Object sender, mxEventObject evt) {
double x = 0, y = 0;
for (Object o : (Object[]) evt.getProperty("cells")) {
mxCell cell = (mxCell) o;
if (cell.getGeometry().getX() < x)