Package org.epic.perleditor.actions

Source Code of org.epic.perleditor.actions.PerlDocAction

package org.epic.perleditor.actions;

import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.dialogs.InputDialog;
import org.eclipse.jface.text.TextSelection;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.texteditor.ITextEditor;
import org.epic.core.util.StatusFactory;
import org.epic.perleditor.PerlEditorPlugin;
import org.epic.perleditor.editors.PerlEditor;
import org.epic.perleditor.editors.PerlEditorActionIds;
import org.epic.perleditor.popupmenus.PopupMessages;
import org.epic.perleditor.views.PerlDocView;


public class PerlDocAction extends PerlEditorAction
{
    //~ Constructors

    public PerlDocAction(PerlEditor editor)
    {
        super(editor);
    }

    //~ Methods

    protected void doRun()
    {
        ITextEditor editor = getEditor();

        String selection = ((TextSelection) editor.getSelectionProvider().getSelection()).getText();
        Shell shell = PerlEditorPlugin.getWorkbenchWindow().getShell();

        if (selection.length() == 0)
        {
            InputDialog inputDialog =
                new InputDialog(shell, PopupMessages.getString("PerlDoc.search.title"),
                    PopupMessages.getString("PerlDoc.search.message"), "", null);

            int returnCode = inputDialog.open();

            if (returnCode == Window.OK)
            {
                selection = inputDialog.getValue();
            }
            else
            {
                return;
            }
        }

        PerlDocView view = null;
        IWorkbenchPage activePage = PerlEditorPlugin.getWorkbenchWindow().getActivePage();

        try
        {
            view = (PerlDocView) activePage.showView("org.epic.perleditor.views.PerlDocView");
            view.search(selection, editor);
        }
        catch (PartInitException e)
        {
            PerlEditorPlugin.getDefault().getLog().log(
                StatusFactory.createError(PerlEditorPlugin.getPluginId(), e.getMessage(), e));
        }
        catch (CoreException e)
        {
            PerlEditorPlugin.getDefault().getLog().log(
                StatusFactory.createError(PerlEditorPlugin.getPluginId(), e.getMessage(), e));
        }
    }

    protected String getPerlEditorActionId()
    {
        return PerlEditorActionIds.PERL_DOC;
    }
}
TOP

Related Classes of org.epic.perleditor.actions.PerlDocAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.