VisibleNodesFilter.java

Index Score
net.sourceforge.ganttproject.chart
GanttProject

View: Reasons, Metrics, Source Code

These are the metrics that contribute to the Enerjy Score for this file, ranked by impact. So the metrics listed at the top influence the score to a greater extent that the metrics listed at the bottom.

MetricDescription
package net.sourceforge.ganttproject.chart; import java.util.ArrayList; import java.util.Collections; import java.util.List; import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreePath; import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; import net.sourceforge.ganttproject.task.Task; /** * Created by IntelliJ IDEA. User: bard */ public class VisibleNodesFilter { public List/* <Task> */getVisibleNodes(JTree jtree, int minHeight, int maxHeight, int nodeHeight) { List preorderedNodes = Collections.list(((DefaultMutableTreeTableNode) jtree .getModel().getRoot()).preorderEnumeration()); List result = new ArrayList(); int currentHeight = 0; for (int i = 1; i < preorderedNodes.size(); i++) { DefaultMutableTreeTableNode nextNode = (DefaultMutableTreeTableNode) preorderedNodes .get(i); if (false==nextNode.getUserObject() instanceof Task) { continue; } if ((currentHeight+nodeHeight) > minHeight && jtree.isVisible(new TreePath(nextNode.getPath()))) { result.add(nextNode.getUserObject()); } if (jtree.isVisible(new TreePath(nextNode.getPath()))) { currentHeight += nodeHeight; } if(currentHeight > minHeight + maxHeight) { break; } } return result; } }

The table below shows all metrics for VisibleNodesFilter.java.

MetricValueDescription