X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAppJmol.java;h=90d3b153c190c99fd9e8c008c96071ae0c195f75;hb=c66902a9536b10a5477b58aaf7c2d75772890a5d;hp=fcb31eb57504dc9c45e3060083abd1fe362b9f8f;hpb=d3a2fdc864b586b5c604335dd715ec215b679197;p=jalview.git diff --git a/src/jalview/gui/AppJmol.java b/src/jalview/gui/AppJmol.java index fcb31eb..90d3b15 100644 --- a/src/jalview/gui/AppJmol.java +++ b/src/jalview/gui/AppJmol.java @@ -20,14 +20,12 @@ */ package jalview.gui; -import jalview.api.structures.JalviewStructureDisplayI; import jalview.bin.Cache; import jalview.datamodel.Alignment; import jalview.datamodel.AlignmentI; import jalview.datamodel.ColumnSelection; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; -import jalview.ext.jmol.JalviewJmolBinding; import jalview.gui.ViewSelectionMenu.ViewSetProvider; import jalview.io.AppletFormatAdapter; import jalview.io.JalviewFileChooser; @@ -42,6 +40,7 @@ import jalview.schemes.StrandColourScheme; import jalview.schemes.TaylorColourScheme; import jalview.schemes.TurnColourScheme; import jalview.schemes.ZappoColourScheme; +import jalview.structures.models.AAStructureBindingModel; import jalview.util.MessageManager; import jalview.util.Platform; @@ -61,7 +60,6 @@ import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.PrintWriter; -import java.util.ArrayList; import java.util.Enumeration; import java.util.Vector; @@ -79,7 +77,7 @@ import javax.swing.event.MenuEvent; import javax.swing.event.MenuListener; public class AppJmol extends GStructureViewer implements Runnable, - ViewSetProvider, JalviewStructureDisplayI + ViewSetProvider { AppJmolBinding jmb; @@ -187,7 +185,7 @@ public class AppJmol extends GStructureViewer implements Runnable, } this.setBounds(bounds); initMenus(); - viewId = viewid; + setViewId(viewid); // jalview.gui.Desktop.addInternalFrame(this, "Loading File", // bounds.width,bounds.height); @@ -315,9 +313,9 @@ public class AppJmol extends GStructureViewer implements Runnable, // TODO : Fix multiple seq to one chain issue here. ap.getStructureSelectionManager().setMapping(seq, chains, alreadyMapped, AppletFormatAdapter.FILE); - if (ap.seqPanel.seqCanvas.fr != null) + if (ap.getSeqPanel().seqCanvas.fr != null) { - ap.seqPanel.seqCanvas.fr.featuresAdded(); + ap.getSeqPanel().seqCanvas.fr.featuresAdded(); ap.paintAlignment(true); } @@ -332,9 +330,10 @@ public class AppJmol extends GStructureViewer implements Runnable, 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.pdbentry.length; pe++) + for (int pe = 0; pe < topJmol.jmb.getPdbCount(); pe++) { - if (topJmol.jmb.pdbentry[pe].getFile().equals(alreadyMapped)) + if (topJmol.jmb.getPdbEntry(pe).getFile() + .equals(alreadyMapped)) { topJmol.jmb.addSequence(pe, seq); topJmol.addAlignmentPanel(ap); @@ -435,11 +434,6 @@ public class AppJmol extends GStructureViewer implements Runnable, openNewJmol(ap, pe, seqs); } - /** - * list of sequenceSet ids associated with the view - */ - ArrayList _aps = new ArrayList(); - public AlignmentPanel[] getAllAlignmentPanels() { AlignmentPanel[] t, list = new AlignmentPanel[0]; @@ -459,17 +453,6 @@ public class AppJmol extends GStructureViewer implements Runnable, } /** - * list of alignment panels to use for superposition - */ - Vector _alignwith = new Vector(); - - /** - * list of alignment panels that are used for colouring structures by aligned - * sequences - */ - Vector _colourwith = new Vector(); - - /** * set the primary alignmentPanel reference and add another alignPanel to the * list of ones to use for colouring and aligning * @@ -632,7 +615,7 @@ public class AppJmol extends GStructureViewer implements Runnable, { if (frame instanceof AppJmol) { - if (((AppJmol) frame).isLinkedWith(apanel)) + if (((GStructureViewer) frame).isLinkedWith(apanel)) { result.addElement(frame); } @@ -768,14 +751,14 @@ public class AppJmol extends GStructureViewer implements Runnable, // TODO: replace with reference fetching/transfer code (validate PDBentry // as a DBRef?) jalview.ws.dbsources.Pdb pdbclient = new jalview.ws.dbsources.Pdb(); - for (int pi = 0; pi < jmb.pdbentry.length; pi++) + for (int pi = 0; pi < jmb.getPdbCount(); pi++) { - String file = jmb.pdbentry[pi].getFile(); + String file = jmb.getPdbEntry(pi).getFile(); if (file == null) { // retrieve the pdb and store it locally AlignmentI pdbseq = null; - pdbid = jmb.pdbentry[pi].getId(); + pdbid = jmb.getPdbEntry(pi).getId(); long hdl = pdbid.hashCode() - System.currentTimeMillis(); if (progressBar != null) { @@ -783,7 +766,8 @@ public class AppJmol extends GStructureViewer implements Runnable, } try { - pdbseq = pdbclient.getSequenceRecords(pdbid = jmb.pdbentry[pi] + pdbseq = pdbclient.getSequenceRecords(pdbid = jmb.getPdbEntry( + pi) .getId()); } catch (OutOfMemoryError oomerror) { @@ -803,7 +787,7 @@ public class AppJmol extends GStructureViewer implements Runnable, // PDBEntry file = new File(((PDBEntry) pdbseq.getSequenceAt(0).getPDBId() .elementAt(0)).getFile()).getAbsolutePath(); - jmb.pdbentry[pi].setFile(file); + jmb.getPdbEntry(pi).setFile(file); files.append(" \"" + Platform.escapeString(file) + "\""); } @@ -898,7 +882,7 @@ public class AppJmol extends GStructureViewer implements Runnable, // need to wait around until script has finished while (addingStructures ? lastnotify >= jmb.getLoadNotifiesHandled() : (jmb.isFinishedInit() && jmb.getPdbFile() != null && jmb - .getPdbFile().length != jmb.pdbentry.length)) + .getPdbFile().length != jmb.getPdbCount())) { try { @@ -977,9 +961,9 @@ public class AppJmol extends GStructureViewer implements Runnable, jalview.gui.CutAndPasteTransfer cap = new jalview.gui.CutAndPasteTransfer(); try { - for (int pdbe = 0; pdbe < jmb.pdbentry.length; pdbe++) + for (int pdbe = 0; pdbe < jmb.getPdbCount(); pdbe++) { - cap.appendText(jmb.printMapping(jmb.pdbentry[pdbe].getFile())); + cap.appendText(jmb.printMapping(jmb.getPdbEntry(pdbe).getFile())); cap.appendText("\n"); } } catch (OutOfMemoryError e) @@ -1232,15 +1216,15 @@ public class AppJmol extends GStructureViewer implements Runnable, + "...", 20, currentSize.height / 2); StringBuffer sb = new StringBuffer(); int lines = 0; - for (int e = 0; e < jmb.pdbentry.length; e++) + for (int e = 0; e < jmb.getPdbCount(); e++) { - sb.append(jmb.pdbentry[e].getId()); - if (e < jmb.pdbentry.length - 1) + sb.append(jmb.getPdbEntry(e).getId()); + if (e < jmb.getPdbCount() - 1) { sb.append(","); } - if (e == jmb.pdbentry.length - 1 || sb.length() > 20) + if (e == jmb.getPdbCount() - 1 || sb.length() > 20) { lines++; g.drawString(sb.toString(), 20, currentSize.height / 2 - lines @@ -1264,17 +1248,6 @@ public class AppJmol extends GStructureViewer implements Runnable, } } - String viewId = null; - - public String getViewId() - { - if (viewId == null) - { - viewId = System.currentTimeMillis() + "." + this.hashCode(); - } - return viewId; - } - public void updateTitleAndMenus() { if (jmb.fileLoadingError != null && jmb.fileLoadingError.length() > 0) @@ -1285,7 +1258,7 @@ public class AppJmol extends GStructureViewer implements Runnable, setChainMenuItems(jmb.chainNames); this.setTitle(jmb.getViewerTitle()); - if (jmb.getPdbFile().length > 1 && jmb.sequence.length > 1) + if (jmb.getPdbFile().length > 1 && jmb.getSequence().length > 1) { viewerActionMenu.setVisible(true); } @@ -1393,39 +1366,16 @@ public class AppJmol extends GStructureViewer implements Runnable, return ap; } - /** - * - * @param ap2 - * @return true if this Jmol instance is linked with the given alignPanel - */ - public boolean isLinkedWith(AlignmentPanel ap2) - { - return _aps.contains(ap2.av.getSequenceSetId()); - } - - public boolean isUsedforaligment(AlignmentPanel ap2) - { - - return (_alignwith != null) && _alignwith.contains(ap2); - } - - public boolean isUsedforcolourby(AlignmentPanel ap2) - { - return (_colourwith != null) && _colourwith.contains(ap2); - } - - /** - * - * @return TRUE if the view is NOT being coloured by sequence associations. - */ - public boolean isColouredByJmol() + @Override + public AAStructureBindingModel getBinding() { - return !jmb.isColourBySequence(); + return this.jmb; } - public JalviewJmolBinding getBinding() + @Override + public String getStateInfo() { - return jmb; + return jmb == null ? null : jmb.viewer.getStateInfo(); } }