+ if (aps.size()==0)
+ {
+ return null;
+ }
+ AlignmentPanel[] vap = new AlignmentPanel[aps.size()];
+ for (int t=0;t<vap.length;t++)
+ {
+ vap[t] = (AlignmentPanel) aps.get(t);
+ }
+ return vap;
+ }
+ /**
+ * get all the viewports on an alignment.
+ * @param sequenceSetId unique alignment id
+ * @return all viewports on the alignment bound to sequenceSetId
+ */
+ public static AlignViewport[] getViewports(String sequenceSetId)
+ {
+ Vector viewp = new Vector();
+ if (desktop != null)
+ {
+ javax.swing.JInternalFrame[] frames = instance.getAllFrames();
+
+ for (int t = 0; t < frames.length; t++)
+ {
+ if (frames[t] instanceof AlignFrame)
+ {
+ AlignFrame afr = ((AlignFrame) frames[t]);
+ if (afr.getViewport().getSequenceSetId()
+ .equals(sequenceSetId))
+ {
+ if (afr.alignPanels!=null)
+ {
+ for (int a = 0; a < afr.alignPanels.size(); a++)
+ {
+ if (sequenceSetId
+ .equals(((AlignmentPanel) afr.alignPanels.elementAt(a)).av
+ .getSequenceSetId()))
+ {
+ viewp.addElement(((AlignmentPanel)afr.alignPanels.elementAt(a)).av);
+ }
+ }
+ } else {
+ viewp.addElement(((AlignFrame) frames[t]).getViewport());
+ }
+ }
+ }
+ }
+ if (viewp.size() > 0)
+ {
+ AlignViewport[] vp = new AlignViewport[viewp.size()];
+ viewp.copyInto(vp);
+ return vp;
+ }
+ }
+ return null;