- Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();
- Transferable contents = c.getContents(this);
+ // The clipboard was filled from within Jalview, we must use the
+ // sequences
+ // And dataset from the copied alignment
+ SequenceI[] newseq = (SequenceI[]) Desktop.jalviewClipboard[0];
+ // be doubly sure that we create *new* sequence objects.
+ SequenceI[] sequences = new SequenceI[newseq.length];
+ for (int i = 0; i < newseq.length; i++)
+ {
+ sequences[i] = new Sequence(newseq[i]);
+ }
+ Alignment alignment = new Alignment(sequences);
+ // dataset is inherited
+ alignment.setDataset((Alignment) Desktop.jalviewClipboard[1]);
+ AlignFrame af = new AlignFrame(alignment, AlignFrame.DEFAULT_WIDTH,
+ AlignFrame.DEFAULT_HEIGHT);
+ String newtitle = new String("Copied sequences");
+
+ if (Desktop.jalviewClipboard[2] != null)
+ {
+ HiddenColumns hc = (HiddenColumns) Desktop.jalviewClipboard[2];
+ af.viewport.setHiddenColumns(hc);
+ }