+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void saveState_actionPerformed(ActionEvent e)\r
+ {\r
+ JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache.getProperty(\r
+ "LAST_DIRECTORY"), new String[] { "jar" },\r
+ new String[] { "Jalview Project" }, "Jalview Project");\r
+\r
+ chooser.setFileView(new JalviewFileView());\r
+ chooser.setDialogTitle("Save State");\r
+\r
+ int value = chooser.showSaveDialog(this);\r
+\r
+ if (value == JalviewFileChooser.APPROVE_OPTION)\r
+ {\r
+ java.io.File choice = chooser.getSelectedFile();\r
+ jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice.getParent());\r
+ new Jalview2XML().SaveState(choice);\r
+ }\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void loadState_actionPerformed(ActionEvent e)\r
+ {\r
+ JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache.getProperty(\r
+ "LAST_DIRECTORY"), new String[] { "jar" },\r
+ new String[] { "Jalview Project" }, "Jalview Project");\r
+ chooser.setFileView(new JalviewFileView());\r
+ chooser.setDialogTitle("Restore state");\r
+\r
+ int value = chooser.showOpenDialog(this);\r
+\r
+ if (value == JalviewFileChooser.APPROVE_OPTION)\r
+ {\r
+ String choice = chooser.getSelectedFile().getAbsolutePath();\r
+ jalview.bin.Cache.setProperty("LAST_DIRECTORY",\r
+ chooser.getSelectedFile().getParent());\r
+ new Jalview2XML().LoadJalviewAlign(choice);\r
+ }\r
+ }\r
+\r
+ /* public void vamsasLoad_actionPerformed(ActionEvent e)\r
+ {\r
+ JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache.\r
+ getProperty("LAST_DIRECTORY"));\r
+\r
+ chooser.setFileView(new JalviewFileView());\r
+ chooser.setDialogTitle("Load Vamsas file");\r
+ chooser.setToolTipText("Import");\r
+\r
+ int value = chooser.showOpenDialog(this);\r
+\r
+ if (value == JalviewFileChooser.APPROVE_OPTION)\r
+ {\r
+ jalview.io.VamsasDatastore vs = new jalview.io.VamsasDatastore(null);\r
+ vs.load(\r
+ chooser.getSelectedFile().getAbsolutePath()\r
+ );\r
+ }\r
+\r
+ }*/\r
+\r
+\r
+ public void inputSequence_actionPerformed(ActionEvent e)\r
+ {\r
+ new SequenceFetcher(null);\r
+ }\r
+\r
+ JPanel progressPanel;\r
+\r
+ public void startLoading(final String fileName)\r
+ {\r
+ if (fileLoadingCount == 0)\r
+ {\r
+ progressPanel = new JPanel(new BorderLayout());\r
+ JProgressBar progressBar = new JProgressBar();\r
+ progressBar.setIndeterminate(true);\r
+\r
+ progressPanel.add(new JLabel("Loading File: " + fileName + " "),\r
+ BorderLayout.WEST);\r
+\r
+ progressPanel.add(progressBar, BorderLayout.CENTER);\r
+\r
+ instance.getContentPane().add(progressPanel, BorderLayout.SOUTH);\r
+ }\r
+ fileLoadingCount++;\r
+ validate();\r
+ }\r
+\r
+ public void stopLoading()\r
+ {\r
+ fileLoadingCount--;\r
+ if (fileLoadingCount < 1)\r
+ {\r
+ if(progressPanel!=null)\r
+ {\r
+ this.getContentPane().remove(progressPanel);\r
+ progressPanel = null;\r
+ }\r
+ fileLoadingCount = 0;\r
+ }\r
+ validate();\r
+ }\r
+\r
+ public static int getViewCount(String viewId)\r
+ {\r
+ int count = 0;\r
+ JInternalFrame[] frames = Desktop.desktop.getAllFrames();\r
+ for (int t = 0; t < frames.length; t++)\r
+ {\r
+ if (frames[t] instanceof AlignFrame)\r
+ {\r
+ AlignFrame af = (AlignFrame) frames[t];\r
+ for(int a=0; a<af.alignPanels.size(); a++)\r
+ {\r
+ if(viewId.equals(\r
+ ((AlignmentPanel)af.alignPanels.elementAt(a)).av.getSequenceSetId() )\r
+ )\r
+ count ++;\r
+ }\r
+ }\r
+ }\r
+\r
+ return count;\r
+ }\r
+\r
+ public void explodeViews(AlignFrame af)\r
+ {\r
+ int size = af.alignPanels.size();\r
+ if(size<2)\r
+ return;\r
+ af.closeMenuItem_actionPerformed(null);\r
+\r
+ for(int i=0; i<size; i++)\r
+ {\r
+ AlignmentPanel ap = (AlignmentPanel)af.alignPanels.elementAt(i);\r
+ AlignFrame newaf = new AlignFrame(ap);\r
+ if(ap.av.explodedPosition!=null)\r
+ newaf.setBounds(ap.av.explodedPosition);\r
+\r
+ ap.av.gatherViewsHere = false;\r
+\r
+ PaintRefresher.Register(ap.seqPanel.seqCanvas, ap.av.getSequenceSetId());\r
+ PaintRefresher.Register(ap.idPanel.idCanvas, ap.av.getSequenceSetId());\r
+ PaintRefresher.Register(ap, ap.av.getSequenceSetId());\r
+\r
+\r
+ newaf.viewport = ap.av;\r
+ addInternalFrame(newaf, af.getTitle(),\r
+ AlignFrame.DEFAULT_WIDTH,\r
+ AlignFrame.DEFAULT_HEIGHT);\r
+ }\r
+\r
+ }\r
+\r
+ public void gatherViews(AlignFrame source)\r
+ {\r
+ source.viewport.gatherViewsHere = true;\r
+ source.viewport.explodedPosition = source.getBounds();\r
+ JInternalFrame[] frames = Desktop.desktop.getAllFrames();\r
+ String viewId = source.viewport.sequenceSetID;\r
+\r
+ for (int t = 0; t < frames.length; t++)\r
+ {\r
+ if (frames[t] instanceof AlignFrame && frames[t] != source)\r
+ {\r
+ AlignFrame af = (AlignFrame) frames[t];\r
+ boolean gatherThis = false;\r
+ for (int a = 0; a < af.alignPanels.size(); a++)\r
+ {\r
+ AlignmentPanel ap = (AlignmentPanel) af.alignPanels.elementAt(a);\r
+ if (viewId.equals(ap.av.getSequenceSetId()))\r
+ {\r
+ gatherThis = true;\r
+ ap.av.gatherViewsHere = false;\r
+ ap.av.explodedPosition = af.getBounds();\r
+ source.addAlignmentPanel(ap);\r
+ }\r
+ }\r
+ if (gatherThis)\r
+ af.closeMenuItem_actionPerformed(null);\r
+ }\r
+ }\r
+\r
+ }\r
+\r
+\r
+}\r