示例#1
0
 /** Sets the options. */
 public void setOptions() {
   _optionsDialog.setVisible(false);
   _gameOptions.put("brickCount", _optionsDialog.getBrickCount());
   _gameOptions.put("hitsToRemoveBrick", _optionsDialog.getHitsToRemoveBrick());
   _gameOptions.put("ballsPerLevel", _optionsDialog.getBallsPerLevel());
   _gameOptions.put("nextLevelSpeedJump", _optionsDialog.getLevelSpeedup());
   resetGame();
   repaint();
 }
示例#2
0
 protected OptionsDialog setupOptionsDialog() {
   OptionsDialog optionsDialog = new OptionsDialog((Frame) getWorkspace().getTopLevelAncestor());
   optionsDialog.addOptionsPage(new ModeOptionsPage(getOptions()), "Mode");
   optionsDialog.addOptionsPage(
       new LayoutDirectionOptionsPage(
           assertedGraphComponent.getController(), inferredGraphComponent.getController()),
       "Layout");
   optionsDialog.addOptionsPage(new GlobalOptionsPage(getOWLEditorKit()), "Global");
   // optionsDialog.addOptionsPage(new DisplayOptionsPage(), "Display
   // Options");
   // optionsDialog.addOptionsPage(new UIOptionsPage(), "UI Options");
   return optionsDialog;
 }
示例#3
0
 protected void onOptions() {
   if (JOptionPane.showConfirmDialog(
           new JFrame(),
           "This will reset any current games. Continue?",
           "Options Change",
           JOptionPane.YES_NO_OPTION)
       == JOptionPane.YES_OPTION) {
     _optionsDialog = new OptionsDialog(this);
     _optionsDialog.setVisible(true);
   }
 }
示例#4
0
  public void init() {

    // Get entries and check if it makes sense to perform this operation
    entries = panel.getSelectedEntries();

    if (entries.length == 0) {

      database = panel.getDatabase();
      entries = database.getEntries().toArray(new BibtexEntry[] {});

      if (entries.length == 0) {

        JOptionPane.showMessageDialog(
            panel,
            Globals.lang("This operation requires at least one entry."),
            Globals.lang("Write XMP-metadata"),
            JOptionPane.ERROR_MESSAGE);
        goOn = false;
        return;

      } else {

        int response =
            JOptionPane.showConfirmDialog(
                panel,
                Globals.lang("Write XMP-metadata for all PDFs in current database?"),
                Globals.lang("Write XMP-metadata"),
                JOptionPane.YES_NO_CANCEL_OPTION,
                JOptionPane.QUESTION_MESSAGE);

        if (response != JOptionPane.YES_OPTION) {
          goOn = false;
          return;
        }
      }
    }

    errors = entriesChanged = skipped = 0;

    if (optDiag == null) {
      optDiag = new OptionsDialog(panel.frame().getFrame());
    }
    optDiag.open();

    panel.output(Globals.lang("Writing XMP metadata..."));
  }
示例#5
0
  public void run() {

    if (!goOn) return;

    for (int i = 0; i < entries.length; i++) {

      BibtexEntry entry = entries[i];

      // Make a list of all PDFs linked from this entry:
      List<File> files = new ArrayList<File>();

      // First check the (legacy) "pdf" field:
      String pdf = entry.getField("pdf");
      String dir = panel.metaData().getFileDirectory("pdf");
      File f = Util.expandFilename(pdf, new String[] {dir, "."});
      if (f != null) files.add(f);

      // Then check the "file" field:
      dir = panel.metaData().getFileDirectory(GUIGlobals.FILE_FIELD);
      String field = entry.getField(GUIGlobals.FILE_FIELD);
      if (field != null) {
        FileListTableModel tm = new FileListTableModel();
        tm.setContent(field);
        for (int j = 0; j < tm.getRowCount(); j++) {
          FileListEntry flEntry = tm.getEntry(j);
          if ((flEntry.getType() != null)
              && (flEntry.getType().getName().toLowerCase().equals("pdf"))) {
            f = Util.expandFilename(flEntry.getLink(), new String[] {dir, "."});
            if (f != null) files.add(f);
          }
        }
      }

      optDiag.progressArea.append(entry.getCiteKey() + "\n");

      if (files.size() == 0) {
        skipped++;
        optDiag.progressArea.append("  " + Globals.lang("Skipped - No PDF linked") + ".\n");
      } else
        for (File file : files) {
          if (!file.exists()) {
            skipped++;
            optDiag.progressArea.append(
                "  " + Globals.lang("Skipped - PDF does not exist") + ":\n");
            optDiag.progressArea.append("    " + file.getPath() + "\n");

          } else {
            try {
              XMPUtil.writeXMP(file, entry, database);
              optDiag.progressArea.append("  " + Globals.lang("Ok") + ".\n");
              entriesChanged++;
            } catch (Exception e) {
              optDiag.progressArea.append(
                  "  " + Globals.lang("Error while writing") + " '" + file.getPath() + "':\n");
              optDiag.progressArea.append("    " + e.getLocalizedMessage() + "\n");
              errors++;
            }
          }
        }

      if (optDiag.canceled) {
        optDiag.progressArea.append("\n" + Globals.lang("Operation canceled.\n"));
        break;
      }
    }
    optDiag.progressArea.append(
        "\n"
            + Globals.lang(
                "Finished writing XMP for %0 file (%1 skipped, %2 errors).",
                String.valueOf(entriesChanged), String.valueOf(skipped), String.valueOf(errors)));
    optDiag.done();
  }
示例#6
0
 /** Closes the options. */
 public void closeOptions() {
   _optionsDialog.setVisible(false);
   _optionsDialog.dispose();
 }