Exemplo n.º 1
0
 @Override
 public void handleEvent(FormatEvent event) {
   switch (event.getType()) {
     case PROGRESS:
       progressBar.setValue((int) (event.getProgress() * 100.0));
       if (event.getSubTask() != null) {
         statusLabel.setText(event.getSubTask());
       }
       break;
     case COMPLETED:
       setVisible(false);
       if (GenomeController.getInstance().isGenomeLoaded()) {
         if (formatter instanceof BAMToCoverage) {
           // For coverage tracks, we report success, but don't offer to open the track.
           DialogUtils.displayMessage(
               "Format Successful",
               String.format(
                   "<HTML>Format successful.<BR>Coverage will be available the next time you open <i>%s</i>.</HTML>",
                   formatter.getInputFile().getName()));
         } else {
           if (toLoadTrack
               || DialogUtils.askYesNo("Format Successful", "Format successful. Open track now?")
                   == DialogUtils.YES) {
             try {
               FrameController.getInstance()
                   .addTrackFromPath(formatter.getOutputFile().getAbsolutePath(), null, null);
             } catch (Exception ex) {
             }
           }
         }
       } else {
         DialogUtils.displayMessage(
             "Format Successful",
             "<HTML>Format successful. <BR>A genome must be loaded before you can open this track.</HTML>");
       }
       break;
     case FAILED:
       setVisible(false);
       SavantFileFormatter.reportFormattingError(event.getError(), formatter.getInputFile());
       break;
   }
 }