Package com.dci.intellij.dbn.language.common.navigation

Source Code of com.dci.intellij.dbn.language.common.navigation.NavigationAction

package com.dci.intellij.dbn.language.common.navigation;

import com.dci.intellij.dbn.editor.code.SourceCodeManager;
import com.dci.intellij.dbn.language.common.psi.BasePsiElement;
import com.dci.intellij.dbn.object.common.DBObject;
import com.dci.intellij.dbn.object.common.DBSchemaObject;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;

import javax.swing.Icon;

public abstract class NavigationAction extends AnAction {
    private BasePsiElement navigationElement;
    private DBObject parentObject;

    protected NavigationAction(String text, Icon icon, DBObject parentObject, BasePsiElement navigationElement) {
        super(text, null, icon);
        this.parentObject = parentObject;
        this.navigationElement = navigationElement;
    }

    public DBObject getParentObject() {
        return parentObject;
    }

    public void actionPerformed(AnActionEvent e) {
        navigate();
    }

    public void navigate() {
        if (parentObject != null) {
            SourceCodeManager codeEditorManager = SourceCodeManager.getInstance(parentObject.getProject());
            codeEditorManager.navigateToObject((DBSchemaObject) parentObject, navigationElement);
        } else {
            navigationElement.navigate(true);
        }
    }
}
TOP

Related Classes of com.dci.intellij.dbn.language.common.navigation.NavigationAction

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.