/** * Copyright (c) 2012 by JP Moresmau * This code is made available under the terms of the Eclipse Public License, * version 1.0 (EPL). See http://www.eclipse.org/legal/epl-v10.html */ package net.sf.eclipsefp.haskell.ui.internal.editors.haskell.actions; import java.util.ResourceBundle; import net.sf.eclipsefp.haskell.ui.editor.actions.IEditorActionDefinitionIds; import net.sf.eclipsefp.haskell.ui.internal.editors.haskell.HaskellEditor; import net.sf.eclipsefp.haskell.ui.internal.editors.haskell.imports.ImportCleaner; import org.eclipse.ui.texteditor.ITextEditor; import org.eclipse.ui.texteditor.TextEditorAction; /** * @author JP Moresmau * */ public class OrganizeImportAction extends TextEditorAction { /** * @param bundle * @param prefix * @param editor */ public OrganizeImportAction( final ResourceBundle bundle, final String prefix, final ITextEditor editor ) { super( bundle, prefix, editor ); setId( HaskellEditor.IMPORTS_ACTION ); setActionDefinitionId( IEditorActionDefinitionIds.IMPORTS ); } /** * @param bundle * @param prefix * @param editor * @param style */ public OrganizeImportAction( final ResourceBundle bundle, final String prefix, final ITextEditor editor, final int style ) { super( bundle, prefix, editor, style ); setId( HaskellEditor.IMPORTS_ACTION ); setActionDefinitionId( IEditorActionDefinitionIds.IMPORTS ); } @Override public void update() { super.update(); if (!isEnabled()) { return; } if (!canModifyEditor()) { setEnabled( false ); return; } } /* (non-Javadoc) * @see org.eclipse.jface.action.Action#run() */ @Override public void run() { ITextEditor editor = getTextEditor(); new ImportCleaner().cleanFile( editor ); } }