/*******************************************************************************
* Copyright (c) 2009 IBM Corporation and others.
* 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:
* IBM Corporation - initial API and implementation
* Zend Technologies
*******************************************************************************/
package org.eclipse.php.internal.ui.actions;
import java.util.ResourceBundle;
import org.eclipse.dltk.core.IModelElement;
import org.eclipse.dltk.core.ModelException;
import org.eclipse.php.internal.core.language.LanguageModelInitializer;
import org.eclipse.php.internal.ui.Logger;
import org.eclipse.php.internal.ui.editor.PHPStructuredEditor;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.texteditor.IUpdate;
public class OpenDeclarationAction extends PHPEditorResolvingAction implements IUpdate {
public OpenDeclarationAction(ResourceBundle resourceBundle, PHPStructuredEditor editor) {
super(resourceBundle, "OpenAction_declaration_", editor); //$NON-NLS-1$
}
@Override
protected void doRun(IModelElement modelElement) {
try {
OpenActionUtil.open(modelElement);
} catch (PartInitException e) {
Logger.logException(e);
} catch (ModelException e) {
Logger.logException(e);
}
}
@Override
protected boolean isValid(IModelElement modelElement) {
if (super.isValid(modelElement)) {
return !LanguageModelInitializer.isLanguageModelElement(modelElement);
}
return false;
}
}