*/
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;
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;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.PrintWriter;
-import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Vector;
import javax.swing.event.MenuListener;
public class AppJmol extends GStructureViewer implements Runnable,
- ViewSetProvider, JalviewStructureDisplayI
+ ViewSetProvider
{
AppJmolBinding jmb;
}
this.setBounds(bounds);
initMenus();
- viewId = viewid;
+ setViewId(viewid);
// jalview.gui.Desktop.addInternalFrame(this, "Loading File",
// bounds.width,bounds.height);
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);
openNewJmol(ap, pe, seqs);
}
- /**
- * list of sequenceSet ids associated with the view
- */
- ArrayList<String> _aps = new ArrayList();
-
public AlignmentPanel[] getAllAlignmentPanels()
{
AlignmentPanel[] t, list = new AlignmentPanel[0];
}
/**
- * list of alignment panels to use for superposition
- */
- Vector<AlignmentPanel> _alignwith = new Vector<AlignmentPanel>();
-
- /**
- * list of alignment panels that are used for colouring structures by aligned
- * sequences
- */
- Vector<AlignmentPanel> _colourwith = new Vector<AlignmentPanel>();
-
- /**
* set the primary alignmentPanel reference and add another alignPanel to the
* list of ones to use for colouring and aligning
*
{
if (frame instanceof AppJmol)
{
- if (((AppJmol) frame).isLinkedWith(apanel))
+ if (((GStructureViewer) frame).isLinkedWith(apanel))
{
result.addElement(frame);
}
// 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)
{
}
try
{
- pdbseq = pdbclient.getSequenceRecords(pdbid = jmb.pdbentry[pi]
+ pdbseq = pdbclient.getSequenceRecords(pdbid = jmb.getPdbEntry(
+ pi)
.getId());
} catch (OutOfMemoryError oomerror)
{
// 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) + "\"");
}
// 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
{
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)
+ "...", 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
}
}
- 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)
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);
}
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();
}
}