/**
* (c) 2011, Alejandro Serrano
* Released under the terms of the EPL.
*/
package net.sf.eclipsefp.haskell.browser.views.modules;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IViewActionDelegate;
import org.eclipse.ui.IViewPart;
/**
* Action that changes the way modules are shown in the
* view: either flat or hierarchical.
* @author Alejandro Serrano
*
*/
public class ModulesViewStyleDelegate implements IViewActionDelegate {
boolean isHierarchical;
ModulesView view;
public ModulesViewStyleDelegate(final boolean isHierarchical) {
this.isHierarchical = isHierarchical;
}
@Override
public void run(final IAction action) {
view.setHierarchical(this.isHierarchical);
}
@Override
public void selectionChanged(final IAction action, final ISelection selection) {
// Do nothing
if (view.getHierarchical() == this.isHierarchical) {
action.setChecked(true);
}
}
@Override
public void init(final IViewPart view) {
this.view = (ModulesView)view;
}
}