X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=725a702da877fce68aab0c669e68abaa7f32be87;hb=67fe33692d163752fd467468b18ace4a9b4eac7d;hp=3625e45bdec6b0804eecae3b1da5e84a73b01420;hpb=c295dd6ec0487b99ee6b7625fcab12c3d72028f0;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 3625e45..725a702 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -32,37 +32,20 @@ public class AlignFrame extends GAlignFrame final AlignViewport viewport; public static final int NEW_WINDOW_WIDTH = 700; public static final int NEW_WINDOW_HEIGHT = 500; + public String currentFileFormat = "Jalview"; public AlignFrame(AlignmentI al) { - try{ - String ip = java.net.InetAddress.getLocalHost().getHostAddress(); - if( !ip.startsWith("10.")) - alignMenu.setVisible(false); - } - catch(java.net.UnknownHostException e){} - viewport = new AlignViewport(al,true,true,false); - - String fontName = jalview.bin.Cache.getProperty("FONT_NAME"); - String fontStyle= jalview.bin.Cache.getProperty("FONT_STYLE"); - String fontSize = jalview.bin.Cache.getProperty("FONT_SIZE"); - if(fontName!=null && fontStyle!=null && fontSize!=null) - viewport.setFont( new Font(fontName,Integer.parseInt(fontStyle),Integer.parseInt(fontSize)) ); - - // add conservation graph to alignment - viewport.updateConservation(); - viewport.updateConsensus(); - + viewport = new AlignViewport(al); alignPanel = new AlignmentPanel(this, viewport); - alignPanel.annotationPanel.adjustPanelHeight(); alignPanel.annotationSpaceFillerHolder.setPreferredSize(alignPanel.annotationPanel.getPreferredSize()); alignPanel.annotationScroller.setPreferredSize(alignPanel.annotationPanel.getPreferredSize()); + alignPanel.setAnnotationVisible( viewport.getShowAnnotation() ); getContentPane().add(alignPanel, java.awt.BorderLayout.CENTER); - addInternalFrameListener(new InternalFrameAdapter() { public void internalFrameActivated(InternalFrameEvent evt) @@ -78,34 +61,36 @@ public class AlignFrame extends GAlignFrame } - protected void saveAs_actionPerformed(ActionEvent e) + public void saveAlignmentMenu_actionPerformed(ActionEvent e) { - String suffix [] = null; - if(e.getActionCommand().equals("FASTA")) - suffix = new String[]{"fa", "fasta"}; - else if(e.getActionCommand().equals("MSF")) - suffix = new String[]{"msf"}; - else if(e.getActionCommand().equals("CLUSTAL")) - suffix = new String[]{"aln"}; - else if(e.getActionCommand().equals("BLC")) - suffix = new String[]{"blc"}; - else if(e.getActionCommand().equals("PIR")) - suffix = new String[]{"pir"}; - else if(e.getActionCommand().equals("PFAM")) - suffix = new String[]{"pfam"}; - - JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache.getProperty("LAST_DIRECTORY") - , suffix, e.getActionCommand()+" file"); + , new String[]{"fa, fasta, fastq", "aln", "pfam", "msf", "pir","blc","jar"}, + new String[]{"Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "Jalview"}, + currentFileFormat); + + chooser.setAcceptAllFileFilterUsed(false); chooser.setFileView(new JalviewFileView()); - chooser.setDialogTitle("Save Alignment to file - "+e.getActionCommand() +" format."); + chooser.setDialogTitle("Save Alignment to file"); chooser.setToolTipText("Save"); int value = chooser.showSaveDialog(this); if(value == JalviewFileChooser.APPROVE_OPTION) { + currentFileFormat = chooser.getSelectedFormat(); + + if (currentFileFormat.equals("Jalview")) + { + String shortName = title.replace('/', '_'); + title = title.replace('\\', '_'); + String choice = chooser.getSelectedFile().getPath(); + Jalview2XML.SaveState(this, System.currentTimeMillis(), shortName, + choice); + // USE Jalview2XML to save this file + return; + } + String choice = chooser.getSelectedFile().getPath(); jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice); - String output = FormatAdapter.get(e.getActionCommand(), viewport.getAlignment().getSequences()); + String output = FormatAdapter.formatSequences(currentFileFormat, viewport.getAlignment().getSequences()); try{ java.io.PrintWriter out = new java.io.PrintWriter( new java.io.FileWriter( choice ) ); out.println(output); @@ -123,7 +108,7 @@ public class AlignFrame extends GAlignFrame cap.formatForOutput(); frame.setContentPane(cap); Desktop.addInternalFrame(frame, "Alignment output - "+e.getActionCommand(), 600, 500); - cap.setText( FormatAdapter.get(e.getActionCommand(), viewport.getAlignment().getSequences())); + cap.setText( FormatAdapter.formatSequences(e.getActionCommand(), viewport.getAlignment().getSequences())); } protected void htmlMenuItem_actionPerformed(ActionEvent e) @@ -184,7 +169,6 @@ public class AlignFrame extends GAlignFrame Stack historyList = new Stack(); Stack redoList = new Stack(); - JMenuBar jMenuBar1 = new JMenuBar(); void updateEditMenuBar() { @@ -217,6 +201,7 @@ public class AlignFrame extends GAlignFrame { // must make sure we add new sequence objects her, not refs to the existing sequences redoList.clear(); + SequenceI[] seq = new SequenceI[viewport.getAlignment().getHeight()]; for(int i=0; i1) + { + // JBPNote UGLY! To prettify, make SequenceGroup and Alignment conform to some common interface! + SequenceGroup seqs = viewport.getSelectionGroup(); + int sz; + SequenceI[] msa = new SequenceI[sz=seqs.getSize()]; + for (int i = 0; i < sz; i++) + { + msa[i] = (SequenceI) seqs.getSequenceAt(i); + } + + MsaWSClient ct = new jalview.ws.MsaWSClient(msa); + } + else + { + Vector seqs = viewport.getAlignment().getSequences(); + + if (seqs.size() > 1) { + SequenceI[] msa = new SequenceI[seqs.size()]; + for (int i = 0; i < seqs.size(); i++) + { + msa[i] = (SequenceI) seqs.elementAt(i); + } + + MsaWSClient ct = new MsaWSClient(msa); + } + + } + } protected void LoadtreeMenuItem_actionPerformed(ActionEvent e) { // Pick the tree file @@ -1202,20 +1221,10 @@ public class AlignFrame extends GAlignFrame { String choice = chooser.getSelectedFile().getPath(); jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice); - TreePanel treepanel = null; try { jalview.io.NewickFile fin = new jalview.io.NewickFile(choice, "File"); - fin.parse(); - - if (fin.getTree() != null) - { - TreePanel tp = null; - tp = new TreePanel(viewport, viewport.getAlignment().getSequences(), - fin, "FromFile", choice); - Desktop.addInternalFrame(tp, title, 600, 500); - addTreeMenuItem(tp, title); - } + ShowNewickTree(fin, choice); } catch (Exception ex) { @@ -1228,4 +1237,21 @@ public class AlignFrame extends GAlignFrame } } + public void ShowNewickTree(NewickFile nf, String title) + { + try{ + nf.parse(); + if (nf.getTree() != null) + { + TreePanel tp = new TreePanel(viewport, + viewport.getAlignment().getSequences(), + nf, "FromFile", title); + Desktop.addInternalFrame(tp, title, 600, 500); + addTreeMenuItem(tp, title); + viewport.setCurrentTree(tp.getTree()); + } + }catch(Exception ex){ex.printStackTrace();} + } + + }