Skip to content
Snippets Groups Projects
Commit 927d293e authored by Johannes Mey's avatar Johannes Mey
Browse files

add filters in structure view

parent 3e8068dd
Branches
Tags
1 merge request!5Resolve "Structure View Support"
Pipeline #12043 passed
......@@ -43,6 +43,6 @@ public class AspectStructureViewModel extends StructureViewModelBase implements
@Override
public Filter @NotNull [] getFilters() {
return new Filter[]{new JastAddAspectAttributeFilter()};
return new Filter[]{new JastAddAspectAttributeFilter(), new JastAddAspectIntertypeFilter(), new JastAddAspectRewriteFilter()};
}
}
package org.jastadd.tooling.aspect;
import com.intellij.ide.util.treeView.smartTree.ActionPresentation;
import com.intellij.ide.util.treeView.smartTree.ActionPresentationData;
import com.intellij.ide.util.treeView.smartTree.Filter;
import com.intellij.ide.util.treeView.smartTree.TreeElement;
import org.jastadd.tooling.aspect.psi.JastAddAspectAspectEnumDeclaration;
import org.jastadd.tooling.aspect.psi.JastAddAspectAspectFieldDeclaration;
import org.jastadd.tooling.aspect.psi.JastAddAspectAspectInterfaceDeclaration;
import org.jastadd.tooling.aspect.psi.JastAddAspectAspectMethodDeclaration;
import org.jastadd.tooling.aspect.psi.impl.JastAddAspectAspectClassDeclarationImpl;
import org.jastadd.tooling.util.JastAddIcons;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class JastAddAspectIntertypeFilter implements Filter {
@NonNls
public static final String ID = "HIDE_INTERTYPE_DECLS";
@Override
public boolean isVisible(TreeElement treeNode) {
if (treeNode instanceof AspectStructureViewElement) {
return !(
((AspectStructureViewElement) treeNode).getValue() instanceof JastAddAspectAspectMethodDeclaration
|| ((AspectStructureViewElement) treeNode).getValue() instanceof JastAddAspectAspectClassDeclarationImpl
|| ((AspectStructureViewElement) treeNode).getValue() instanceof JastAddAspectAspectEnumDeclaration
|| ((AspectStructureViewElement) treeNode).getValue() instanceof JastAddAspectAspectInterfaceDeclaration
|| ((AspectStructureViewElement) treeNode).getValue() instanceof JastAddAspectAspectFieldDeclaration
);
} else {
return true;
}
}
@Override
@NotNull
public ActionPresentation getPresentation() {
// TODO use i18n and string bundle like JavaStructureViewBundle
return new ActionPresentationData("Hide Intertype Declarations", null, JastAddIcons.INTERTYPE_DECL);
}
@Override
@NotNull
public String getName() {
return ID;
}
@Override
public boolean isReverted() {
return false;
}
}
package org.jastadd.tooling.aspect;
import com.intellij.ide.util.treeView.smartTree.ActionPresentation;
import com.intellij.ide.util.treeView.smartTree.ActionPresentationData;
import com.intellij.ide.util.treeView.smartTree.Filter;
import com.intellij.ide.util.treeView.smartTree.TreeElement;
import org.jastadd.tooling.aspect.psi.JastAddAspectAspectRewrite;
import org.jastadd.tooling.aspect.psi.JastAddAspectAttribute;
import org.jastadd.tooling.util.JastAddIcons;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class JastAddAspectRewriteFilter implements Filter {
@NonNls
public static final String ID = "HIDE_REWRITES";
@Override
public boolean isVisible(TreeElement treeNode) {
if (treeNode instanceof AspectStructureViewElement) {
return !(((AspectStructureViewElement) treeNode).getValue() instanceof JastAddAspectAspectRewrite);
}
else {
return true;
}
}
@Override
@NotNull
public ActionPresentation getPresentation() {
// TODO use i18n and string bundle like JavaStructureViewBundle
return new ActionPresentationData("Hide Rewrites", null, JastAddIcons.REWRITE);
}
@Override
@NotNull
public String getName() {
return ID;
}
@Override
public boolean isReverted() {
return false;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment