X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fstructures%2Fmodels%2FAAStructureBindingModel.java;h=b4e9dd2da75f08c0ff26b0d4d655c7714b7581c5;hb=f2511dd2e8e37b8e999e924f8a53d150377b21b5;hp=252828601a738b6ebe153b142f60d438cf2b3e7c;hpb=e739c2824d4d6a93c3e0f255780259c7daf2dc21;p=jalview.git diff --git a/src/jalview/structures/models/AAStructureBindingModel.java b/src/jalview/structures/models/AAStructureBindingModel.java index 2528286..b4e9dd2 100644 --- a/src/jalview/structures/models/AAStructureBindingModel.java +++ b/src/jalview/structures/models/AAStructureBindingModel.java @@ -21,6 +21,7 @@ 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; @@ -57,6 +58,11 @@ public abstract class AAStructureBindingModel extends SequenceStructureBindingModel implements StructureListener, StructureSelectionManagerProvider { + /* + * the Jalview panel through which the user interacts + * with the structure viewer + */ + private JalviewStructureDisplayI viewer; private StructureSelectionManager ssm; @@ -355,8 +361,8 @@ public abstract class AAStructureBindingModel { Integer.valueOf(pe).toString() })); } final String nullChain = "TheNullChain"; - List s = new ArrayList(); - List c = new ArrayList(); + List s = new ArrayList<>(); + List c = new ArrayList<>(); if (getChains() == null) { setChains(new String[getPdbCount()][]); @@ -425,8 +431,8 @@ public abstract class AAStructureBindingModel public synchronized PDBEntry[] addSequenceAndChain(PDBEntry[] pdbe, SequenceI[][] seq, String[][] chns) { - List v = new ArrayList(); - List rtn = new ArrayList(); + List v = new ArrayList<>(); + List rtn = new ArrayList<>(); for (int i = 0; i < getPdbCount(); i++) { v.add(getPdbEntry(i)); @@ -745,7 +751,12 @@ public abstract class AAStructureBindingModel */ public JalviewStructureDisplayI getViewer() { - return null; + return viewer; + } + + public void setViewer(JalviewStructureDisplayI v) + { + viewer = v; } public abstract void setJalviewColourScheme(ColourSchemeI cs); @@ -821,6 +832,19 @@ public abstract class AAStructureBindingModel 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; + } }