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
No related branches found
No related tags found
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