*/
package jalview.ext.jmol;
+import java.awt.Color;
import java.awt.Container;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import org.jmol.c.CBK;
import org.jmol.viewer.Viewer;
+import jalview.api.AlignmentViewPanel;
import jalview.api.FeatureRenderer;
+import jalview.api.FeatureSettingsModelI;
+import jalview.api.SequenceRenderer;
import jalview.bin.Cache;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.SequenceI;
+import jalview.gui.AppJmol;
import jalview.gui.IProgressIndicator;
import jalview.gui.StructureViewer.ViewerType;
import jalview.io.DataSourceType;
import jalview.structure.StructureCommandI;
import jalview.structure.StructureSelectionManager;
import jalview.structures.models.AAStructureBindingModel;
+import jalview.ws.dbsources.Pdb;
+import javajs.util.BS;
public abstract class JalviewJmolBinding extends AAStructureBindingModel
implements JmolStatusListener, JmolSelectionListener,
private String jmolScript(String script)
{
Cache.log.debug(">>Jmol>> " + script);
- String s = jmolViewer.evalStringQuiet(script);
+ String s = jmolViewer.evalStringQuiet(script); // scriptWait(script); BH
Cache.log.debug("<<Jmol<< " + s);
return s;
mset.add(filePath);
}
}
- modelFileNames = mset.toArray(new String[mset.size()]);
+ if (!mset.isEmpty())
+ {
+ modelFileNames = mset.toArray(new String[mset.size()]);
+ }
}
return modelFileNames;
modelFileNames = null;
boolean notifyLoaded = false;
String[] modelfilenames = getStructureFiles();
+ if (modelfilenames == null)
+ {
+ // Jmol is still loading files!
+ return;
+ }
// first check if we've lost any structures
if (oldmodels != null && oldmodels.length > 0)
{
FeatureRenderer fr = getFeatureRenderer(null);
if (fr != null)
{
+ // JAL-1842 ensure FeatureRenderer knows about RESNUM
fr.featuresAdded();
+ // ... apply feature settings (e.g. to hide RESNUM)
+ FeatureSettingsModelI colours = new Pdb().getFeatureColourScheme();
+ ((AppJmol) getViewer()).getAlignmentPanel().av
+ .applyFeaturesStyle(colours);
}
refreshGUI();
loadNotifiesHandled++;
{
return ".spt";
}
+
+ @Override
+ public void selectionChanged(BS arg0)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public SequenceRenderer getSequenceRenderer(AlignmentViewPanel avp)
+ {
+ return new jalview.gui.SequenceRenderer(avp.getAlignViewport());
+ }
+
+ @Override
+ public String getHelpURL()
+ {
+ return "http://wiki.jmol.org"; // BH 2018
+ }
}