jgpdmarqueehandler.java

来自「用JGraph编的软件」· Java 代码 · 共 1,436 行 · 第 1/3 页

JAVA
1,436
字号
        null);
  }
public void addInclusiveGateway(Rectangle bounds)
{
    Map viewMap = new Hashtable();
      Map map;
      GraphModelProvider gmp = graphpad.getCurrentGraphModelProvider();
      GraphModel model = graphpad.getCurrentGraph().getModel();

      // If bounds is smaller than the default activity
      // ensure the default dimensions are used.
      int width = bounds.width;
      int height = bounds.height;

      if (bounds.getWidth() < InclusiveGatewayView.default_width) {
        width = InclusiveGatewayView.default_width;
      }
      if (bounds.getHeight() < InclusiveGatewayView.default_height) {
        height = InclusiveGatewayView.default_height;
      }

      bounds.setSize(width, width);

      map = GraphConstants.createMap();
      GraphConstants.setBounds(map, bounds);
      GraphConstants.setOpaque(map, true);
      GraphConstants.setBackground(map, Color.BLUE);
      GraphConstants.setBorderColor(map, Color.black);
      String fontName = Translator.getString("FontName");
      try {
        int fontSize = Integer.parseInt(Translator.getString("FontSize"));
        int fontStyle = Integer.parseInt(Translator.getString("FontStyle"));
        GraphConstants.setFont(
            map,
            new Font(fontName, fontStyle, fontSize));
      }
      catch (Exception e) {
        // handle error
      }
      List toInsert = new LinkedList();

      // Obtain current export model
      ModelExportInterface exportModel = graphpad.getExportModel();
      Object userObject = null;
      if (exportModel != null) {
        // Create end object in model and associate
        // with this cell as a userObject
        userObject = exportModel.createInclusiveGateway();
      }

      Object cell =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_VERTEX_INCLUSIVEGATEWAY,
          userObject,
          map);

      viewMap.put(cell, map);
      toInsert.add(cell);

      // Create Ports
      int u = GraphConstants.PERMILLE;
      Object port;

      // Floating Center Port
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Center",
          null);
      gmp.addPort(cell, port);
      //port = new DefaultPort("Center");
      //cell.add(port);
      toInsert.add(port);

      // Top Left
      //port = new DefaultPort("Topleft");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(
          map,
          new Point( (int) (u / 4), (int) (u / 4)));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Topleft",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Top Center
      // port = new DefaultPort("Topcenter");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(map, new Point( (int) (u / 2), 0));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Topcenter",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Top Right
      // port = new DefaultPort("Topright");
      // cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(
          map,
          new Point( (int) (u * 3 / 4), (int) (u / 4)));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Topright",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Top Center
      //port = new DefaultPort("Middleleft");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(map, new Point(0, (int) (u / 2)));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Middleleft",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Middle Right
      //port = new DefaultPort("Middleright");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(map, new Point(u, (int) (u / 2)));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Middleright",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Bottom Left
      //port = new DefaultPort("Bottomleft");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(
          map,
          new Point( (int) (u / 4), (int) (u * 3 / 4)));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Bottomleft",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Bottom Center
      //port = new DefaultPort("Bottomcenter");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(map, new Point( (int) (u / 2), u));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Bottomcenter",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Bottom Right
      //port = new DefaultPort("Bottomright");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(
          map,
          new Point( (int) (u * 3 / 4), (int) (u * 3 / 4)));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Bottomright",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      graphpad.getCurrentGraph().getModel().insert(
          toInsert.toArray(),
          viewMap,
          null,
          null,
          null);

}
public void addParallelGateway(Rectangle bounds)
{
    Map viewMap = new Hashtable();
      Map map;
      GraphModelProvider gmp = graphpad.getCurrentGraphModelProvider();
      GraphModel model = graphpad.getCurrentGraph().getModel();

      // If bounds is smaller than the default activity
      // ensure the default dimensions are used.
      int width = bounds.width;
      int height = bounds.height;

      if (bounds.getWidth() < ParallelGatewayView.default_width) {
        width = ParallelGatewayView.default_width;
      }
      if (bounds.getHeight() < ParallelGatewayView.default_height) {
        height = ParallelGatewayView.default_height;
      }

      bounds.setSize(width, width);

      map = GraphConstants.createMap();
      GraphConstants.setBounds(map, bounds);
      GraphConstants.setOpaque(map, true);
      GraphConstants.setBackground(map, Color.BLUE);
      GraphConstants.setBorderColor(map, Color.black);
      String fontName = Translator.getString("FontName");
      try {
        int fontSize = Integer.parseInt(Translator.getString("FontSize"));
        int fontStyle = Integer.parseInt(Translator.getString("FontStyle"));
        GraphConstants.setFont(
            map,
            new Font(fontName, fontStyle, fontSize));
      }
      catch (Exception e) {
        // handle error
      }
      List toInsert = new LinkedList();

      // Obtain current export model
      ModelExportInterface exportModel = graphpad.getExportModel();
      Object userObject = null;
      if (exportModel != null) {
        // Create end object in model and associate
        // with this cell as a userObject
        userObject = exportModel.createParallelGateway();
      }

      Object cell =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_VERTEX_PARALLELGATEWAY,
          userObject,
          map);

      viewMap.put(cell, map);
      toInsert.add(cell);

      // Create Ports
      int u = GraphConstants.PERMILLE;
      Object port;

      // Floating Center Port
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Center",
          null);
      gmp.addPort(cell, port);
      //port = new DefaultPort("Center");
      //cell.add(port);
      toInsert.add(port);

      // Top Left
      //port = new DefaultPort("Topleft");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(
          map,
          new Point( (int) (u / 4), (int) (u / 4)));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Topleft",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Top Center
      // port = new DefaultPort("Topcenter");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(map, new Point( (int) (u / 2), 0));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Topcenter",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Top Right
      // port = new DefaultPort("Topright");
      // cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(
          map,
          new Point( (int) (u * 3 / 4), (int) (u / 4)));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Topright",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Top Center
      //port = new DefaultPort("Middleleft");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(map, new Point(0, (int) (u / 2)));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Middleleft",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Middle Right
      //port = new DefaultPort("Middleright");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(map, new Point(u, (int) (u / 2)));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Middleright",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Bottom Left
      //port = new DefaultPort("Bottomleft");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(
          map,
          new Point( (int) (u / 4), (int) (u * 3 / 4)));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Bottomleft",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Bottom Center
      //port = new DefaultPort("Bottomcenter");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(map, new Point( (int) (u / 2), u));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Bottomcenter",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Bottom Right
      //port = new DefaultPort("Bottomright");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(
          map,
          new Point( (int) (u * 3 / 4), (int) (u * 3 / 4)));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Bottomright",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      graphpad.getCurrentGraph().getModel().insert(
          toInsert.toArray(),
          viewMap,
          null,
          null,
          null);

}
public void addComplexGateway(Rectangle bounds)
{
    Map viewMap = new Hashtable();
      Map map;
      GraphModelProvider gmp = graphpad.getCurrentGraphModelProvider();
      GraphModel model = graphpad.getCurrentGraph().getModel();

      // If bounds is smaller than the default activity
      // ensure the default dimensions are used.
      int width = bounds.width;
      int height = bounds.height;

      if (bounds.getWidth() < ComplexGatewayView.default_width) {
        width = ComplexGatewayView.default_width;
      }
      if (bounds.getHeight() < ComplexGatewayView.default_height) {
        height = ComplexGatewayView.default_height;
      }

      bounds.setSize(width, width);

      map = GraphConstants.createMap();
      GraphConstants.setBounds(map, bounds);
      GraphConstants.setOpaque(map, true);
      GraphConstants.setBackground(map, Color.BLUE);
      GraphConstants.setBorderColor(map, Color.black);
      String fontName = Translator.getString("FontName");
      try {
        int fontSize = Integer.parseInt(Translator.getString("FontSize"));
        int fontStyle = Integer.parseInt(Translator.getString("FontStyle"));
        GraphConstants.setFont(
            map,
            new Font(fontName, fontStyle, fontSize));
      }
      catch (Exception e) {
        // handle error
      }
      List toInsert = new LinkedList();

      // Obtain current export model
      ModelExportInterface exportModel = graphpad.getExportModel();
      Object userObject = null;
      if (exportModel != null) {
        // Create end object in model and associate
        // with this cell as a userObject
        userObject = exportModel.createComplexGateway();
      }

      Object cell =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_VERTEX_COMPLEXGATEWAY,
          userObject,
          map);

      viewMap.put(cell, map);
      toInsert.add(cell);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?