/** * Insert the method's description here. Creation date: (21.12.2000 22:24:23) * * @return boolean * @param object com.cosylab.vdct.graphics.objects.VisibleObject * @param zoomOnHilited sets the option whether the hilited object should be zoomed in */ public boolean setAsHilited(VisibleObject object, boolean zoomOnHilited) { this.zoomOnHilited = zoomOnHilited; if (zoomOnHilited) { DrawingSurface.getInstance().repaint(); hilitedObjects.clear(); if (hilitedObject != null) { hilitedObjects.add(hilitedObject); } } if (object == null) { hilitedObjects.clear(); hilitedObject = null; return false; } if (object != hilitedObject || hilitedObjects.size() == 1) { hilitedObject = object; // initialization hilitedObjects.clear(); hilitedObjects.add(hilitedObject); Object obj = hilitedObject; // inlinks Vector outlinks = null; if (obj instanceof MultiInLink) { outlinks = ((MultiInLink) obj).getOutlinks(); } else if (obj instanceof InLink) { outlinks = new Vector(); outlinks.add(((InLink) obj).getOutput()); } if (!zoomOnHilited) { if (outlinks != null) for (int i = 0; i < outlinks.size(); i++) { obj = outlinks.elementAt(i); hilitedObjects.add(obj); while (obj instanceof InLink) { obj = ((InLink) obj).getOutput(); hilitedObjects.add(obj); } } // outLinks obj = hilitedObject; while (obj instanceof OutLink) { obj = ((OutLink) obj).getInput(); hilitedObjects.add(obj); } } return true; } else return false; }