structure view (dummy)

This commit is contained in:
Dmitry Jemerov
2011-06-15 12:56:15 +02:00
parent 41d2c73c06
commit f16a4bb752
3 changed files with 110 additions and 0 deletions
@@ -0,0 +1,71 @@
package org.jetbrains.jet.plugin.structureView;
import com.intellij.ide.structureView.StructureViewTreeElement;
import com.intellij.ide.util.treeView.smartTree.TreeElement;
import com.intellij.navigation.ItemPresentation;
import com.intellij.openapi.editor.colors.TextAttributesKey;
import com.intellij.openapi.util.Iconable;
import com.intellij.psi.NavigatablePsiElement;
import javax.swing.*;
/**
* @author yole
*/
public class JetStructureViewElement implements StructureViewTreeElement {
private final NavigatablePsiElement myElement;
public JetStructureViewElement(NavigatablePsiElement element) {
myElement = element;
}
@Override
public Object getValue() {
return myElement;
}
@Override
public void navigate(boolean requestFocus) {
myElement.navigate(requestFocus);
}
@Override
public boolean canNavigate() {
return myElement.canNavigate();
}
@Override
public boolean canNavigateToSource() {
return myElement.canNavigateToSource();
}
@Override
public ItemPresentation getPresentation() {
return new ItemPresentation() {
@Override
public String getPresentableText() {
return "";
}
@Override
public String getLocationString() {
return null;
}
@Override
public Icon getIcon(boolean open) {
return myElement.getIcon(open ? Iconable.ICON_FLAG_OPEN : Iconable.ICON_FLAG_CLOSED);
}
@Override
public TextAttributesKey getTextAttributesKey() {
return null;
}
};
}
@Override
public TreeElement[] getChildren() {
return new TreeElement[0]; //To change body of implemented methods use File | Settings | File Templates.
}
}
@@ -0,0 +1,24 @@
package org.jetbrains.jet.plugin.structureView;
import com.intellij.ide.structureView.StructureViewBuilder;
import com.intellij.ide.structureView.StructureViewModel;
import com.intellij.ide.structureView.TreeBasedStructureViewBuilder;
import com.intellij.lang.PsiStructureViewFactory;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
/**
* @author yole
*/
public class JetStructureViewFactory implements PsiStructureViewFactory {
@Override
public StructureViewBuilder getStructureViewBuilder(final PsiFile psiFile) {
return new TreeBasedStructureViewBuilder() {
@NotNull
@Override
public StructureViewModel createStructureViewModel() {
return new JetStructureViewModel(psiFile);
}
};
}
}
@@ -0,0 +1,15 @@
package org.jetbrains.jet.plugin.structureView;
import com.intellij.ide.structureView.StructureViewModelBase;
import com.intellij.ide.structureView.StructureViewTreeElement;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
/**
* @author yole
*/
public class JetStructureViewModel extends StructureViewModelBase {
public JetStructureViewModel(@NotNull PsiFile psiFile) {
super(psiFile, new JetStructureViewElement(psiFile));
}
}