- progressBar = ap.alignFrame;
- // ////////////////////////////////
- // Is the pdb file already loaded?
- String alreadyMapped = ap.getStructureSelectionManager()
- .alreadyMappedToFile(pdbentry.getId());
-
- if (alreadyMapped != null)
- {
- int option = JOptionPane.showInternalConfirmDialog(Desktop.desktop,
- MessageManager.formatMessage(
- "label.pdb_entry_is_already_displayed", new String[]
- { pdbentry.getId() }), MessageManager.formatMessage(
- "label.map_sequences_to_visible_window", new String[]
- { pdbentry.getId() }),
- JOptionPane.YES_NO_CANCEL_OPTION);
-
- if (option == JOptionPane.CANCEL_OPTION)
- {
- return;
- }
- if (option == JOptionPane.YES_OPTION)
- {
- // TODO : Fix multiple seq to one chain issue here.
- ap.getStructureSelectionManager().setMapping(seq, chains,
- alreadyMapped, AppletFormatAdapter.FILE);
- if (ap.getSeqPanel().seqCanvas.fr != null)
- {
- ap.getSeqPanel().seqCanvas.fr.featuresAdded();
- ap.paintAlignment(true);
- }
-
- // Now this AppJmol is mapped to new sequences. We must add them to
- // the exisiting array
- JInternalFrame[] frames = Desktop.instance.getAllFrames();
-
- for (int i = 0; i < frames.length; i++)
- {
- if (frames[i] instanceof AppJmol)
- {
- final AppJmol topJmol = ((AppJmol) frames[i]);
- // JBPNOTE: this looks like a binding routine, rather than a gui
- // routine
- for (int pe = 0; pe < topJmol.jmb.getPdbCount(); pe++)
- {
- if (topJmol.jmb.getPdbEntry(pe).getFile()
- .equals(alreadyMapped))
- {
- topJmol.jmb.addSequence(pe, seq);
- topJmol.addAlignmentPanel(ap);
- // add it to the set used for colouring
- topJmol.useAlignmentPanelForColourbyseq(ap);
- topJmol.buildActionMenu();
- ap.getStructureSelectionManager()
- .sequenceColoursChanged(ap);
- break;
- }
- }
- }
- }