}
});
}
+ }
+ this.setDropTarget(new java.awt.dnd.DropTarget(desktopPane, this));
- this.setDropTarget(new java.awt.dnd.DropTarget(desktopPane, this));
-
- this.addWindowListener(new WindowAdapter()
+ this.addWindowListener(new WindowAdapter()
+ {
+ @Override
+ public void windowClosing(WindowEvent evt)
{
- @Override
- public void windowClosing(WindowEvent evt)
- {
- quit();
- }
- });
+ quit();
+ }
+ });
- MouseAdapter ma;
- this.addMouseListener(ma = new MouseAdapter()
+ MouseAdapter ma;
+ this.addMouseListener(ma = new MouseAdapter()
+ {
+ @Override
+ public void mousePressed(MouseEvent evt)
{
- @Override
- public void mousePressed(MouseEvent evt)
+ if (evt.isPopupTrigger()) // Mac
{
- if (evt.isPopupTrigger()) // Mac
- {
- showPasteMenu(evt.getX(), evt.getY());
- }
+ showPasteMenu(evt.getX(), evt.getY());
}
+ }
- @Override
- public void mouseReleased(MouseEvent evt)
+ @Override
+ public void mouseReleased(MouseEvent evt)
+ {
+ if (evt.isPopupTrigger()) // Windows
{
- if (evt.isPopupTrigger()) // Windows
- {
- showPasteMenu(evt.getX(), evt.getY());
- }
+ showPasteMenu(evt.getX(), evt.getY());
}
- });
- desktopPane.addMouseListener(ma);
- }
+ }
+ });
+ desktopPane.addMouseListener(ma);
} catch (Throwable t)
{
t.printStackTrace();
final JInternalFrame frame, String title, int w, int h)
{
// 58 classes
- getInstance().addFrame(frame, title, Desktop.FRAME_MAKE_VISIBLE, w, h,
+
+ setFrame(frame, title, w, h);
+
+ // Headless operation has no Desktop instance, only the static class.
+
+ if (getInstance() != null)
+ getInstance().addFrame(frame, Desktop.FRAME_MAKE_VISIBLE,
FRAME_ALLOW_RESIZE, FRAME_SET_MIN_SIZE_300);
}
int w, int h, boolean resizable, boolean ignoreMinSize)
{
// 15 classes
- getInstance().addFrame(frame, title, makeVisible, w, h, resizable,
+ setFrame(frame, title, w, h);
+
+ if (getInstance() != null)
+ getInstance().addFrame(frame, makeVisible, resizable,
ignoreMinSize);
}
public final static boolean FRAME_SET_MIN_SIZE_300 = false;
- private void addFrame(JInternalFrame frame, String title,
- boolean makeVisible, int w, int h, boolean resizable,
- boolean ignoreMinSize)
+ private static void setFrame(JInternalFrame frame, String title,
+ int w, int h)
{
// TODO: allow callers to determine X and Y position of frame (eg. via
// bounds object).
{
frame.setSize(w, h);
}
- // THIS IS A PUBLIC STATIC METHOD, SO IT MAY BE CALLED EVEN IN
- // A HEADLESS STATE WHEN NO DESKTOP EXISTS. MUST RETURN
- // IF JALVIEW IS RUNNING HEADLESS
- // ///////////////////////////////////////////////
- if (Jalview.isHeadlessMode())
- {
- return;
- }
+ }
+
+ private void addFrame(JInternalFrame frame,
+ boolean makeVisible, boolean resizable,
+ boolean ignoreMinSize)
+ {
openFrameCount++;
* add an entry for the new frame in the Window menu
* (and remove it when the frame is closed)
*/
- final JMenuItem menuItem = new JMenuItem(title);
+ final JMenuItem menuItem = new JMenuItem(frame.getTitle());
frame.addInternalFrameListener(new InternalFrameAdapter()
{
@Override
KeyStroke ctrlWKey = KeyStroke.getKeyStroke(KeyEvent.VK_W,
InputEvent.CTRL_DOWN_MASK);
KeyStroke cmdWKey = KeyStroke.getKeyStroke(KeyEvent.VK_W,
- ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx());
+ Platform.SHORTCUT_KEY_MASK);
InputMap inputMap = frame
.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
*/
protected void addQuitHandler()
{
- getRootPane()
- .getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
- KeyStroke
- .getKeyStroke(KeyEvent.VK_Q,
- jalview.util.ShortcutKeyMaskExWrapper
- .getMenuShortcutKeyMaskEx()),
+
+ getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)
+ .put(KeyStroke.getKeyStroke(KeyEvent.VK_Q,
+ Platform.SHORTCUT_KEY_MASK),
"Quit");
getRootPane().getActionMap().put("Quit", new AbstractAction()
{