/** * Highlight concepts that have already been resolved, but do not run solver. Otherwise, do * nothing. * * @param objects The set of objects to highlight. * @exception IllegalActionException Thrown if there is an error getting the colors for the * resolved concept values. */ public void highlightConcepts(Set<Object> objects) throws IllegalActionException { if (objects != null) { // Get the PropertySolver. OntologySolver solver = (OntologySolver) getContainer(); for (Object object : objects) { if (object instanceof NamedObj) { Concept concept = solver.getConcept(object); if (concept != null) { ColorAttribute conceptColor = concept.getColor(); if (conceptColor != null) { String request = "<property name=\"_highlightColor\" " + "class=\"ptolemy.actor.gui.ColorAttribute\" value=\"" + conceptColor.getExpression() + "\"/>"; MoMLChangeRequest change = new MoMLChangeRequest(this, (NamedObj) object, request, false); ((NamedObj) object).requestChange(change); } } } } // Force a single repaint after all the above requests have been processed. solver.requestChange(new MoMLChangeRequest(this, solver, "<group/>")); } }