Beispiel #1
0
  /** Generates an Image for the View. */
  protected void generateViewImage(final ViewIFace view) {
    Rectangle rect = frame.getContentPane().getBounds();
    if (rect.width == 0 || rect.height == 0) {
      return;
    }

    BufferedImage bufImage =
        new BufferedImage(
            rect.width,
            rect.height,
            (doPNG ? BufferedImage.TYPE_INT_ARGB : BufferedImage.TYPE_INT_RGB));
    Graphics2D g2 = bufImage.createGraphics();
    if (!doPNG) {
      g2.setColor(Color.WHITE);
      g2.fillRect(0, 0, rect.width, rect.height);
    }
    g2.setRenderingHints(ERDVisualizer.createTextRenderingHints());
    frame.getContentPane().paint(g2);

    g2.dispose();

    String baseFileName =
        outputDir.getAbsoluteFile()
            + "/"
            + view.getName()
            + "_"
            + viewInx; //$NON-NLS-1$ //$NON-NLS-2$
    File imgFile = new File(baseFileName + (doPNG ? ".png" : ".jpg")); // $NON-NLS-1$ //$NON-NLS-2$
    System.out.println(imgFile.getAbsolutePath());
    try {
      ImageIO.write(bufImage, "PNG", imgFile); // $NON-NLS-1$

      entries.add(new Pair<String, File>(view.getName(), imgFile));

    } catch (Exception ex) {
      edu.ku.brc.af.core.UsageTracker.incrHandledUsageCount();
      edu.ku.brc.exceptions.ExceptionTracker.getInstance().capture(FormDisplayer.class, ex);
      ex.printStackTrace();
    }
  }
Beispiel #2
0
  /**
   * @param viewSetMgrName
   * @param dir
   */
  protected void processDir(final String viewSetMgrName, final File dir) {
    ViewSetMgr viewSetMgr = new ViewSetMgr(viewSetMgrName, dir);

    pw.println("<br><h2>" + viewSetMgrName + "</h2>"); // $NON-NLS-1$ //$NON-NLS-2$
    if (viewSetMgr.getViewSets().size() > 0) {
      for (ViewSetIFace vs : viewSetMgr.getViewSets()) {
        if (!vs.getName().equals("Editor")) // $NON-NLS-1$
        {
          System.out.println(vs.getName());
          if (vs.getViews().keySet().size() > 0) {
            pw.println("<h3>" + vs.getName() + "</h3>"); // $NON-NLS-1$ //$NON-NLS-2$

            pw.println("<table border=\"1\" width=\"50%\">"); // $NON-NLS-1$
            pw.println(
                "<tr><th>View Name</th><th>Is Internal</th><th>Types</th></tr>"); //$NON-NLS-1$

            Vector<String> vNames = new Vector<String>(vs.getViews().keySet());
            Collections.sort(vNames);
            for (String vName : vNames) {
              ViewIFace view = vs.getViews().get(vName);
              pw.println("<tr><td>" + view.getName() + "</td>"); // $NON-NLS-1$ //$NON-NLS-2$

              StringBuilder sb = new StringBuilder();
              for (AltViewIFace av : view.getAltViews()) {
                if (sb.length() > 0) sb.append(", "); // $NON-NLS-1$
                if (av.getViewDef() != null) {
                  sb.append(
                      av.getViewDef().getType().toString()
                          + " ("
                          + av.getMode().toString().toLowerCase()
                          + ")"); //$NON-NLS-1$ //$NON-NLS-2$
                }
              }
              pw.println(
                  "<td><center>"
                      + view.isInternal()
                      + "</center></td>"); //$NON-NLS-1$ //$NON-NLS-2$
              pw.println("<td>" + sb.toString() + "</td></tr>"); // $NON-NLS-1$ //$NON-NLS-2$
            }
            pw.println("</table><br>"); // $NON-NLS-1$
          } else {
            pw.println(
                "<i>"
                    + getResourceString("FormDisplayer.NO_VIEWS_DEFINED")
                    + "</i><br>"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
          }
        }
      }
    } else {
      pw.println("<i>No viewset_registry.xml</i><br>"); // $NON-NLS-1$
    }

    if (dir != null && dir.isDirectory()) {
      System.out.println(dir.getAbsolutePath());
      for (File file : dir.listFiles()) {
        if (file.isDirectory() && !file.getName().startsWith(".")) // $NON-NLS-1$
        {
          processDir(viewSetMgrName + "/" + file.getName(), file); // $NON-NLS-1$
        }
      }
    }
  }
Beispiel #3
0
  protected void showView() {
    boolean done = false;

    synchronized (okToProc) {
      if (okToProc.get()) {
        if (frame != null) {
          generateViewImage(viewList.get(viewInx));
          frame.dispose();
        }

        viewInx++;

        ViewIFace view = viewList.get(viewInx);
        System.out.println(view.getName());

        if (!view.getViewSetName().equals("Editor")) // $NON-NLS-1$
        {
          Object data = null;
          try {
            ViewDefIFace viewDef = view.getAltViews().get(0).getViewDef();
            if (!(viewDef.getDataGettable()
                instanceof edu.ku.brc.af.ui.forms.DataGetterForHashMap)) {
              Class<?> dataCls = Class.forName(viewDef.getClassName());
              if (dataCls != null) {
                System.err.println(dataCls);
                data = dataCls.newInstance();
                if (data instanceof FormDataObjIFace) {
                  ((FormDataObjIFace) data).initialize();
                }
              }
            }
          } catch (Exception ex) {
          }

          if (data instanceof Discipline) {
            ((Discipline) data).setType("fish");
          }
          FormPane formPane =
              new FormPane(
                  view.getName(),
                  null,
                  null,
                  view.getName(),
                  "edit",
                  data,
                  MultiView.IS_NEW_OBJECT | MultiView.HIDE_SAVE_BTN,
                  true); //$NON-NLS-1$
          frame = new JFrame();
          frame.setFocusable(false);
          frame.setContentPane(formPane);
          frame.setSize(1024, 768);
          frame.setVisible(true);

          frame.setLocation(0, 0);

          Dimension size = frame.getContentPane().getPreferredSize();
          size.height += 40;
          size.width += 30;
          frame.setSize(size);

          String str = String.format("%d of %d", viewInx + 1, viewList.size());
          System.out.println(str); // $NON-NLS-1$
          getStatusBar().setText(str); // $NON-NLS-1$

        } else if (frame != null) {
          frame.setVisible(false);
          frame.dispose();
          frame = null;
        }

        if (viewInx < viewList.size() - 1) {
          SwingUtilities.invokeLater(
              new Runnable() {
                @Override
                public void run() {
                  try {
                    Thread.sleep(500);
                  } catch (Exception ex) {
                    edu.ku.brc.af.core.UsageTracker.incrHandledUsageCount();
                    edu.ku.brc.exceptions.ExceptionTracker.getInstance()
                        .capture(FormDisplayer.class, ex);
                  }
                  showView();
                }
              });
        } else {
          done = true;
        }
      } else {
        done = true;
      }
    }

    if (done) {
      if (cancelDlg != null) cancelDlg.setVisible(false);
      if (frame != null) {
        frame.setVisible(false);
        frame.dispose();
      }

      createIndexFile();

      getStatusBar().setText("Done"); // $NON-NLS-1$
    }
  }