package com.dci.intellij.dbn.browser.action;
import com.dci.intellij.dbn.browser.DatabaseBrowserManager;
import com.dci.intellij.dbn.browser.ui.DatabaseBrowserTree;
import com.dci.intellij.dbn.common.Icons;
import com.dci.intellij.dbn.common.util.ActionUtil;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.project.DumbAwareAction;
import com.intellij.openapi.project.Project;
public class NavigateBackAction extends DumbAwareAction {
public NavigateBackAction() {
super("Back", null, Icons.BROWSER_BACK);
}
public void actionPerformed(AnActionEvent e) {
Project project = ActionUtil.getProject(e);
if (project != null) {
DatabaseBrowserManager browserManager = DatabaseBrowserManager.getInstance(project);
DatabaseBrowserTree activeBrowserTree = browserManager.getActiveBrowserTree();
if (activeBrowserTree != null) {
activeBrowserTree.navigateBack();
}
}
}
public void update(AnActionEvent e) {
Presentation presentation = e.getPresentation();
presentation.setText("Back");
Project project = ActionUtil.getProject(e);
if (project != null) {
DatabaseBrowserManager browserManager = DatabaseBrowserManager.getInstance(project);
DatabaseBrowserTree activeTree = browserManager.getActiveBrowserTree();
presentation.setEnabled(activeTree != null && activeTree.getNavigationHistory().hasPrevious());
}
}
}