Ejemplo n.º 1
0
  /**
   * 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;
  }
  private static void createAndShowGUI() {

    drawingSurface = new DrawingSurface();
    //  controlPanel = new ControlPanel(drawingSurface);
    // drawingSurface.controlPanel = controlPanel;

    controlPanel = new TestFrame(drawingSurface);

    drawingSurface.controlPanel = controlPanel;

    System.out.println("Created GUI on EDT? " + SwingUtilities.isEventDispatchThread());
    JFrame f = new JFrame("Graphical Model");
    // Set Location

    Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();

    f.setLocation(dim.width / 10, dim.height / 10);

    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setResizable(false);
    f.add(drawingSurface);
    f.pack();

    f.setVisible(true);

    /*  JFrame controlPanelFrame = new JFrame("Control Panel");
    controlPanelFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    controlPanelFrame.add(new ControlPanel(drawingSurface));
    controlPanelFrame.setLocation(f.getLocation().x+f.getWidth(), f.getLocation().y);
    controlPanelFrame.pack();

    controlPanelFrame.setVisible(true);*/
    controlPanel.setLocation(f.getLocation().x + f.getWidth(), f.getLocation().y);

    controlPanel.pack();
    controlPanel.setVisible(true);
  }