X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=132417367797b071225e5d2c02bc9797a2b179d1;hb=8004878db16757b62ee2c35738506bc4509428cf;hp=ca9903c49c0fbfe2945dbcf2827ffc4e50c2b0c0;hpb=2b9c6a8948800edf58dd055631920654729fd675;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index ca9903c..1324173 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -32,7 +32,6 @@ public class AlignFrame extends GAlignFrame final AlignViewport viewport; public AlignFrame(AlignmentI al) { - super(); viewport = new AlignViewport(al,true,true,false); String fontName = jalview.bin.Cache.getProperty("FONT_NAME"); @@ -42,10 +41,18 @@ public class AlignFrame extends GAlignFrame viewport.setFont( new Font(fontName,Integer.parseInt(fontStyle),Integer.parseInt(fontSize)) ); - alignPanel = new AlignmentPanel(this, viewport); getContentPane().add(alignPanel, java.awt.BorderLayout.CENTER); + // add conservation graph to alignment + viewport.updateConservation(); + viewport.updateConsensus(); + + alignPanel.annotationPanel.adjustPanelHeight(); + alignPanel.annotationSpaceFillerHolder.setPreferredSize(alignPanel.annotationPanel.getPreferredSize()); + alignPanel.annotationScroller.setPreferredSize(alignPanel.annotationPanel.getPreferredSize()); + + addInternalFrameListener(new InternalFrameAdapter() { public void internalFrameActivated(InternalFrameEvent evt) @@ -63,22 +70,29 @@ public class AlignFrame extends GAlignFrame protected void saveAs_actionPerformed(ActionEvent e) { - String suffix = ""; + String suffix [] = null; if(e.getActionCommand().equals("FASTA")) - suffix = "fa"; + suffix = new String[]{"fa", "fasta"}; else if(e.getActionCommand().equals("MSF")) - suffix = "msf"; + suffix = new String[]{"msf"}; else if(e.getActionCommand().equals("CLUSTAL")) - suffix = "aln"; + suffix = new String[]{"aln"}; else if(e.getActionCommand().equals("BLC")) - suffix = "blc"; + suffix = new String[]{"blc"}; else if(e.getActionCommand().equals("PIR")) - suffix = "pir"; + suffix = new String[]{"pir"}; else if(e.getActionCommand().equals("PFAM")) - suffix = "pfam"; + suffix = new String[]{"pfam"}; + + if(e.getActionCommand().equals("XML DUMP")) + { + XMLStore store = new XMLStore(); + store.store(viewport); + return; + } JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache.getProperty("LAST_DIRECTORY") - , new String[]{suffix}, e.getActionCommand()+" file"); + , suffix, e.getActionCommand()+" file"); chooser.setFileView(new JalviewFileView()); chooser.setDialogTitle("Save Alignment to file - "+e.getActionCommand() +" format."); chooser.setToolTipText("Save"); @@ -228,6 +242,8 @@ public class AlignFrame extends GAlignFrame seq = (SequenceI[]) history[1]; viewport.setAlignment( new Alignment(seq) ); updateEditMenuBar(); + viewport.updateConsensus(); + alignPanel.RefreshPanels(); alignPanel.RefreshPanels(); } @@ -340,12 +356,14 @@ public class AlignFrame extends GAlignFrame int newHeight = newSeqs.length * af.viewport.getCharHeight() + 200; if (newHeight > 500) newHeight = 500; - Desktop.addInternalFrame(af, "Copied sequences", 700, newHeight); + Desktop.addInternalFrame(af, "Copied sequences", 700, 500); } else { viewport.setEndSeq(viewport.alignment.getHeight()); viewport.alignment.getWidth(); + viewport.updateConservation(); + viewport.updateConsensus(); alignPanel.RefreshPanels(); } @@ -387,6 +405,8 @@ public class AlignFrame extends GAlignFrame { this.setClosed(true); }catch(Exception ex){} + viewport.updateConservation(); + viewport.updateConsensus(); alignPanel.RefreshPanels(); } @@ -399,6 +419,8 @@ public class AlignFrame extends GAlignFrame SequenceI[] seq = (SequenceI[]) history[1]; viewport.setAlignment( new Alignment(seq) ); updateEditMenuBar(); + viewport.updateConsensus(); + alignPanel.RefreshPanels(); alignPanel.RefreshPanels(); } @@ -463,6 +485,18 @@ public class AlignFrame extends GAlignFrame int min = colSel.getMin(); viewport.getAlignment().trimLeft(min); colSel.compensateForEdit(0,min); + + if(viewport.getSelectionGroup()!=null) + viewport.getSelectionGroup().adjustForRemoveLeft(min); + + Vector groups = viewport.alignment.getGroups(); + for(int i=0; i 0) { int max = colSel.getMax(); - if(max>1) - viewport.getAlignment().trimRight(max); + viewport.getAlignment().trimRight(max); + if(viewport.getSelectionGroup()!=null) + viewport.getSelectionGroup().adjustForRemoveRight(max); + + Vector groups = viewport.alignment.getGroups(); + for(int i=0; i0) + { + // JBPNote UGLY! To prettify, make SequenceGroup and Alignment conform to some common interface! + SequenceGroup seqs = viewport.getSelectionGroup(); + if (seqs.getSize() == 1 || !viewport.alignment.isAligned()) + { + JPredClient ct = new JPredClient( (SequenceI) + seqs.getSequenceAt(0)); + } + else + { + int sz; + SequenceI[] msa = new SequenceI[sz=seqs.getSize()]; + for (int i = 0; i < sz; i++) + { + msa[i] = (SequenceI) seqs.getSequenceAt(i); + } + + JPredClient ct = new JPredClient(msa); + } + + } + else { - // JInternalFrame frame = new JInternalFrame(); -// JPredClient ct = new JPredClient((SequenceI) - /// viewport.getAlignment().getSequences().elementAt(0)); + Vector seqs = viewport.getAlignment().getSequences(); + + if (seqs.size() == 1 || !viewport.alignment.isAligned()) + { + JPredClient ct = new JPredClient( (SequenceI) + seqs.elementAt(0)); + } + else + { + SequenceI[] msa = new SequenceI[seqs.size()]; + for (int i = 0; i < seqs.size(); i++) + { + msa[i] = (SequenceI) seqs.elementAt(i); + } + + JPredClient ct = new JPredClient(msa); + } + } + } -*/}} - protected void LoadtreeMenuItem_actionPerformed(ActionEvent e) { + protected void LoadtreeMenuItem_actionPerformed(ActionEvent e) { // Pick the tree file JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache. getProperty("LAST_DIRECTORY"));