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;
BySequence, ByChain, ChargeCysteine, ByViewer
}
- private static List<StructureViewerBase> 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<JalviewStructureDisplayI> svbs = new ArrayList<>();
- public static List<StructureViewerBase> getAllStructureViewerBases()
+ /**
+ *
+ * @return list with all existing StructureViewers instance
+ */
+ public static List<JalviewStructureDisplayI> getAllStructureViewerBases()
{
- List<StructureViewerBase> goodSvbs = new ArrayList<>();
- for (StructureViewerBase s : svbs)
+ List<JalviewStructureDisplayI> goodSvbs = new ArrayList<>();
+ for (JalviewStructureDisplayI s : svbs)
{
if (s != null && !goodSvbs.contains(s))
{
return _aps.contains(ap2.av.getSequenceSetId());
}
+ @Override
public boolean isUsedforaligment(AlignmentViewPanel ap2)
{