import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
+import java.io.FileWriter;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.Hashtable;
import java.util.List;
import java.util.ListIterator;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JDesktopPane;
-import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
* @author $author$
* @version $Revision: 1.155 $
*/
-@SuppressWarnings("serial")
public class Desktop extends jalview.jbgui.GDesktop
implements DropTargetListener, ClipboardOwner, IProgressIndicator,
jalview.api.StructureSelectionManagerProvider
{
- private final static int DEFAULT_MIN_WIDTH = 300;
+ private static int DEFAULT_MIN_WIDTH = 300;
- private final static int DEFAULT_MIN_HEIGHT = 250;
+ private static int DEFAULT_MIN_HEIGHT = 250;
- private final static int ALIGN_FRAME_DEFAULT_MIN_WIDTH = 600;
+ private static int ALIGN_FRAME_DEFAULT_MIN_WIDTH = 600;
- private final static int ALIGN_FRAME_DEFAULT_MIN_HEIGHT = 70;
+ private static int ALIGN_FRAME_DEFAULT_MIN_HEIGHT = 70;
- private final static String EXPERIMENTAL_FEATURES = "EXPERIMENTAL_FEATURES";
+ private static final String EXPERIMENTAL_FEATURES = "EXPERIMENTAL_FEATURES";
+
+ protected static final String CONFIRM_KEYBOARD_QUIT = "CONFIRM_KEYBOARD_QUIT";
+
+ public static HashMap<String, FileWriter> savingFiles = new HashMap<>();
private JalviewChangeSupport changeSupport = new JalviewChangeSupport();
/**
* news reader - null if it was never started.
*/
- BlogReader jvnews = null;
+ private BlogReader jvnews = null;
private File projectFile;
listener);
}
- /**
- * Singleton Desktop instance only in Java;
- */
- private static Desktop instance;
-
- public static Desktop getInstance()
- {
- if (instance == null)
- {
- new Desktop(true);
- }
- Desktop d;
- @SuppressWarnings("unused")
- ThreadGroup g = Thread.currentThread().getThreadGroup();
- /**
- * @j2sNative d = g._jalviewDesktopInstance;
- */
- {
- d = instance;
- }
- return d;
- }
-
- private static void setInstance(Desktop d)
- {
- @SuppressWarnings("unused")
- ThreadGroup g = Thread.currentThread().getThreadGroup();
- /**
- * @j2sNative g._jalviewDesktopInstance = d;
- */
- {
- instance = d;
- }
- }
-
- private MyDesktopPane desktopPane;
+ /** Singleton Desktop instance */
+ public static Desktop instance;
- public static MyDesktopPane getDesktopPane()
- {
- return getInstance().desktopPane;
- }
+ public static MyDesktopPane desktop;
- private void setDesktopPane(MyDesktopPane pane)
+ public static MyDesktopPane getDesktop()
{
- getInstance().desktopPane = pane;
+ // BH 2018 could use currentThread() here as a reference to a
+ // Hashtable<Thread, MyDesktopPane> in JavaScript
+ return desktop;
}
static int openFrameCount = 0;
static final int yOffset = 30;
- public jalview.ws.jws1.Discoverer discoverer;
+ public static jalview.ws.jws1.Discoverer discoverer;
- public Object[] jalviewClipboard;
+ public static Object[] jalviewClipboard;
- public boolean internalCopy = false;
+ public static boolean internalCopy = false;
- private static int fileLoadingCount = 0;
-
- public JInternalFrame conservationSlider, PIDSlider;
-
- private boolean instanceOnly;
+ static int fileLoadingCount = 0;
class MyDesktopManager implements DesktopManager
{
} catch (NullPointerException npe)
{
Point p = getMousePosition();
- getInstance().showPasteMenu(p.x, p.y);
+ instance.showPasteMenu(p.x, p.y);
}
}
public void endDraggingFrame(JComponent f)
{
delegate.endDraggingFrame(f);
- getDesktopPane().repaint();
+ desktop.repaint();
}
@Override
public void endResizingFrame(JComponent f)
{
delegate.endResizingFrame(f);
- getDesktopPane().repaint();
+ desktop.repaint();
}
@Override
}
- public Desktop(boolean forInstance)
- {
- instanceOnly = true;
- setInstance(this);
- }
/**
* Creates a new Desktop object.
*/
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.
*/
- setInstance(this);
+ instance = this;
if (!Platform.isJS())
{
doVamsasClientCheck();
doConfigureStructurePrefs();
setTitle("Jalview " + jalview.bin.Cache.getProperty("VERSION"));
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ /*
+ if (!Platform.isAMac())
+ {
+ // this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
+ }
+ else
+ {
+ this.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
+ }
+ */
+
+ try
+ {
+ if (!Platform.isJS())
+ /*
+ * @j2sIgnore
+ */
+ {
+ APQHandlers.setAPQHandlers(this);
+ }
+ } catch (Exception e)
+ {
+ System.out.println("Cannot set APQHandlers");
+ // e.printStackTrace();
+ } catch (Throwable t)
+ {
+ System.out.println("Cannot set APQHandlers");
+ // t.printStackTrace();
+ }
+
+
+ addWindowListener(new WindowAdapter()
+ {
+
+ @Override
+ public void windowClosing(WindowEvent ev)
+ {
+ quit();
+ }
+ });
+
boolean selmemusage = jalview.bin.Cache.getDefault("SHOW_MEMUSAGE",
false);
+
boolean showjconsole = jalview.bin.Cache.getDefault("SHOW_JAVA_CONSOLE",
false);
- setDesktopPane(new MyDesktopPane(selmemusage));
+ desktop = new MyDesktopPane(selmemusage);
showMemusage.setSelected(selmemusage);
- getDesktopPane().setBackground(Color.white);
+ desktop.setBackground(Color.white);
+
getContentPane().setLayout(new BorderLayout());
// alternate config - have scrollbars - see notes in JAL-153
// JScrollPane sp = new JScrollPane();
getRootPane().putClientProperty("swingjs.overflow.hidden", "false");
}
- getContentPane().add(getDesktopPane(), BorderLayout.CENTER);
- getDesktopPane().setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
+ getContentPane().add(desktop, BorderLayout.CENTER);
+ desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
// This line prevents Windows Look&Feel resizing all new windows to maximum
// if previous window was maximised
- getDesktopPane().setDesktopManager(new MyDesktopManager(
+ desktop.setDesktopManager(new MyDesktopManager(
(Platform.isWindowsAndNotJS() ? new DefaultDesktopManager()
: Platform.isAMacAndNotJS()
? new AquaInternalFrameManager(
- getDesktopPane().getDesktopManager())
- : getDesktopPane().getDesktopManager())));
+ desktop.getDesktopManager())
+ : desktop.getDesktopManager())));
Rectangle dims = getLastKnownDimensions("");
if (dims != null)
+ "Java version: " + System.getProperty("java.version") + "\n"
+ System.getProperty("os.arch") + " "
+ System.getProperty("os.name") + " "
- + System.getProperty("os.version"));
+ + System.getProperty("os.version")
+ + (jalview.bin.Cache.getProperty("VERSION").equals("DEVELOPMENT")
+ ? "\nJava path:"
+ + System.getProperty(
+ "java.home")
+ + File.separator + "bin"
+ + File.separator + "java"
+ : ""));
showConsole(showjconsole);
});
// Thread off a new instance of the file chooser - this reduces the time
- // it
- // takes to open it later on.
+ // it takes to open it later on.
new Thread(new Runnable()
{
@Override
}
- this.setDropTarget(new java.awt.dnd.DropTarget(getDesktopPane(), this));
+ this.setDropTarget(new java.awt.dnd.DropTarget(desktop, this));
this.addWindowListener(new WindowAdapter()
{
}
}
});
- getDesktopPane().addMouseListener(ma);
+ desktop.addMouseListener(ma);
}
public void run()
{
Cache.log.debug("Downloading data from identifiers.org");
- // UrlDownloadClient client = new UrlDownloadClient();
+ UrlDownloadClient client = new UrlDownloadClient();
try
{
- UrlDownloadClient.download(IdOrgSettings.getUrl(),
+ client.download(IdOrgSettings.getUrl(),
IdOrgSettings.getDownloadLocation());
} catch (IOException e)
{
}
}
}).start();
- ;
+
}
@Override
showNews(showNews.isSelected());
}
- protected void showNews(boolean visible)
+ void showNews(boolean visible)
{
Cache.log.debug((visible ? "Showing" : "Hiding") + " news.");
showNews.setSelected(visible);
public void run()
{
long now = System.currentTimeMillis();
- Desktop.getInstance().setProgressBar(
+ Desktop.instance.setProgressBar(
MessageManager.getString("status.refreshing_news"), now);
jvnews.refreshNews();
- Desktop.getInstance().setProgressBar(null, now);
+ Desktop.instance.setProgressBar(null, now);
jvnews.showNews();
}
}).start();
}
}
- protected void showPasteMenu(int x, int y)
+ void showPasteMenu(int x, int y)
{
JPopupMenu popup = new JPopupMenu();
JMenuItem item = new JMenuItem(
// A HEADLESS STATE WHEN NO DESKTOP EXISTS. MUST RETURN
// IF JALVIEW IS RUNNING HEADLESS
// ///////////////////////////////////////////////
- if (getInstance().instanceOnly || Jalview.isHeadlessMode())
+ if (instance == null || (System.getProperty("java.awt.headless") != null
+ && System.getProperty("java.awt.headless").equals("true")))
{
return;
}
* add an entry for the new frame in the Window menu
* (and remove it when the frame is closed)
*/
- JMenuItem menuItem = new JMenuItem(title);
+ final JMenuItem menuItem = new JMenuItem(title);
frame.addInternalFrameListener(new InternalFrameAdapter()
{
@Override
public void internalFrameActivated(InternalFrameEvent evt)
{
- JInternalFrame itf = getDesktopPane().getSelectedFrame();
+ JInternalFrame itf = desktop.getSelectedFrame();
if (itf != null)
{
if (itf instanceof AlignFrame)
{
menuItem.removeActionListener(menuItem.getActionListeners()[0]);
}
- getInstance().windowMenu.remove(menuItem);
- };
+ windowMenu.remove(menuItem);
+ }
});
menuItem.addActionListener(new ActionListener()
setKeyBindings(frame);
- getDesktopPane().add(frame);
+ desktop.add(frame);
- getInstance().windowMenu.add(menuItem);
+ windowMenu.add(menuItem);
frame.toFront();
try
*/
private static void setKeyBindings(JInternalFrame frame)
{
+ @SuppressWarnings("serial")
final Action closeAction = new AbstractAction()
{
@Override
KeyStroke ctrlWKey = KeyStroke.getKeyStroke(KeyEvent.VK_W,
InputEvent.CTRL_DOWN_MASK);
KeyStroke cmdWKey = KeyStroke.getKeyStroke(KeyEvent.VK_W,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask());
+ jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx());
InputMap inputMap = frame
.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
{
if (!internalCopy)
{
- Desktop.getInstance().jalviewClipboard = null;
+ Desktop.jalviewClipboard = null;
}
internalCopy = false;
{
String fileFormat = Cache.getProperty("DEFAULT_FILE_FORMAT");
JalviewFileChooser chooser = JalviewFileChooser
- .forRead(Cache.getProperty("LAST_DIRECTORY"), fileFormat, true);
+ .forRead(Cache.getProperty("LAST_DIRECTORY"), fileFormat, BackupFiles.getEnabled());
chooser.setFileView(new JalviewFileView());
chooser.setDialogTitle(
{
String msg = MessageManager
.formatMessage("label.couldnt_locate", url);
- JvOptionPane.showInternalMessageDialog(Desktop.getDesktopPane(),
- msg,
+ JvOptionPane.showInternalMessageDialog(Desktop.desktop, msg,
MessageManager.getString("label.url_not_found"),
JvOptionPane.WARNING_MESSAGE);
};
String dialogOption = MessageManager
.getString("label.input_alignment_from_url");
- JvOptionPane.newOptionDialog(getDesktopPane())
- .setResponseHandler(0, action)
+ JvOptionPane.newOptionDialog(desktop).setResponseHandler(0, action)
.showInternalDialog(panel, dialogOption,
JvOptionPane.YES_NO_CANCEL_OPTION,
JvOptionPane.PLAIN_MESSAGE, null, options,
public void aboutMenuItem_actionPerformed(ActionEvent e)
{
// StringBuffer message = getAboutMessage(false);
- // JvOptionPane.showInternalMessageDialog(Desktop.getDesktop(),
+ // JvOptionPane.showInternalMessageDialog(Desktop.desktop,
//
// message.toString(), "About Jalview", JvOptionPane.INFORMATION_MESSAGE);
new Thread(new Runnable()
@Override
public void closeAll_actionPerformed(ActionEvent e)
{
- if (getDesktopPane() == null)
- {
- return;
- }
// TODO show a progress bar while closing?
- JInternalFrame[] frames = getDesktopPane().getAllFrames();
+ JInternalFrame[] frames = desktop.getAllFrames();
for (int i = 0; i < frames.length; i++)
{
try
@Override
protected void showMemusage_actionPerformed(ActionEvent e)
{
- getDesktopPane().showMemoryUsage(showMemusage.isSelected());
+ desktop.showMemoryUsage(showMemusage.isSelected());
}
/*
void reorderAssociatedWindows(boolean minimize, boolean close)
{
- JInternalFrame[] frames = getDesktopPane().getAllFrames();
+ JInternalFrame[] frames = desktop.getAllFrames();
if (frames == null || frames.length < 1)
{
return;
saveState_actionPerformed(true);
}
- protected void setProjectFile(File choice)
+ private void setProjectFile(File choice)
{
this.projectFile = choice;
}
"Jalview Project (old)" };
JalviewFileChooser chooser = new JalviewFileChooser(
Cache.getProperty("LAST_DIRECTORY"), suffix, desc,
- "Jalview Project", true, true); // last two booleans: allFiles,
+ "Jalview Project", true, BackupFiles.getEnabled()); // last two booleans: allFiles,
// allowBackupFiles
chooser.setFileView(new JalviewFileView());
chooser.setDialogTitle(MessageManager.getString("label.restore_state"));
{
Cache.log.error(
"Problems whilst loading project from " + choice, ex);
- JvOptionPane.showMessageDialog(Desktop.getDesktopPane(),
+ JvOptionPane.showMessageDialog(Desktop.desktop,
MessageManager.formatMessage(
"label.error_whilst_loading_project_from",
new Object[]
{
progressPanel = new JPanel(new GridLayout(1, 1));
totalProgressCount = 0;
- getInstance().getContentPane().add(progressPanel, BorderLayout.SOUTH);
+ instance.getContentPane().add(progressPanel, BorderLayout.SOUTH);
}
JPanel thisprogress = new JPanel(new BorderLayout(10, 5));
JProgressBar progressBar = new JProgressBar();
((GridLayout) progressPanel.getLayout()).setRows(
((GridLayout) progressPanel.getLayout()).getRows() + 1);
++totalProgressCount;
- getInstance().validate();
+ instance.validate();
return thisprogress;
}
*/
public static AlignmentPanel[] getAlignmentPanels(String alignmentId)
{
- if (Desktop.getDesktopPane() == null)
+ if (Desktop.desktop == null)
{
// no frames created and in headless mode
// TODO: verify that frames are recoverable when in headless mode
public static AlignmentViewport[] getViewports(String sequenceSetId)
{
List<AlignmentViewport> viewp = new ArrayList<>();
- if (getDesktopPane() != null)
+ if (desktop != null)
{
AlignFrame[] frames = Desktop.getAlignFrames();
{
source.viewport.setGatherViewsHere(true);
source.viewport.setExplodedGeometry(source.getBounds());
- JInternalFrame[] frames = getDesktopPane().getAllFrames();
+ JInternalFrame[] frames = desktop.getAllFrames();
String viewId = source.viewport.getSequenceSetId();
for (int t = 0; t < frames.length; t++)
String fle = chooser.getSelectedFile().toString();
if (!vamsasImport(chooser.getSelectedFile()))
{
- JvOptionPane.showInternalMessageDialog(Desktop.getDesktopPane(),
+ JvOptionPane.showInternalMessageDialog(Desktop.desktop,
MessageManager.formatMessage(
"label.couldnt_import_as_vamsas_session",
new Object[]
});
rthr.start();
}
- };
+ }
});
VamsasStMenu.add(sessit);
}
removeProgressPanel(progpanel);
if (warnmsg != null)
{
- JvOptionPane.showInternalMessageDialog(Desktop.getDesktopPane(),
+ JvOptionPane.showInternalMessageDialog(Desktop.desktop,
warnmsg, warnttl, JvOptionPane.ERROR_MESSAGE);
}
public JInternalFrame[] getAllFrames()
{
- return getDesktopPane().getAllFrames();
+ return desktop.getAllFrames();
}
/**
while (li.hasNext())
{
String link = li.next();
- if (link.contains(UrlConstants.SEQUENCE_ID)
+ if (link.contains(jalview.util.UrlConstants.SEQUENCE_ID)
&& !UrlConstants.isDefaultString(link))
{
check = true;
});
msgPanel.add(jcb);
- JvOptionPane.showMessageDialog(Desktop.getDesktopPane(), msgPanel,
+ JvOptionPane.showMessageDialog(Desktop.desktop, msgPanel,
MessageManager
.getString("label.SEQUENCE_ID_no_longer_used"),
JvOptionPane.WARNING_MESSAGE);
{
if (Jalview.isHeadlessMode())
{
- // Desktop.getDesktop() is null in headless mode
- return new AlignFrame[] { Jalview.getCurrentAlignFrame() };
+ // Desktop.desktop is null in headless mode
+ return new AlignFrame[] { Jalview.currentAlignFrame };
}
- JInternalFrame[] frames = Desktop.getDesktopPane().getAllFrames();
+ JInternalFrame[] frames = Desktop.desktop.getAllFrames();
if (frames == null)
{
*/
public GStructureViewer[] getJmols()
{
- JInternalFrame[] frames = Desktop.getDesktopPane().getAllFrames();
+ JInternalFrame[] frames = Desktop.desktop.getAllFrames();
if (frames == null)
{
} catch (Exception ex)
{
jalview.bin.Cache.log.error("Groovy Shell Creation failed.", ex);
- JvOptionPane.showInternalMessageDialog(Desktop.getDesktopPane(),
+ JvOptionPane.showInternalMessageDialog(Desktop.desktop,
MessageManager.getString("label.couldnt_create_groovy_shell"),
MessageManager.getString("label.groovy_support_failed"),
/**
* Open the Groovy console
*/
- private void openGroovyConsole()
+ void openGroovyConsole()
{
if (groovyConsole == null)
{
{
getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)
.put(KeyStroke.getKeyStroke(KeyEvent.VK_Q,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
+ jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()),
"Quit");
getRootPane().getActionMap().put("Quit", new AbstractAction()
{
progressBarHandlers = new Hashtable<>();
}
- if (progressBars.get(new Long(id)) != null)
+ if (progressBars.get(Long.valueOf(id)) != null)
{
- JPanel panel = progressBars.remove(new Long(id));
- if (progressBarHandlers.contains(new Long(id)))
+ JPanel panel = progressBars.remove(Long.valueOf(id));
+ if (progressBarHandlers.contains(Long.valueOf(id)))
{
- progressBarHandlers.remove(new Long(id));
+ progressBarHandlers.remove(Long.valueOf(id));
}
removeProgressPanel(panel);
}
else
{
- progressBars.put(new Long(id), addProgressPanel(message));
+ progressBars.put(Long.valueOf(id), addProgressPanel(message));
}
}
final IProgressIndicatorHandler handler)
{
if (progressBarHandlers == null
- || !progressBars.containsKey(new Long(id)))
+ || !progressBars.containsKey(Long.valueOf(id)))
{
throw new Error(MessageManager.getString(
"error.call_setprogressbar_before_registering_handler"));
}
- progressBarHandlers.put(new Long(id), handler);
- final JPanel progressPanel = progressBars.get(new Long(id));
+ progressBarHandlers.put(Long.valueOf(id), handler);
+ final JPanel progressPanel = progressBars.get(Long.valueOf(id));
if (handler.canCancel())
{
JButton cancel = new JButton(
*/
public static AlignFrame getAlignFrameFor(AlignViewportI viewport)
{
- if (getDesktopPane() != null)
+ if (desktop != null)
{
AlignmentPanel[] aps = getAlignmentPanels(
viewport.getSequenceSetId());
if (discoverer == null)
{
discoverer = new jalview.ws.jws1.Discoverer();
- // register PCS handler for getDesktop().
+ // register PCS handler for desktop.
discoverer.addPropertyChangeListener(changeSupport);
}
// JAL-940 - disabled JWS1 service configuration - always start discoverer
*
* jd.waitForInput();
*/
- JvOptionPane.showConfirmDialog(Desktop.getDesktopPane(),
+ JvOptionPane.showConfirmDialog(Desktop.desktop,
new JLabel("<html><table width=\"450\"><tr><td>"
+ ermsg + "</td></tr></table>"
+ "<p>It may be that you have invalid JABA URLs<br/>in your web service preferences,"
}
}
- Runnable serviceChangedDialog = null;
+ private Runnable serviceChangedDialog = null;
/**
* start a thread to open a URL in the configured browser. Pops up a warning
*/
public static void showUrl(final String url)
{
- showUrl(url, Desktop.getInstance());
+ showUrl(url, Desktop.instance);
}
/**
.formatMessage("status.opening_params", new Object[]
{ url }), this.hashCode());
}
- BrowserLauncher.openURL(url);
+ jalview.util.BrowserLauncher.openURL(url);
} catch (Exception ex)
{
- JvOptionPane.showInternalMessageDialog(Desktop.getDesktopPane(),
+ JvOptionPane.showInternalMessageDialog(Desktop.desktop,
MessageManager
.getString("label.web_browser_not_found_unix"),
MessageManager.getString("label.web_browser_not_found"),
}).start();
}
- private WsParamSetManager wsparamManager = null;
+ public static WsParamSetManager wsparamManager = null;
public static ParamManager getUserParameterStore()
{
- Desktop d = getInstance();
- if (d.wsparamManager == null)
+ if (wsparamManager == null)
{
- d.wsparamManager = new WsParamSetManager();
+ wsparamManager = new WsParamSetManager();
}
- return d.wsparamManager;
+ return wsparamManager;
}
/**
/**
* flag indicating if dialogExecutor should try to acquire a permit
*/
- volatile boolean dialogPause = true;
+ private volatile boolean dialogPause = true;
/**
* pause the queue
*/
- java.util.concurrent.Semaphore block = new Semaphore(0);
-
- private groovy.ui.Console groovyConsole;
+ private java.util.concurrent.Semaphore block = new Semaphore(0);
- public StructureViewer lastTargetedView;
+ private static groovy.ui.Console groovyConsole;
/**
* add another dialog thread to the queue
} catch (InterruptedException x)
{
}
- ;
}
- if (instanceOnly)
+ if (instance == null)
{
return;
}
String topViewId = myTopFrame.viewport.getSequenceSetId();
String bottomViewId = myBottomFrame.viewport.getSequenceSetId();
- JInternalFrame[] frames = getDesktopPane().getAllFrames();
+ JInternalFrame[] frames = desktop.getAllFrames();
for (JInternalFrame frame : frames)
{
if (frame instanceof SplitFrame && frame != source)
public static groovy.ui.Console getGroovyConsole()
{
- return getInstance().groovyConsole;
+ return groovyConsole;
}
/**
* - the payload from the drop event
* @throws Exception
*/
- @SuppressWarnings("unchecked")
public static void transferFromDropTarget(List<Object> files,
List<DataSourceType> protocols, DropTargetDropEvent evt,
Transferable t) throws Exception
System.err.println(
"Please ignore plist error - occurs due to problem with java 8 on OSX");
}
- ;
}
} catch (Throwable ex)
{
{
// Works on Windows and MacOSX
Cache.log.debug("Drop handled as javaFileListFlavor");
- for (Object file : (List<Object>) t
+ for (Object file : (List) t
.getTransferData(DataFlavor.javaFileListFlavor))
{
files.add(file);
Class<? extends StructureViewerBase> structureViewerClass)
{
List<StructureViewerBase> result = new ArrayList<>();
- JInternalFrame[] frames = Desktop.getInstance().getAllFrames();
+ JInternalFrame[] frames = Desktop.instance.getAllFrames();
for (JInternalFrame frame : frames)
{
}
return result;
}
-
}