package jalview.structures.models;
import jalview.api.AlignmentViewPanel;
+import jalview.api.FeatureRenderer;
import jalview.api.SequenceRenderer;
import jalview.api.StructureSelectionManagerProvider;
import jalview.api.structures.JalviewStructureDisplayI;
extends SequenceStructureBindingModel
implements StructureListener, StructureSelectionManagerProvider
{
+ /*
+ * the Jalview panel through which the user interacts
+ * with the structure viewer
+ */
+ private JalviewStructureDisplayI viewer;
private StructureSelectionManager ssm;
{ Integer.valueOf(pe).toString() }));
}
final String nullChain = "TheNullChain";
- List<SequenceI> s = new ArrayList<SequenceI>();
- List<String> c = new ArrayList<String>();
+ List<SequenceI> s = new ArrayList<>();
+ List<String> c = new ArrayList<>();
if (getChains() == null)
{
setChains(new String[getPdbCount()][]);
public synchronized PDBEntry[] addSequenceAndChain(PDBEntry[] pdbe,
SequenceI[][] seq, String[][] chns)
{
- List<PDBEntry> v = new ArrayList<PDBEntry>();
- List<int[]> rtn = new ArrayList<int[]>();
+ List<PDBEntry> v = new ArrayList<>();
+ List<int[]> rtn = new ArrayList<>();
for (int i = 0; i < getPdbCount(); i++)
{
v.add(getPdbEntry(i));
*/
public JalviewStructureDisplayI getViewer()
{
- return null;
+ return viewer;
+ }
+
+ public void setViewer(JalviewStructureDisplayI v)
+ {
+ viewer = v;
}
public abstract void setJalviewColourScheme(ColourSchemeI cs);
return fileLoadingError != null && fileLoadingError.length() > 0;
}
- public abstract jalview.api.FeatureRenderer getFeatureRenderer(
- AlignmentViewPanel alignment);
+ /**
+ * Returns the FeatureRenderer for the given alignment view, or null if
+ * feature display is turned off in the view.
+ *
+ * @param avp
+ * @return
+ */
+ public FeatureRenderer getFeatureRenderer(AlignmentViewPanel avp)
+ {
+ AlignmentViewPanel ap = (avp == null) ? getViewer().getAlignmentPanel()
+ : avp;
+ return ap.getAlignViewport().isShowSequenceFeatures()
+ ? ap.getFeatureRenderer()
+ : null;
+ }
}