- String setid = "";
- String viewid = "";
- AlignFrame src = _af;
- // filter events if necessary
- if (source instanceof AlignViewport)
- {
- if (_af != null
- && !_af.alignPanel.av.getSequenceSetId().equals(
- ((AlignViewport) source).getSequenceSetId()))
- {
- return;
- }
- jalview.appletgui.AlignmentPanel[] aps = jalview.appletgui.PaintRefresher
- .getAssociatedPanels(setid = ((AlignViewport) source)
- .getSequenceSetId());
- for (int a = 0; a < aps.length; a++)
- {
- System.out.println("Selection: testing source alignPanel : "
- + aps[a].getName());
- if (aps[a].av == source)
- {
- src = aps[a].alignFrame;
- }
- }
- }
- else
- {
- // unhandled!
- System.err.println("Unhandled selection source !");
- return;
- }
- String[] seqs = new String[]
- {};
- String[] cols = new String[]
- {};
- int strt = 0, end = (src == null) ? -1 : src.alignPanel.av
- .getAlignment().getWidth();
- if (seqsel != null && seqsel.getSize() > 0)
- {
- seqs = new String[seqsel.getSize()];
- for (int i = 0; i < seqs.length; i++)
- {
- seqs[i] = seqsel.getSequenceAt(i).getName();
- }
- if (strt < seqsel.getStartRes())
- {
- strt = seqsel.getStartRes();
- }
- if (end==-1 || end > seqsel.getEndRes())
- {
- end = seqsel.getEndRes();
- }
- }
- if (colsel != null && colsel.size() > 0)
- {
- if (end == -1)
- {
- end = colsel.getMax() + 1;
- }
- cols = new String[colsel.getSelected().size()];
- int d = 0, r = -1;
- for (int i = 0; i < cols.length; i++)
- {
- cols[i] = ""
- + (1 + ((Integer) colsel.getSelected().elementAt(i))
- .intValue());
- }
- }
- else
- {
- if (seqsel != null && seqsel.getSize() > 0)
- {
- // send a valid range, otherwise we send the empty selection
- cols = new String[2];
- cols[0] = "" + (1 + strt) + "-" + (1 + end);
- }
- ;