private void cancelHighlight() { ScuflModelExplorerRenderer r = (ScuflModelExplorerRenderer) tree .getCellRenderer(); if (regex.getText().equals("")) { r.setPattern(null); } else { String regexString = ".*" + regex.getText().toLowerCase() + ".*"; r.setPattern(regexString); } tree.repaint(); }
setIcon(org.embl.ebi.escience.scuflworkers.ProcessorHelper .getPreferredIcon((Processor) userObject)); } else if (userObject instanceof ConcurrencyConstraint) { setIcon(TavernaIcons.constraintIcon); } else if (userObject instanceof DataConstraint) { DataConstraint dc = (DataConstraint) userObject; setText("<html><font color=\"" + colour + "\">" + dc.getName() + "</font></html>"); setText(dc.getName()); setIcon(TavernaIcons.dataLinkIcon); } else if (userObject instanceof Port) { Port thePort = (Port) userObject; setIcon(TavernaIcons.inputIcon); } else if (thePort.isSink()) { setIcon(TavernaIcons.outputIcon); } else { setIcon(TavernaIcons.inputPortIcon); } else if (thePort instanceof OutputPort) { setIcon(TavernaIcons.outputPortIcon); setText(thePort.getName() + " == " + originalPortName); } else { String toString = thePort.toString();
/** * Return a custom renderer to draw the cell correctly for each node type */ public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); Object userObject = ((DefaultMutableTreeNode) value).getUserObject(); setVerticalTextPosition(SwingConstants.BOTTOM); if (userObject instanceof ProcessorFactory) { ProcessorFactory pf = (ProcessorFactory) userObject; Class processorClass = pf.getProcessorClass(); String tagName = ProcessorHelper .getTagNameForClassName(processorClass.getName()); ImageIcon icon = ProcessorHelper.getIconForTagName(tagName); if (icon != null) { setIcon(icon); } } return this; } }
private void jumpToAndHighlight() { String regexString = ".*" + regex.getText().toLowerCase() + ".*"; // Update the renderer to colour the cells correctly based on match ScuflModelExplorerRenderer r = (ScuflModelExplorerRenderer) tree .getCellRenderer(); r.setPattern(regexString); expandAll(tree, false); DefaultTreeModel treeModel = (DefaultTreeModel) tree.getModel(); DefaultMutableTreeNode rootNode = (DefaultMutableTreeNode) treeModel .getRoot(); Enumeration en = rootNode.depthFirstEnumeration(); while (en.hasMoreElements()) { DefaultMutableTreeNode theNode = (DefaultMutableTreeNode) en .nextElement(); if (theNode.getUserObject().toString().toLowerCase().matches( regexString)) { TreePath path = new TreePath(treeModel.getPathToRoot(theNode)); tree.makeVisible(path); } } }