diff --git a/src/main/java/com/intellij/plugins/bodhi/pmd/PMDResultPanel.java b/src/main/java/com/intellij/plugins/bodhi/pmd/PMDResultPanel.java index 50926e5..0adbb9c 100644 --- a/src/main/java/com/intellij/plugins/bodhi/pmd/PMDResultPanel.java +++ b/src/main/java/com/intellij/plugins/bodhi/pmd/PMDResultPanel.java @@ -43,6 +43,7 @@ import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreeModel; import javax.swing.tree.TreePath; +import javax.swing.tree.TreeNode; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; @@ -373,6 +374,13 @@ private void showPopup(DefaultMutableTreeNode treeNode, MouseEvent e) { if (treeNode instanceof PMDViolationNode) { popupMenu.addViolation(((PMDViolationNode) treeNode).getPmdViolation()); } + if (treeNode instanceof PMDRuleNode pmdRuleNode) { + for (int i = 0; i < pmdRuleNode.getChildCount(); i++) { + if (pmdRuleNode.getChildAt(i) instanceof PMDViolationNode pmdViolationNode) { + popupMenu.addViolation(pmdViolationNode.getPmdViolation()); + } + } + } //Display popup only if actions are possible if (popupMenu.hasVisibleMenuItems()) { popupMenu.getMenu().show(resultTree, e.getX(), e.getY());