blob: 9add34347b8605482ee2445d21bc65dcb3f75bad [file] [log] [blame]
package com.intellij.projectView;
import com.intellij.ide.SelectInTarget;
import com.intellij.ide.projectView.BaseProjectTreeBuilder;
import com.intellij.ide.projectView.ProjectView;
import com.intellij.ide.projectView.impl.AbstractProjectViewPSIPane;
import com.intellij.ide.projectView.impl.ProjectAbstractTreeStructureBase;
import com.intellij.ide.projectView.impl.ProjectTreeBuilder;
import com.intellij.ide.projectView.impl.ProjectViewTree;
import com.intellij.ide.util.treeView.AbstractTreeBuilder;
import com.intellij.ide.util.treeView.AbstractTreeUpdater;
import com.intellij.ide.util.treeView.AlphaComparator;
import com.intellij.openapi.project.DumbAwareRunnable;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.startup.StartupManager;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
/**
* @author yole
*/
class TestProjectViewPSIPane extends AbstractProjectViewPSIPane {
private TestProjectTreeStructure myTestTreeStructure;
public TestProjectViewPSIPane(Project project, TestProjectTreeStructure treeStructure) {
super(project);
myTestTreeStructure = treeStructure;
}
@Override
public SelectInTarget createSelectInTarget() {
return null;
}
@NonNls
public String getComponentName() {
return "comp name";
}
@Override
protected AbstractTreeUpdater createTreeUpdater(AbstractTreeBuilder treeBuilder) {
return new AbstractTreeUpdater(treeBuilder);
}
@Override
@NotNull
protected BaseProjectTreeBuilder createBuilder(DefaultTreeModel treeModel) {
return new ProjectTreeBuilder(myProject, myTree, treeModel, AlphaComparator.INSTANCE,
(ProjectAbstractTreeStructureBase)myTreeStructure) {
@Override
protected AbstractTreeUpdater createUpdater() {
return createTreeUpdater(this);
}
protected void addTaskToWorker(final Runnable runnable, boolean first, final Runnable postRunnable) {
runnable.run();
postRunnable.run();
}
};
}
@Override
protected ProjectAbstractTreeStructureBase createStructure() {
return myTestTreeStructure;
}
@Override
protected ProjectViewTree createTree(DefaultTreeModel treeModel) {
return new ProjectViewTree(myProject, treeModel) {
@Override
public DefaultMutableTreeNode getSelectedNode() {
return null;
}
};
}
@Override
public Icon getIcon() {
return null;
}
@Override
@NotNull
public String getId() {
return "";
}
@Override
public String getTitle() {
return null;
}
@Override
public int getWeight() {
return 0;
}
public void projectOpened() {
final Runnable runnable = new DumbAwareRunnable() {
@Override
public void run() {
final ProjectView projectView = ProjectView.getInstance(myProject);
projectView.addProjectPane(TestProjectViewPSIPane.this);
}
};
StartupManager.getInstance(myProject).registerPostStartupActivity(runnable);
}
public void projectClosed() {
}
public void initComponent() { }
public void disposeComponent() {
}
}