X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FDesktop.java;h=007fefd6ab2694ae1962b44770a5a68c56b299bb;hb=cca50cb3aee94f3ed1a5e504d45b8d8b665f8c5b;hp=e65bffad20bb469c51c6178edb73b508125846f4;hpb=04e9ac268a61d1cef5c65827942a2ec4b92f3814;p=jalview.git diff --git a/src/jalview/gui/Desktop.java b/src/jalview/gui/Desktop.java index e65bffa..007fefd 100644 --- a/src/jalview/gui/Desktop.java +++ b/src/jalview/gui/Desktop.java @@ -26,6 +26,8 @@ import jalview.io.FormatAdapter; import jalview.io.IdentifyFile; import jalview.io.JalviewFileChooser; import jalview.io.JalviewFileView; +import jalview.structure.StructureSelectionManager; +import jalview.util.ImageMaker; import jalview.util.MessageManager; import jalview.ws.params.ParamManager; @@ -88,9 +90,9 @@ import javax.swing.JPopupMenu; import javax.swing.JProgressBar; import javax.swing.SwingUtilities; import javax.swing.event.HyperlinkEvent; +import javax.swing.event.HyperlinkEvent.EventType; import javax.swing.event.MenuEvent; import javax.swing.event.MenuListener; -import javax.swing.event.HyperlinkEvent.EventType; /** * Jalview Desktop @@ -285,7 +287,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements instance = this; doVamsasClientCheck(); doGroovyCheck(); - + doConfigureStructurePrefs(); setTitle("Jalview " + jalview.bin.Cache.getProperty("VERSION")); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); boolean selmemusage = jalview.bin.Cache.getDefault("SHOW_MEMUSAGE", @@ -316,13 +318,16 @@ public class Desktop extends jalview.jbgui.GDesktop implements else { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); - setBounds((int) (screenSize.width - 900) / 2, - (int) (screenSize.height - 650) / 2, 900, 650); + setBounds((screenSize.width - 900) / 2, + (screenSize.height - 650) / 2, 900, 650); } jconsole = new Console(this, showjconsole); // add essential build information - jconsole.setHeader("Jalview Desktop " + jconsole.setHeader("Jalview Version: " + jalview.bin.Cache.getProperty("VERSION") + "\n" + + "Jalview Installation: " + + jalview.bin.Cache.getDefault("INSTALLATION", "unknown") + + "\n" + "Build Date: " + jalview.bin.Cache.getDefault("BUILD_DATE", "unknown") + "\n" + "Java version: " + System.getProperty("java.version") + "\n" @@ -415,6 +420,27 @@ public class Desktop extends jalview.jbgui.GDesktop implements }); } + public void doConfigureStructurePrefs() + { + // configure services + StructureSelectionManager ssm = StructureSelectionManager + .getStructureSelectionManager(this); + if (jalview.bin.Cache.getDefault(Preferences.ADD_SS_ANN, true)) + { + ssm.setAddTempFacAnnot(jalview.bin.Cache.getDefault( + Preferences.ADD_TEMPFACT_ANN, true)); + ssm.setProcessSecondaryStructure(jalview.bin.Cache.getDefault(Preferences.STRUCT_FROM_PDB, true)); + ssm.setSecStructServices(jalview.bin.Cache.getDefault(Preferences.USE_RNAVIEW, + true)); + } + else + { + ssm.setAddTempFacAnnot(false); + ssm.setProcessSecondaryStructure(false); + ssm.setSecStructServices(false); + } + } + public void checkForNews() { final Desktop me = this; @@ -451,7 +477,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements public void run() { long instance = System.currentTimeMillis(); - Desktop.instance.setProgressBar("Refreshing news", instance); + Desktop.instance.setProgressBar(MessageManager.getString("status.refreshing_news"), instance); jvnews.refreshNews(); Desktop.instance.setProgressBar(null, instance); jvnews.showNews(); @@ -1011,7 +1037,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements if (format.equals("URL NOT FOUND")) { JOptionPane.showInternalMessageDialog(Desktop.desktop, - "Couldn't locate " + url, "URL not found", + MessageManager.formatMessage("label.couldnt_locate", new String[]{url}), MessageManager.getString("label.url_not_found"), JOptionPane.WARNING_MESSAGE); return; @@ -1038,7 +1064,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements { CutAndPasteTransfer cap = new CutAndPasteTransfer(); cap.setForInput(viewport); - Desktop.addInternalFrame(cap, "Cut & Paste Alignment File", 600, 500); + Desktop.addInternalFrame(cap, MessageManager.getString("label.cut_paste_alignmen_file"), 600, 500); } /* @@ -1113,7 +1139,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements { message.append("

Version: " + jalview.bin.Cache.getProperty("VERSION") - + "


"); + + ""); message.append("Last Updated: " + jalview.bin.Cache.getDefault("BUILD_DATE", "unknown") + ""); @@ -1160,11 +1186,11 @@ public class Desktop extends jalview.jbgui.GDesktop implements message.append("
Authors: " + jalview.bin.Cache .getDefault( - "Jim Procter, Andrew Waterhouse, Jan Engelhardt, Lauren Lui, Michele Clamp, James Cuff, Steve Searle, David Martin & Geoff Barton") - + "
Development managed by The Barton Group, University of Dundee, Scotland, UK.
" - + "
For help, see the FAQ at www.jalview.org and/or join the jalview-discuss@jalview.org mailing list" - + "
If you use Jalview, please cite:" "AUTHORFNAMES", + "The Jalview Authors (See AUTHORS file for current list)") + + "

Development managed by The Barton Group, University of Dundee, Scotland, UK.
" + + "

For help, see the FAQ at www.jalview.org/faq and/or join the jalview-discuss@jalview.org mailing list" + + "

If you use Jalview, please cite:" + "
Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)" + "
Jalview Version 2 - a multiple sequence alignment editor and analysis workbench" + "
Bioinformatics doi: 10.1093/bioinformatics/btp033" @@ -1182,13 +1208,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements { try { - ClassLoader cl = jalview.gui.Desktop.class.getClassLoader(); - java.net.URL url = javax.help.HelpSet.findHelpSet(cl, "help/help"); - javax.help.HelpSet hs = new javax.help.HelpSet(cl, url); - - javax.help.HelpBroker hb = hs.createHelpBroker(); - hb.setCurrentID("home"); - hb.setDisplayed(true); + Help.showHelpWindow(); } catch (Exception ex) { } @@ -1385,7 +1405,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements { "Jalview Project" }, "Jalview Project"); chooser.setFileView(new JalviewFileView()); - chooser.setDialogTitle("Save State"); + chooser.setDialogTitle(MessageManager.getString("label.save_state")); int value = chooser.showSaveDialog(this); @@ -1398,7 +1418,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements public void run() { - setProgressBar("Saving jalview project " + choice.getName(), + setProgressBar(MessageManager.formatMessage("label.saving_jalview_project", new String[]{choice.getName()}), choice.hashCode()); jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice.getParent()); @@ -1418,8 +1438,8 @@ public class Desktop extends jalview.jbgui.GDesktop implements ex); JOptionPane.showMessageDialog( me, - "Error whilst saving current state to " - + choice.getName(), "Couldn't save project", + MessageManager.formatMessage("label.error_whilst_saving_current_state_to", new String[]{ choice.getName()}), + MessageManager.getString("label.couldnt_save_project"), JOptionPane.WARNING_MESSAGE); } setProgressBar(null, choice.hashCode()); @@ -1442,7 +1462,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements { "Jalview Project", "Jalview Project (old)" }, "Jalview Project"); chooser.setFileView(new JalviewFileView()); - chooser.setDialogTitle("Restore state"); + chooser.setDialogTitle(MessageManager.getString("label.restore_state")); int value = chooser.showOpenDialog(this); @@ -1455,7 +1475,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements { public void run() { - setProgressBar("loading jalview project " + choice, + setProgressBar(MessageManager.formatMessage("label.loading_jalview_project", new String[]{choice}), choice.hashCode()); try { @@ -1468,8 +1488,8 @@ public class Desktop extends jalview.jbgui.GDesktop implements Cache.log.error("Problems whilst loading project from " + choice, ex); JOptionPane.showMessageDialog(Desktop.desktop, - "Error whilst loading project from " + choice, - "Couldn't load project", JOptionPane.WARNING_MESSAGE); + MessageManager.formatMessage("label.error_whilst_loading_project_from", new String[]{choice}), + MessageManager.getString("label.couldnt_load_project"), JOptionPane.WARNING_MESSAGE); } setProgressBar(null, choice.hashCode()); } @@ -1490,8 +1510,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements { if (fileLoadingCount == 0) { - fileLoadingPanels.add(addProgressPanel("Loading File: " + fileName - + " ")); + fileLoadingPanels.add(addProgressPanel(MessageManager.formatMessage("label.loading_file", new String[]{fileName}))); } fileLoadingCount++; } @@ -1729,7 +1748,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements jalview.bin.Cache.getProperty("LAST_DIRECTORY")); chooser.setFileView(new JalviewFileView()); - chooser.setDialogTitle("Open a saved VAMSAS session"); + chooser.setDialogTitle(MessageManager.getString("label.open_saved_vamsas_session")); chooser.setToolTipText(MessageManager .getString("label.select_vamsas_session_opened_as_new_vamsas_session")); @@ -1822,22 +1841,22 @@ public class Desktop extends jalview.jbgui.GDesktop implements return false; } - setProgressBar("Importing VAMSAS session from " + file.getName(), + setProgressBar(MessageManager.formatMessage("status.importing_vamsas_session_from", new String[]{file.getName()}), file.hashCode()); try { v_client = new jalview.gui.VamsasApplication(this, file, null); } catch (Exception ex) { - setProgressBar("Importing VAMSAS session from " + file.getName(), - file.hashCode()); + setProgressBar(MessageManager.formatMessage("status.importing_vamsas_session_from", new String[]{file.getName()}), + file.hashCode()); jalview.bin.Cache.log.error( "New vamsas session from existing session file failed:", ex); return false; } setupVamsasConnectedGui(); v_client.initial_update(); // TODO: thread ? - setProgressBar("Importing VAMSAS session from " + file.getName(), + setProgressBar(MessageManager.formatMessage("status.importing_vamsas_session_from", new String[]{file.getName()}), file.hashCode()); return v_client.inSession(); } @@ -1846,12 +1865,11 @@ public class Desktop extends jalview.jbgui.GDesktop implements { if (v_client != null) { - throw new Error( - "Trying to join a vamsas session when another is already connected."); + throw new Error(MessageManager.getString("error.try_join_vamsas_session_another")); } if (mysesid == null) { - throw new Error("Invalid vamsas session id."); + throw new Error(MessageManager.getString("error.invalid_vamsas_session_id")); } v_client = new VamsasApplication(this, mysesid); setupVamsasConnectedGui(); @@ -1998,15 +2016,14 @@ public class Desktop extends jalview.jbgui.GDesktop implements { "Vamsas Document" }, "Vamsas Document"); chooser.setFileView(new JalviewFileView()); - chooser.setDialogTitle("Save Vamsas Document Archive"); + chooser.setDialogTitle(MessageManager.getString("label.save_vamsas_document_archive")); int value = chooser.showSaveDialog(this); if (value == JalviewFileChooser.APPROVE_OPTION) { java.io.File choice = chooser.getSelectedFile(); - JPanel progpanel = addProgressPanel("Saving VAMSAS Document to " - + choice.getName()); + JPanel progpanel = addProgressPanel(MessageManager.formatMessage("label.saving_vamsas_doc", new String[]{choice.getName()})); jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice.getParent()); String warnmsg = null; String warnttl = null; @@ -2058,7 +2075,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements } if (b) { - vamUpdate = this.addProgressPanel("Updating vamsas session"); + vamUpdate = this.addProgressPanel(MessageManager.getString("label.updating_vamsas_session")); } vamsasStart.setVisible(!b); vamsasStop.setVisible(!b); @@ -2160,7 +2177,9 @@ public class Desktop extends jalview.jbgui.GDesktop implements if (showMemoryUsage && g != null && df != null) { if (percentUsage < 20) + { g.setColor(Color.red); + } FontMetrics fm = g.getFontMetrics(); if (fm != null) { @@ -2289,8 +2308,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements // use reflection to avoid creating compilation dependency. if (!jalview.bin.Cache.groovyJarsPresent()) { - throw new Error( - "Implementation Error. Cannot create groovyShell without Groovy on the classpath!"); + throw new Error(MessageManager.getString("error.implementation_error_cannot_create_groovyshell")); } try { @@ -2312,8 +2330,8 @@ public class Desktop extends jalview.jbgui.GDesktop implements .showInternalMessageDialog( Desktop.desktop, - "Couldn't create the groovy Shell. Check the error log for the details of what went wrong.", - "Jalview Groovy Support Failed", + MessageManager.getString("label.couldnt_create_groovy_shell"), + MessageManager.getString("label.groovy_support_failed"), JOptionPane.ERROR_MESSAGE); } } @@ -2364,11 +2382,10 @@ public class Desktop extends jalview.jbgui.GDesktop implements { if (progressBarHandlers == null || !progressBars.contains(new Long(id))) { - throw new Error( - "call setProgressBar before registering the progress bar's handler."); + throw new Error(MessageManager.getString("error.call_setprogressbar_before_registering_handler")); } progressBarHandlers.put(new Long(id), handler); - final JPanel progressPanel = (JPanel) progressBars.get(new Long(id)); + final JPanel progressPanel = progressBars.get(new Long(id)); if (handler.canCancel()) { JButton cancel = new JButton( @@ -2380,10 +2397,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements public void actionPerformed(ActionEvent e) { handler.cancelActivity(id); - us.setProgressBar( - "Cancelled " - + ((JLabel) progressPanel.getComponent(0)) - .getText(), id); + us.setProgressBar(MessageManager.formatMessage("label.cancelled_params", new String[]{((JLabel) progressPanel.getComponent(0)).getText()}), id); } }); progressPanel.add(cancel, BorderLayout.EAST); @@ -2591,7 +2605,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements + ermsg + "" + "

It may be that you have invalid JABA URLs
in your web service preferences," - + " or mis-configured HTTP proxy settings.

" + + "
or as a command-line argument, or mis-configured HTTP proxy settings.

" + "

Check the Connections and Web services tab
of the" + " Tools->Preferences dialog box to change them.

"), "Web Service Configuration Problem", @@ -2645,7 +2659,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements { if (progress != null) { - progress.setProgressBar("Opening " + url, this.hashCode()); + progress.setProgressBar(MessageManager.formatMessage("status.opening_params", new String[]{url}), this.hashCode()); } jalview.util.BrowserLauncher.openURL(url); } catch (Exception ex) @@ -2653,9 +2667,8 @@ public class Desktop extends jalview.jbgui.GDesktop implements JOptionPane .showInternalMessageDialog( Desktop.desktop, - "Unixers: Couldn't find default web browser." - + "\nAdd the full path to your browser in Preferences.", - "Web browser not found", + MessageManager.getString("label.web_browser_not_found_unix"), + MessageManager.getString("label.web_browser_not_found"), JOptionPane.WARNING_MESSAGE); ex.printStackTrace(); @@ -2771,4 +2784,23 @@ public class Desktop extends jalview.jbgui.GDesktop implements dialogPause = false; block.release(); } + @Override + protected void snapShotWindow_actionPerformed(ActionEvent e) + { + invalidate(); + File of; + ImageMaker im = new jalview.util.ImageMaker(this, ImageMaker.TYPE.EPS, + "View of Desktop", getWidth(), getHeight(), of = new File( + "Jalview_snapshot" + System.currentTimeMillis() + + ".eps"), "View of desktop"); + try { + paintAll(im.getGraphics()); + im.writeImage(); + } catch (Exception q) + { + Cache.log.error("Couldn't write snapshot to "+of.getAbsolutePath(),q); + return; + } + Cache.log.info("Successfully written snapshot to file "+of.getAbsolutePath()); + } }