/*******************************************************************************
* Copyright (c) 2010-2015 Henshin developers. All rights reserved.
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* TU Berlin, University of Luxembourg, SES S.A.
*******************************************************************************/
/**
*
*/
package de.tub.tfs.muvitor.ui;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.gef.ui.parts.ScrollingGraphicalViewer;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
public class MultiDimensionalViewer<T extends EObject> extends ScrollingGraphicalViewer {
protected int position = 0;
public int getPosition() {
return position;
}
public void setPosition(int position) {
this.position = position;
}
/**
*
*/
private final MultiDimensionalPage<T> multiDimensionalPage;
/**
* A listener that notices when the mouse acts on this viewer.
*/
private final MouseListener mouseListener;
public MultiDimensionalViewer(final MultiDimensionalPage<T> multiDimensionalPage) {
this.multiDimensionalPage = multiDimensionalPage;
mouseListener = new MouseAdapter() {
@Override
public void mouseDown(final MouseEvent e) {
multiDimensionalPage.setCurrentViewer(MultiDimensionalViewer.this);
}
};
}
/**
* @return The page that hosts this graphical viewer.
*/
public MultiDimensionalPage<T> getHostPage() {
return this.multiDimensionalPage;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.gef.ui.parts.GraphicalViewerImpl#hookControl()
*/
@Override
protected void hookControl() {
super.hookControl();
super.getControl().addMouseListener(mouseListener);
}
/*
* (non-Javadoc)
*
* @see org.eclipse.gef.ui.parts.GraphicalViewerImpl#unhookControl()
*/
@Override
protected void unhookControl() {
super.getControl().removeMouseListener(mouseListener);
super.unhookControl();
}
}