+++ /dev/null
-/***********************************************************************************************************************************
- * Copyright (c) 2000, 2002 IBM Corp. and others. All rights reserved. This program and the accompanying materials are made
- * available under the terms of the Common Public License v1.0 which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors: www.phpeclipse.de
- **********************************************************************************************************************************/
-package net.sourceforge.phpeclipse.actions;
-
-import net.sourceforge.phpdt.internal.ui.actions.ActionUtil;
-import net.sourceforge.phpdt.internal.ui.actions.SelectionConverter;
-import net.sourceforge.phpdt.ui.actions.SelectionDispatchAction;
-import net.sourceforge.phpeclipse.phpeditor.PHPEditor;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchSite;
-import org.eclipse.ui.IWorkbenchWindow;
-
-public class PHPOpenDeclarationAction extends SelectionDispatchAction {
- private IWorkbenchWindow fWindow;
-
- private PHPEditor fEditor;
-
- public void dispose() {
- }
-
- public PHPOpenDeclarationAction(IWorkbenchSite site) {
- super(site);
- // setText(ActionMessages.getString("OpenAction.label")); //$NON-NLS-1$
- // setToolTipText(ActionMessages.getString("OpenAction.tooltip")); //$NON-NLS-1$
- // setDescription(ActionMessages.getString("OpenAction.description")); //$NON-NLS-1$
- // WorkbenchHelp.setHelp(this, IJavaHelpContextIds.OPEN_ACTION);
- }
-
- /**
- * Note: This constructor is for internal use only. Clients should not call this constructor.
- */
- public PHPOpenDeclarationAction(PHPEditor editor) {
- this(editor.getEditorSite());
- fEditor = editor;
- // setText(ActionMessages.getString("OpenAction.declaration.label")); //$NON-NLS-1$
- setEnabled(SelectionConverter.canOperateOn(fEditor));
- }
-
- public void init(IWorkbenchWindow window) {
- this.fWindow = window;
- }
-
- public void selectionChanged(IAction action, ISelection selection) {
- if (!selection.isEmpty()) {
- if (selection instanceof TextSelection) {
- action.setEnabled(true);
- } else if (fWindow.getActivePage() != null && fWindow.getActivePage().getActivePart() != null) {
- //
- }
- }
- }
-
- private boolean checkEnabled(IStructuredSelection selection) {
- if (selection.isEmpty())
- return false;
- return true;
- }
-
- /*
- * (non-Javadoc) Method declared on SelectionDispatchAction.
- */
- public void run(ITextSelection selection) {
- if (!ActionUtil.isProcessable(getShell(), fEditor))
- return;
- OpenDeclarationEditorAction openAction = new OpenDeclarationEditorAction(fEditor);
- openAction.openSelectedElement(selection);
- }
-
- /*
- * (non-Javadoc) Method declared on SelectionDispatchAction.
- */
- public void run(IStructuredSelection selection) {
- if (!checkEnabled(selection))
- return;
- run(selection.toArray());
- }
-
- /**
- * Note: this method is for internal use only. Clients should not call this method.
- */
- public void run(Object[] elements) {
- if (elements != null && elements.length > 0) {
- ITextSelection selection = (ITextSelection) fEditor.getSelectionProvider().getSelection();
- IDocument doc = fEditor.getDocumentProvider().getDocument(fEditor.getEditorInput());
- int pos = selection.getOffset();
-
- OpenDeclarationEditorAction openAction = new OpenDeclarationEditorAction(fEditor);
- openAction.openSelectedPosition(doc, pos);
- }
- }
-
-}
\ No newline at end of file