X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FDesktop.java;h=30c37de3a1671057a99b543c039461a0f3f46c9e;hb=9e5d1bced16aa9975692115a964c661cd7897a7c;hp=12359d01d33bcec9bb8a79fa738cbb330a12b052;hpb=0f5ab402f4c82e89ee0d08200b5d9fae6bb32f56;p=jalview.git diff --git a/src/jalview/gui/Desktop.java b/src/jalview/gui/Desktop.java index 12359d0..30c37de 100644 --- a/src/jalview/gui/Desktop.java +++ b/src/jalview/gui/Desktop.java @@ -46,7 +46,6 @@ import jalview.util.ImageMaker.TYPE; import jalview.util.MessageManager; import jalview.util.Platform; import jalview.util.UrlConstants; -import jalview.util.dialogrunner.RunResponse; import jalview.viewmodel.AlignmentViewport; import jalview.ws.params.ParamManager; import jalview.ws.utils.UrlDownloadClient; @@ -89,7 +88,6 @@ import java.util.ArrayList; import java.util.Hashtable; import java.util.List; import java.util.ListIterator; -import java.util.StringTokenizer; import java.util.Vector; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -346,12 +344,13 @@ public class Desktop extends jalview.jbgui.GDesktop */ public Desktop() { + super(); /** * A note to implementors. It is ESSENTIAL that any activities that might block * are spawned off as threads rather than waited for during this constructor. */ instance = this; - if (!Jalview.isJS()) + if (!Platform.isJS()) { doVamsasClientCheck(); } @@ -375,10 +374,10 @@ public class Desktop extends jalview.jbgui.GDesktop // getContentPane().add(sp, BorderLayout.CENTER); // BH 2018 - just an experiment to try unclipped JInternalFrames. - // Must set for all three to be active: - getRootPane().putClientProperty("swingjs.overflow.hidden", "false"); - ((JComponent)getContentPane()).putClientProperty("swingjs.overflow.hidden", "false"); - desktop.putClientProperty("swingjs.overflow.hidden", "false"); + if (Platform.isJS()) + { + getRootPane().putClientProperty("swingjs.overflow.hidden", "false"); + } getContentPane().add(desktop, BorderLayout.CENTER); desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE); @@ -386,8 +385,8 @@ public class Desktop extends jalview.jbgui.GDesktop // This line prevents Windows Look&Feel resizing all new windows to maximum // if previous window was maximised desktop.setDesktopManager(new MyDesktopManager( - (Platform.isWindows() ? new DefaultDesktopManager() - : Platform.isAMac() + (Platform.isWindowsAndNotJS() ? new DefaultDesktopManager() + : Platform.isAMacAndNotJS() ? new AquaInternalFrameManager( desktop.getDesktopManager()) : desktop.getDesktopManager()))); @@ -1122,9 +1121,8 @@ public class Desktop extends jalview.jbgui.GDesktop MessageManager.getString("label.open_local_file")); chooser.setToolTipText(MessageManager.getString("action.open")); - chooser.response(new RunResponse(JalviewFileChooser.APPROVE_OPTION) + chooser.setResponseHandler(0, new Runnable() { - @Override public void run() { @@ -1153,7 +1151,8 @@ public class Desktop extends jalview.jbgui.GDesktop new FileLoader().LoadFile(viewport, selectedFile, DataSourceType.FILE, format); } - }).showOpenDialog(this); + }); + chooser.showOpenDialog(this); } /** @@ -1179,7 +1178,7 @@ public class Desktop extends jalview.jbgui.GDesktop */ JComponent history; String urlBase = "http://www."; - if (Jalview.isJS()) + if (Platform.isJS()) { history = new JTextField(urlBase, 35); } @@ -1203,11 +1202,11 @@ public class Desktop extends jalview.jbgui.GDesktop Object[] options = new Object[] { MessageManager.getString("action.ok"), MessageManager.getString("action.cancel") }; - RunResponse action = new RunResponse(JvOptionPane.OK_OPTION) { + Runnable action = new Runnable() { @Override public void run() { - String url = Jalview.isJS() ? ((JTextField) history).getText() + String url = Platform.isJS() ? ((JTextField) history).getText() : ((JComboBox) history).getSelectedItem() .toString(); @@ -1259,7 +1258,7 @@ public class Desktop extends jalview.jbgui.GDesktop }}; String dialogOption = MessageManager .getString("label.input_alignment_from_url"); - JvOptionPane.newOptionDialog(desktop).response(action) + JvOptionPane.newOptionDialog(desktop).setResponseHandler(0, action) .showInternalDialog(panel, dialogOption, JvOptionPane.YES_NO_CANCEL_OPTION, JvOptionPane.PLAIN_MESSAGE, null, options, @@ -1432,7 +1431,7 @@ public class Desktop extends jalview.jbgui.GDesktop { try { - if (Jalview.isJS()) + if (Platform.isJS()) { BrowserLauncher.openURL("http://www.jalview.org/help.html"); } @@ -1742,14 +1741,14 @@ public class Desktop extends jalview.jbgui.GDesktop "Jalview Project"); chooser.setFileView(new JalviewFileView()); chooser.setDialogTitle(MessageManager.getString("label.restore_state")); - chooser.response(new RunResponse(JalviewFileChooser.APPROVE_OPTION) + chooser.setResponseHandler(0, new Runnable() { @Override public void run() { File selectedFile = chooser.getSelectedFile(); setProjectFile(selectedFile); - final String choice = selectedFile.getAbsolutePath(); + String choice = selectedFile.getAbsolutePath(); Cache.setProperty("LAST_DIRECTORY", selectedFile.getParent()); new Thread(new Runnable() { @@ -1763,7 +1762,7 @@ public class Desktop extends jalview.jbgui.GDesktop } else { - new jalview.project.Jalview2XML().loadJalviewAlign(choice); + new jalview.project.Jalview2XML().loadJalviewAlign(selectedFile); } } catch (OutOfMemoryError oom) { @@ -2802,6 +2801,8 @@ public class Desktop extends jalview.jbgui.GDesktop @Override public void setProgressBar(String message, long id) { + Platform.timeCheck("Desktop " + message, Platform.TIME_MARK); + if (progressBars == null) { progressBars = new Hashtable<>(); @@ -3477,7 +3478,7 @@ public class Desktop extends jalview.jbgui.GDesktop } else { - if (Platform.isAMac()) + if (Platform.isAMacAndNotJS()) { System.err.println( "Please ignore plist error - occurs due to problem with java 8 on OSX"); @@ -3594,8 +3595,7 @@ public class Desktop extends jalview.jbgui.GDesktop } } } - if (Platform.isWindows()) - + if (Platform.isWindowsAndNotJS()) { Cache.log.debug("Scanning dropped content for Windows Link Files");