mirror of
https://github.com/PAMGuard/PAMGuard.git
synced 2024-11-25 16:42:27 +00:00
Hide tool tips
Use Esc key to hide all Swing tooltips for 6 seconds. Works across PAMGuard.
This commit is contained in:
parent
4322b2d42b
commit
b1016c0cc8
@ -260,11 +260,6 @@ public class PamController implements PamControllerInterface, PamSettings {
|
|||||||
new MultiportController(this);
|
new MultiportController(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// binaryStore = new BinaryStore(this);
|
|
||||||
ToolTipManager.sharedInstance().setDismissDelay(20000);
|
|
||||||
|
|
||||||
|
|
||||||
guiFrameManager = PamGUIManager.createGUI(this, object);
|
guiFrameManager = PamGUIManager.createGUI(this, object);
|
||||||
guiFrameManager.init(); //perform any start up processes for the GUI.
|
guiFrameManager.init(); //perform any start up processes for the GUI.
|
||||||
|
|
||||||
|
@ -23,10 +23,13 @@ package PamView;
|
|||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.Container;
|
import java.awt.Container;
|
||||||
|
import java.awt.DefaultKeyboardFocusManager;
|
||||||
import java.awt.Desktop;
|
import java.awt.Desktop;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
import java.awt.Frame;
|
import java.awt.Frame;
|
||||||
|
import java.awt.HeadlessException;
|
||||||
|
import java.awt.KeyEventDispatcher;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
import java.awt.Window;
|
import java.awt.Window;
|
||||||
@ -34,6 +37,8 @@ import java.awt.event.ActionEvent;
|
|||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.awt.event.ComponentAdapter;
|
import java.awt.event.ComponentAdapter;
|
||||||
import java.awt.event.ComponentEvent;
|
import java.awt.event.ComponentEvent;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
import java.awt.event.KeyListener;
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
@ -58,6 +63,7 @@ import javax.swing.JOptionPane;
|
|||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.SwingConstants;
|
import javax.swing.SwingConstants;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
import javax.swing.Timer;
|
||||||
import javax.swing.ToolTipManager;
|
import javax.swing.ToolTipManager;
|
||||||
import javax.swing.WindowConstants;
|
import javax.swing.WindowConstants;
|
||||||
import javax.swing.event.ChangeEvent;
|
import javax.swing.event.ChangeEvent;
|
||||||
@ -140,7 +146,7 @@ public class PamGui extends PamView implements WindowListener, PamSettings {
|
|||||||
removeModuleEnabler = new MenuItemEnabler();
|
removeModuleEnabler = new MenuItemEnabler();
|
||||||
orderModulesEnabler = new MenuItemEnabler();
|
orderModulesEnabler = new MenuItemEnabler();
|
||||||
|
|
||||||
frame = new JFrame(getModeName());
|
frame = new MainFrame(getModeName());
|
||||||
|
|
||||||
if (FullScreen.isGoFullScreen()) {
|
if (FullScreen.isGoFullScreen()) {
|
||||||
// frame.setUndecorated(true);
|
// frame.setUndecorated(true);
|
||||||
@ -179,6 +185,7 @@ public class PamGui extends PamView implements WindowListener, PamSettings {
|
|||||||
|
|
||||||
frame.addWindowListener(this);
|
frame.addWindowListener(this);
|
||||||
|
|
||||||
|
|
||||||
mainPanel = new PamBorderPanel(new BorderLayout());
|
mainPanel = new PamBorderPanel(new BorderLayout());
|
||||||
mainPanel.setOpaque(true);
|
mainPanel.setOpaque(true);
|
||||||
mainPanel.addComponentListener(new GUIComponentListener());
|
mainPanel.addComponentListener(new GUIComponentListener());
|
||||||
@ -255,9 +262,49 @@ public class PamGui extends PamView implements WindowListener, PamSettings {
|
|||||||
|
|
||||||
hideToolTips(guiParameters.isHideAllToolTips());
|
hideToolTips(guiParameters.isHideAllToolTips());
|
||||||
|
|
||||||
|
|
||||||
|
ToolTipManager.sharedInstance().setDismissDelay(20000);
|
||||||
|
// ToolTipManager.sharedInstance().setReshowDelay(5000);
|
||||||
|
// System.out.println("Tool tip : getReshowDelay" + ToolTipManager.sharedInstance().getReshowDelay());
|
||||||
|
// System.out.println("Tool tip : getInitialDelay" + ToolTipManager.sharedInstance().getInitialDelay());
|
||||||
|
// System.out.println("Tool tip : getDismissDelay" + ToolTipManager.sharedInstance().getDismissDelay());
|
||||||
|
|
||||||
somethingShowing = true;
|
somethingShowing = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private class MainFrame extends JFrame implements KeyEventDispatcher {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private Timer noTipTimer;
|
||||||
|
|
||||||
|
public MainFrame(String title) throws HeadlessException {
|
||||||
|
super(title);
|
||||||
|
DefaultKeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(this);
|
||||||
|
noTipTimer = new Timer(6000, new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
hideToolTips(guiParameters.isHideAllToolTips());
|
||||||
|
noTipTimer.stop();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean dispatchKeyEvent(KeyEvent e) {
|
||||||
|
if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {
|
||||||
|
if (noTipTimer.isRunning()) {
|
||||||
|
noTipTimer.restart();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
noTipTimer.start();
|
||||||
|
}
|
||||||
|
hideToolTips(true);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private static volatile boolean somethingShowing = false;
|
private static volatile boolean somethingShowing = false;
|
||||||
|
|
||||||
@ -825,7 +872,8 @@ public class PamGui extends PamView implements WindowListener, PamSettings {
|
|||||||
menu.add(menuItem);
|
menu.add(menuItem);
|
||||||
|
|
||||||
JCheckBoxMenuItem hideTips = new JCheckBoxMenuItem("Hide all tool tips", guiParameters.isHideAllToolTips());
|
JCheckBoxMenuItem hideTips = new JCheckBoxMenuItem("Hide all tool tips", guiParameters.isHideAllToolTips());
|
||||||
hideTips.setToolTipText("Hide annoying pop-up tool tips which keep getting in the way");
|
hideTips.setToolTipText("<html>Hide annoying pop-up tool tips which keep getting in the way" +
|
||||||
|
"<br>(or press the Escape key to hide them for 6 seconds)</html>");
|
||||||
hideTips.addActionListener(new HideToolTips(hideTips));
|
hideTips.addActionListener(new HideToolTips(hideTips));
|
||||||
menu.add(hideTips);
|
menu.add(hideTips);
|
||||||
|
|
||||||
@ -1285,11 +1333,11 @@ public class PamGui extends PamView implements WindowListener, PamSettings {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Rewrote the menu enablers for the Logging menu (and made it more general
|
* Rewrote the menu enablers for the Logging menu (and made it more general
|
||||||
* to extend to other menus shoule they ever need to be anabled.
|
* to extend to other menus should they ever need to be enabled).
|
||||||
*
|
*
|
||||||
* This arises now that we have multiple main menus on the frame depending on
|
* This arises now that we have multiple main menus on the frame depending on
|
||||||
* which tab is being viewed. Since each menu bar has references to different
|
* which tab is being viewed. Since each menu bar has references to different
|
||||||
* menus and menu items, we can no lnger use the ones set in the constuctors for
|
* menus and menu items, we can no longer use the ones set in the constructors for
|
||||||
* the menu. Each item is therefore found by name before it's enabled. For now
|
* the menu. Each item is therefore found by name before it's enabled. For now
|
||||||
* I'm taking the names out of the reference to the last menu item.
|
* I'm taking the names out of the reference to the last menu item.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user