X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FStructureViewerBase.java;h=ff615c80648e8cf7a7d100406d9d05c64b0df15c;hb=b8ee563aafbad9f5a0812cd1f5588ee8e9055570;hp=6ebbf89425d532d017d9159a0fa05ac43f66ce7a;hpb=3537686af2126e6804e35678db0c220c43cf738c;p=jalview.git diff --git a/src/jalview/gui/StructureViewerBase.java b/src/jalview/gui/StructureViewerBase.java index 6ebbf89..ff615c8 100644 --- a/src/jalview/gui/StructureViewerBase.java +++ b/src/jalview/gui/StructureViewerBase.java @@ -47,6 +47,7 @@ import javax.swing.event.MenuEvent; import javax.swing.event.MenuListener; import jalview.api.AlignmentViewPanel; +import jalview.api.structures.JalviewStructureDisplayI; import jalview.bin.Cache; import jalview.bin.Console; import jalview.datamodel.AlignmentI; @@ -87,12 +88,20 @@ public abstract class StructureViewerBase extends GStructureViewer BySequence, ByChain, ChargeCysteine, ByViewer } - private static List svbs = new ArrayList<>(); + /** + * Singleton list of all (open) instances of structureViewerBase + * TODO: JAL-3362 - review and adopt the swingJS-safe singleton pattern so each structure viewer base instance is kept to its own JalviewJS parent + */ + private static List svbs = new ArrayList<>(); - public static List getAllStructureViewerBases() + /** + * + * @return list with all existing StructureViewers instance + */ + public static List getAllStructureViewerBases() { - List goodSvbs = new ArrayList<>(); - for (StructureViewerBase s : svbs) + List goodSvbs = new ArrayList<>(); + for (JalviewStructureDisplayI s : svbs) { if (s != null && !goodSvbs.contains(s)) { @@ -196,6 +205,7 @@ public abstract class StructureViewerBase extends GStructureViewer return _aps.contains(ap2.av.getSequenceSetId()); } + @Override public boolean isUsedforaligment(AlignmentViewPanel ap2) {