You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2018/03/13 07:04:51 UTC
[23/27] logging-chainsaw git commit: Reformat code for consistency
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/96ebd9ad/src/main/java/org/apache/log4j/chainsaw/ChainsawTabbedPane.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/ChainsawTabbedPane.java b/src/main/java/org/apache/log4j/chainsaw/ChainsawTabbedPane.java
index 97b0cd3..ce79562 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ChainsawTabbedPane.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ChainsawTabbedPane.java
@@ -18,32 +18,27 @@
/*
* @author Paul Smith <psmith@apache.org>
*
-*/
+ */
package org.apache.log4j.chainsaw;
-import java.awt.Component;
-import java.awt.EventQueue;
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
-
-import javax.swing.Icon;
-import javax.swing.JComponent;
-import javax.swing.JTabbedPane;
-
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
-
import org.apache.log4j.chainsaw.prefs.LoadSettingsEvent;
import org.apache.log4j.chainsaw.prefs.SaveSettingsEvent;
import org.apache.log4j.chainsaw.prefs.SettingsListener;
import org.apache.log4j.chainsaw.prefs.SettingsManager;
+import javax.swing.*;
+import java.awt.*;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+
/**
* The only reason this class is needed is because
* of a stupid 'issue' with the JTabbedPane.
- *
+ * <p>
* If the currently selected tab is the first tab,
* and we insert a new tab at the front, then as
* far as the JTabbedPane is concerned, NO STATE has
@@ -51,141 +46,141 @@ import org.apache.log4j.chainsaw.prefs.SettingsManager;
* the same (even though the TAB is different - go figure)
* and therefore no ChangeEvent is generated and sent
* to listeners. Thanks very much Sun!
- *
+ * <p>
* For more information on the issue:
* http://developer.java.sun.com/developer/bugParade/bugs/4253819.html
- *
+ *
* @author Paul Smith <psmith@apache.org>
* @author Scott Deboy <sdeboy@apache.org>
- *
*/
class ChainsawTabbedPane extends JTabbedPane implements SettingsListener {
- public SavableTabSetting tabSetting;
- public static final String WELCOME_TAB = "Welcome";
- public static final String ZEROCONF = "Zeroconf";
- /**
- *
- * Create the tabbed pane.
- *
- */
- public ChainsawTabbedPane() {
- super();
- }
-
- /**
- * Returns true if this TabbedPane has an instance of the WelcomePanel
- * in it
- * @return true/false
- */
- boolean containsWelcomePanel() {
- return indexOfTab("Welcome") > -1;
- }
-
- /**
- * Our custom implementation of inserting a new tab,
- * this method ALWAYS inserts it at the front because
- * we get an ArrayIndexOutOfBoundsException otherwise
- * under some JDK implementations.
- *
- * This method also causes a fireStateChange() to be
- * called so that listeners get notified of the event.
- * See the class level comments for the reason why...
- * @param name
- * @param component
- */
- public void addANewTab(String name, JComponent component, Icon icon) {
- super.insertTab(name, icon, component, null, getTabCount());
-
- super.fireStateChanged();
- if (!"chainsaw-log".equals(name)) {
- EventQueue.invokeLater(() -> setSelectedTab(getTabCount() - 1));
+ public SavableTabSetting tabSetting;
+ public static final String WELCOME_TAB = "Welcome";
+ public static final String ZEROCONF = "Zeroconf";
+
+ /**
+ * Create the tabbed pane.
+ */
+ public ChainsawTabbedPane() {
+ super();
+ }
+
+ /**
+ * Returns true if this TabbedPane has an instance of the WelcomePanel
+ * in it
+ *
+ * @return true/false
+ */
+ boolean containsWelcomePanel() {
+ return indexOfTab("Welcome") > -1;
+ }
+
+ /**
+ * Our custom implementation of inserting a new tab,
+ * this method ALWAYS inserts it at the front because
+ * we get an ArrayIndexOutOfBoundsException otherwise
+ * under some JDK implementations.
+ * <p>
+ * This method also causes a fireStateChange() to be
+ * called so that listeners get notified of the event.
+ * See the class level comments for the reason why...
+ *
+ * @param name
+ * @param component
+ */
+ public void addANewTab(String name, JComponent component, Icon icon) {
+ super.insertTab(name, icon, component, null, getTabCount());
+
+ super.fireStateChanged();
+ if (!"chainsaw-log".equals(name)) {
+ EventQueue.invokeLater(() -> setSelectedTab(getTabCount() - 1));
+ }
+ }
+
+ public void setSelectedTab(int index) {
+ if (getTabCount() >= index) {
+ setSelectedIndex(index);
+ }
+
+ getSelectedComponent().setVisible(true);
+ getSelectedComponent().validate();
+ super.fireStateChanged();
+ }
+
+ public void addANewTab(
+ String name, JComponent component, Icon icon, String tooltip) {
+ super.insertTab(name, icon, component, tooltip, getTabCount());
+ super.fireStateChanged();
+ }
+
+ public void remove(Component component) {
+ super.remove(component);
+ super.fireStateChanged();
}
- }
- public void setSelectedTab(int index) {
- if (getTabCount() >= index) {
- setSelectedIndex(index);
+ /**
+ * Saves the state of the currently active tabs to an XML file.
+ * Only considers the Welcome, Drag and Drop and chainsaw-log
+ * panels as they are the panel which are always running. Saves
+ * whether they are hidden or not....
+ */
+
+ public void saveSettings(SaveSettingsEvent event) {
+ File file = new File(SettingsManager.getInstance().getSettingsDirectory(), "tab-settings.xml");
+ XStream stream = new XStream(new DomDriver());
+ try {
+ FileWriter writer = new FileWriter(file);
+ int count = super.getTabCount();
+ String title;
+ SavableTabSetting setting = new SavableTabSetting();
+ for (int i = 0; i < count; i++) {
+ title = super.getTitleAt(i);
+ switch (title) {
+ case WELCOME_TAB:
+ setting.setWelcome(true);
+ break;
+ case "chainsaw-log":
+ setting.setChainsawLog(true);
+ break;
+ case ZEROCONF:
+ setting.setZeroconf(true);
+ break;
+ }
+ }
+
+ stream.toXML(setting, writer);
+ writer.close();
+
+ } catch (Exception e) {
+ file.delete();
+ e.printStackTrace();
+ }
}
- getSelectedComponent().setVisible(true);
- getSelectedComponent().validate();
- super.fireStateChanged();
- }
-
- public void addANewTab(
- String name, JComponent component, Icon icon, String tooltip) {
- super.insertTab(name, icon, component, tooltip, getTabCount());
- super.fireStateChanged();
- }
-
- public void remove(Component component) {
- super.remove(component);
- super.fireStateChanged();
- }
-
- /**
- * Saves the state of the currently active tabs to an XML file.
- * Only considers the Welcome, Drag and Drop and chainsaw-log
- * panels as they are the panel which are always running. Saves
- * whether they are hidden or not....
- */
-
- public void saveSettings(SaveSettingsEvent event){
- File file = new File(SettingsManager.getInstance().getSettingsDirectory(), "tab-settings.xml");
- XStream stream = new XStream(new DomDriver());
- try {
- FileWriter writer = new FileWriter(file);
- int count = super.getTabCount();
- String title;
- SavableTabSetting setting = new SavableTabSetting();
- for(int i = 0 ; i < count ; i++){
- title = super.getTitleAt(i);
- switch (title) {
- case WELCOME_TAB:
- setting.setWelcome(true);
- break;
- case "chainsaw-log":
- setting.setChainsawLog(true);
- break;
- case ZEROCONF:
- setting.setZeroconf(true);
- break;
- }
- }
-
- stream.toXML(setting, writer);
- writer.close();
-
- } catch (Exception e) {
- file.delete();
- e.printStackTrace();
- }
- }
-
- /**
- * Loads the saved tab setting by reading the XML file.
- * If the file doesn't exist, all three panels should be
- * shown as the default setting....
- */
-
- public void loadSettings(LoadSettingsEvent event){
- File file = new File(SettingsManager.getInstance().getSettingsDirectory(), "tab-settings.xml");
- XStream stream = new XStream(new DomDriver());
- try {
- if (file.exists()) {
- FileReader reader = new FileReader(file);
- tabSetting = (SavableTabSetting) stream.fromXML(reader);
- reader.close();
- } else {
- tabSetting = new SavableTabSetting();
- tabSetting.setWelcome(true);
- tabSetting.setChainsawLog(true);
- tabSetting.setZeroconf(true);
- }
- } catch (Exception e) {
- e.printStackTrace();
- file.delete();
+ /**
+ * Loads the saved tab setting by reading the XML file.
+ * If the file doesn't exist, all three panels should be
+ * shown as the default setting....
+ */
+
+ public void loadSettings(LoadSettingsEvent event) {
+ File file = new File(SettingsManager.getInstance().getSettingsDirectory(), "tab-settings.xml");
+ XStream stream = new XStream(new DomDriver());
+ try {
+ if (file.exists()) {
+ FileReader reader = new FileReader(file);
+ tabSetting = (SavableTabSetting) stream.fromXML(reader);
+ reader.close();
+ } else {
+ tabSetting = new SavableTabSetting();
+ tabSetting.setWelcome(true);
+ tabSetting.setChainsawLog(true);
+ tabSetting.setZeroconf(true);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ file.delete();
+ }
}
- }
}
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/96ebd9ad/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java b/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
index 30e283c..90abba9 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
@@ -17,10 +17,16 @@
package org.apache.log4j.chainsaw;
-import java.awt.BorderLayout;
-import java.awt.Dimension;
-import java.awt.Insets;
-import java.awt.Toolkit;
+import org.apache.log4j.chainsaw.filter.FilterModel;
+import org.apache.log4j.chainsaw.help.HelpManager;
+import org.apache.log4j.chainsaw.icons.ChainsawIcons;
+import org.apache.log4j.chainsaw.osx.OSXIntegration;
+import org.apache.log4j.chainsaw.receivers.ReceiversHelper;
+
+import javax.swing.*;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
@@ -28,917 +34,889 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import javax.swing.AbstractAction;
-import javax.swing.Action;
-import javax.swing.Box;
-import javax.swing.ImageIcon;
-import javax.swing.JButton;
-import javax.swing.JCheckBoxMenuItem;
-import javax.swing.JComponent;
-import javax.swing.JDialog;
-import javax.swing.JEditorPane;
-import javax.swing.JLabel;
-import javax.swing.JMenu;
-import javax.swing.JMenuBar;
-import javax.swing.JMenuItem;
-import javax.swing.JPanel;
-import javax.swing.JRadioButtonMenuItem;
-import javax.swing.JToolBar;
-import javax.swing.KeyStroke;
-import javax.swing.SwingConstants;
-import javax.swing.SwingUtilities;
-import javax.swing.UIManager;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
-
-import org.apache.log4j.chainsaw.filter.FilterModel;
-import org.apache.log4j.chainsaw.help.HelpManager;
-import org.apache.log4j.chainsaw.icons.ChainsawIcons;
-import org.apache.log4j.chainsaw.osx.OSXIntegration;
-import org.apache.log4j.chainsaw.receivers.ReceiversHelper;
-
/**
* Encapsulates the full Toolbar, and menus and all the actions that can be performed from it.
+ *
* @author Paul Smith <psmith@apache.org>
* @author Scott Deboy <sdeboy@apache.org>
*/
class ChainsawToolBarAndMenus implements ChangeListener {
- private final SmallToggleButton showReceiversButton;
- private final Action changeModelAction;
- private final Action clearAction;
- private final Action toggleWelcomeVisibleAction;
- private final Action findPreviousColorizedEventAction;
- private final Action findNextColorizedEventAction;
- private final Action findNextMarkerAction;
- private final Action findPreviousMarkerAction;
- private final Action toggleMarkerAction;
- private final Action clearAllMarkersAction;
- private final Action pauseAction;
- private final Action showPreferencesAction;
- private final Action showColorPanelAction;
- private final Action showReceiversAction;
- private final Action toggleLogTreeAction;
- private final Action toggleScrollToBottomAction;
- private final Action scrollToTopAction;
- private final Action toggleDetailPaneAction;
- private final Action toggleToolbarAction;
- private final Action undockAction;
- private final Action customExpressionPanelAction;
- private final Collection lookAndFeelMenus = new ArrayList();
- private final JCheckBoxMenuItem toggleShowReceiversCheck =
- new JCheckBoxMenuItem();
- private final JCheckBoxMenuItem toggleLogTreeMenuItem =
- new JCheckBoxMenuItem();
- private final JCheckBoxMenuItem toggleScrollToBottomMenuItem =
- new JCheckBoxMenuItem();
- private final JCheckBoxMenuItem toggleDetailMenuItem =
- new JCheckBoxMenuItem();
- private final JCheckBoxMenuItem toggleCyclicMenuItem =
- new JCheckBoxMenuItem();
- private final FileMenu fileMenu;
- private final JCheckBoxMenuItem toggleStatusBarCheck =
- new JCheckBoxMenuItem();
- private final JMenu viewMenu = new JMenu("View");
- private final JMenuBar menuBar;
- private final JCheckBoxMenuItem menuShowWelcome = new JCheckBoxMenuItem();
- private final JToolBar toolbar;
- private final LogUI logui;
- private final SmallButton clearButton = new SmallButton();
- private final SmallToggleButton detailPaneButton = new SmallToggleButton();
- private final SmallToggleButton logTreePaneButton = new SmallToggleButton();
- private final SmallToggleButton scrollToBottomButton = new SmallToggleButton();
- private final SmallToggleButton pauseButton = new SmallToggleButton();
- private final SmallToggleButton toggleCyclicButton = new SmallToggleButton();
- private final Action[] logPanelSpecificActions;
- private final JMenu activeTabMenu = new JMenu("Current tab");
+ private final SmallToggleButton showReceiversButton;
+ private final Action changeModelAction;
+ private final Action clearAction;
+ private final Action toggleWelcomeVisibleAction;
+ private final Action findPreviousColorizedEventAction;
+ private final Action findNextColorizedEventAction;
+ private final Action findNextMarkerAction;
+ private final Action findPreviousMarkerAction;
+ private final Action toggleMarkerAction;
+ private final Action clearAllMarkersAction;
+ private final Action pauseAction;
+ private final Action showPreferencesAction;
+ private final Action showColorPanelAction;
+ private final Action showReceiversAction;
+ private final Action toggleLogTreeAction;
+ private final Action toggleScrollToBottomAction;
+ private final Action scrollToTopAction;
+ private final Action toggleDetailPaneAction;
+ private final Action toggleToolbarAction;
+ private final Action undockAction;
+ private final Action customExpressionPanelAction;
+ private final Collection lookAndFeelMenus = new ArrayList();
+ private final JCheckBoxMenuItem toggleShowReceiversCheck =
+ new JCheckBoxMenuItem();
+ private final JCheckBoxMenuItem toggleLogTreeMenuItem =
+ new JCheckBoxMenuItem();
+ private final JCheckBoxMenuItem toggleScrollToBottomMenuItem =
+ new JCheckBoxMenuItem();
+ private final JCheckBoxMenuItem toggleDetailMenuItem =
+ new JCheckBoxMenuItem();
+ private final JCheckBoxMenuItem toggleCyclicMenuItem =
+ new JCheckBoxMenuItem();
+ private final FileMenu fileMenu;
+ private final JCheckBoxMenuItem toggleStatusBarCheck =
+ new JCheckBoxMenuItem();
+ private final JMenu viewMenu = new JMenu("View");
+ private final JMenuBar menuBar;
+ private final JCheckBoxMenuItem menuShowWelcome = new JCheckBoxMenuItem();
+ private final JToolBar toolbar;
+ private final LogUI logui;
+ private final SmallButton clearButton = new SmallButton();
+ private final SmallToggleButton detailPaneButton = new SmallToggleButton();
+ private final SmallToggleButton logTreePaneButton = new SmallToggleButton();
+ private final SmallToggleButton scrollToBottomButton = new SmallToggleButton();
+ private final SmallToggleButton pauseButton = new SmallToggleButton();
+ private final SmallToggleButton toggleCyclicButton = new SmallToggleButton();
+ private final Action[] logPanelSpecificActions;
+ private final JMenu activeTabMenu = new JMenu("Current tab");
ChainsawToolBarAndMenus(final LogUI logui) {
- this.logui = logui;
- toolbar = new JToolBar(SwingConstants.HORIZONTAL);
- menuBar = new JMenuBar();
- fileMenu = new FileMenu(logui);
- toggleWelcomeVisibleAction = toggleWelcomeVisibleAction();
- changeModelAction = createChangeModelAction();
- findNextMarkerAction = createFindNextMarkerAction();
- findPreviousColorizedEventAction = getFindPreviousColorizedEventAction();
- findNextColorizedEventAction = getFindNextColorizedEventAction();
- findPreviousMarkerAction = createFindPreviousMarkerAction();
- toggleMarkerAction = createToggleMarkerAction();
- clearAllMarkersAction = createClearAllMarkersAction();
- customExpressionPanelAction = createCustomExpressionPanelAction();
- showPreferencesAction = createShowPreferencesAction();
- showColorPanelAction = createShowColorPanelAction();
- toggleToolbarAction = createToggleToolbarAction();
- toggleLogTreeAction = createToggleLogTreeAction();
- toggleScrollToBottomAction = createScrollToBottomAction();
- scrollToTopAction = createScrollToTopAction();
- pauseAction = createPauseAction();
- clearAction = createClearAction();
- undockAction = createUndockAction();
- showReceiversAction = createShowReceiversAction();
- showReceiversButton = new SmallToggleButton(showReceiversAction);
-
- toggleDetailPaneAction = createToggleDetailPaneAction();
- createMenuBar();
- createToolbar();
-
- logPanelSpecificActions =
- new Action[] {
- pauseAction, findNextColorizedEventAction, findPreviousColorizedEventAction,
- findNextMarkerAction, findPreviousMarkerAction,
- toggleMarkerAction, clearAllMarkersAction, scrollToTopAction, clearAction,
- fileMenu.getFileSaveAction(), toggleDetailPaneAction,
- showPreferencesAction, showColorPanelAction, undockAction,
- toggleLogTreeAction, toggleScrollToBottomAction, changeModelAction,
- };
-
- logui.getApplicationPreferenceModel().addPropertyChangeListener(
- "statusBar",
+ this.logui = logui;
+ toolbar = new JToolBar(SwingConstants.HORIZONTAL);
+ menuBar = new JMenuBar();
+ fileMenu = new FileMenu(logui);
+ toggleWelcomeVisibleAction = toggleWelcomeVisibleAction();
+ changeModelAction = createChangeModelAction();
+ findNextMarkerAction = createFindNextMarkerAction();
+ findPreviousColorizedEventAction = getFindPreviousColorizedEventAction();
+ findNextColorizedEventAction = getFindNextColorizedEventAction();
+ findPreviousMarkerAction = createFindPreviousMarkerAction();
+ toggleMarkerAction = createToggleMarkerAction();
+ clearAllMarkersAction = createClearAllMarkersAction();
+ customExpressionPanelAction = createCustomExpressionPanelAction();
+ showPreferencesAction = createShowPreferencesAction();
+ showColorPanelAction = createShowColorPanelAction();
+ toggleToolbarAction = createToggleToolbarAction();
+ toggleLogTreeAction = createToggleLogTreeAction();
+ toggleScrollToBottomAction = createScrollToBottomAction();
+ scrollToTopAction = createScrollToTopAction();
+ pauseAction = createPauseAction();
+ clearAction = createClearAction();
+ undockAction = createUndockAction();
+ showReceiversAction = createShowReceiversAction();
+ showReceiversButton = new SmallToggleButton(showReceiversAction);
+
+ toggleDetailPaneAction = createToggleDetailPaneAction();
+ createMenuBar();
+ createToolbar();
+
+ logPanelSpecificActions =
+ new Action[]{
+ pauseAction, findNextColorizedEventAction, findPreviousColorizedEventAction,
+ findNextMarkerAction, findPreviousMarkerAction,
+ toggleMarkerAction, clearAllMarkersAction, scrollToTopAction, clearAction,
+ fileMenu.getFileSaveAction(), toggleDetailPaneAction,
+ showPreferencesAction, showColorPanelAction, undockAction,
+ toggleLogTreeAction, toggleScrollToBottomAction, changeModelAction,
+ };
+
+ logui.getApplicationPreferenceModel().addPropertyChangeListener(
+ "statusBar",
evt -> {
- boolean value = (Boolean) evt.getNewValue();
- toggleStatusBarCheck.setSelected(value);
+ boolean value = (Boolean) evt.getNewValue();
+ toggleStatusBarCheck.setSelected(value);
});
- logui.getApplicationPreferenceModel().addPropertyChangeListener(
- "receivers",
+ logui.getApplicationPreferenceModel().addPropertyChangeListener(
+ "receivers",
evt -> {
- boolean value = (Boolean) evt.getNewValue();
- showReceiversButton.setSelected(value);
- toggleShowReceiversCheck.setSelected(value);
+ boolean value = (Boolean) evt.getNewValue();
+ showReceiversButton.setSelected(value);
+ toggleShowReceiversCheck.setSelected(value);
});
- }
-
- /**
- * @return
- */
- private Action createChangeModelAction() {
- Action action =
- new AbstractAction("Use Cyclic", new ImageIcon(ChainsawIcons.REFRESH)) {
- public void actionPerformed(ActionEvent arg0) {
- LogPanel logPanel = logui.getCurrentLogPanel();
- logPanel.toggleCyclic();
- scanState();
- }
- };
-
- action.putValue(
- Action.SHORT_DESCRIPTION, "Changes between Cyclic and Unlimited mode.");
-
- return action;
- }
-
- /**
- * @return
- */
- private Action createToggleLogTreeAction() {
- Action action =
- new AbstractAction("Toggle the Logger Tree Pane") {
- public void actionPerformed(ActionEvent e) {
- if (logui.getCurrentLogPanel() != null) {
- logui.getCurrentLogPanel().toggleLogTreeVisible();
- }
- }
- };
-
- action.putValue(Action.SHORT_DESCRIPTION, "Toggles the Logger Tree Pane");
- action.putValue("enabled", Boolean.TRUE);
- action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_T);
- action.putValue(
- Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_T, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
- action.putValue(
- Action.SMALL_ICON, new ImageIcon(ChainsawIcons.WINDOW_ICON));
-
- return action;
- }
-
- /**
- * @return
- */
- private Action createScrollToBottomAction() {
- Action action =
- new AbstractAction("Toggle Scroll to Bottom") {
- public void actionPerformed(ActionEvent e) {
- if (logui.getCurrentLogPanel() != null) {
- logui.getCurrentLogPanel().toggleScrollToBottom();
- }
- }
- };
-
- action.putValue(Action.SHORT_DESCRIPTION, "Toggles Scroll to Bottom");
- action.putValue("enabled", Boolean.TRUE);
- action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_B);
- action.putValue(
- Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_B, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
- action.putValue(
- Action.SMALL_ICON, new ImageIcon(ChainsawIcons.SCROLL_TO_BOTTOM));
-
- return action;
- }
+ }
- private Action createScrollToTopAction() {
- Action action =
- new AbstractAction("Scroll to top") {
- public void actionPerformed(ActionEvent e) {
- if (logui.getCurrentLogPanel() != null) {
- logui.getCurrentLogPanel().scrollToTop();
- }
- }
- };
+ /**
+ * @return
+ */
+ private Action createChangeModelAction() {
+ Action action =
+ new AbstractAction("Use Cyclic", new ImageIcon(ChainsawIcons.REFRESH)) {
+ public void actionPerformed(ActionEvent arg0) {
+ LogPanel logPanel = logui.getCurrentLogPanel();
+ logPanel.toggleCyclic();
+ scanState();
+ }
+ };
+
+ action.putValue(
+ Action.SHORT_DESCRIPTION, "Changes between Cyclic and Unlimited mode.");
+
+ return action;
+ }
- action.putValue(Action.SHORT_DESCRIPTION, "Scroll to top");
- action.putValue("enabled", Boolean.TRUE);
- action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_T);
- action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
+ /**
+ * @return
+ */
+ private Action createToggleLogTreeAction() {
+ Action action =
+ new AbstractAction("Toggle the Logger Tree Pane") {
+ public void actionPerformed(ActionEvent e) {
+ if (logui.getCurrentLogPanel() != null) {
+ logui.getCurrentLogPanel().toggleLogTreeVisible();
+ }
+ }
+ };
+
+ action.putValue(Action.SHORT_DESCRIPTION, "Toggles the Logger Tree Pane");
+ action.putValue("enabled", Boolean.TRUE);
+ action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_T);
+ action.putValue(
+ Action.ACCELERATOR_KEY,
+ KeyStroke.getKeyStroke(KeyEvent.VK_T, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
+ action.putValue(
+ Action.SMALL_ICON, new ImageIcon(ChainsawIcons.WINDOW_ICON));
+
+ return action;
+ }
- return action;
+ /**
+ * @return
+ */
+ private Action createScrollToBottomAction() {
+ Action action =
+ new AbstractAction("Toggle Scroll to Bottom") {
+ public void actionPerformed(ActionEvent e) {
+ if (logui.getCurrentLogPanel() != null) {
+ logui.getCurrentLogPanel().toggleScrollToBottom();
+ }
+ }
+ };
+
+ action.putValue(Action.SHORT_DESCRIPTION, "Toggles Scroll to Bottom");
+ action.putValue("enabled", Boolean.TRUE);
+ action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_B);
+ action.putValue(
+ Action.ACCELERATOR_KEY,
+ KeyStroke.getKeyStroke(KeyEvent.VK_B, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
+ action.putValue(
+ Action.SMALL_ICON, new ImageIcon(ChainsawIcons.SCROLL_TO_BOTTOM));
+
+ return action;
}
- private Action createFindNextMarkerAction() {
- Action action =
- new AbstractAction("Find next marker") {
- public void actionPerformed(ActionEvent e) {
- if (logui.getCurrentLogPanel() != null) {
- logui.getCurrentLogPanel().findNextMarker();
- }
- }
- };
+ private Action createScrollToTopAction() {
+ Action action =
+ new AbstractAction("Scroll to top") {
+ public void actionPerformed(ActionEvent e) {
+ if (logui.getCurrentLogPanel() != null) {
+ logui.getCurrentLogPanel().scrollToTop();
+ }
+ }
+ };
+
+ action.putValue(Action.SHORT_DESCRIPTION, "Scroll to top");
+ action.putValue("enabled", Boolean.TRUE);
+ action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_T);
+ action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
- action.putValue(Action.SHORT_DESCRIPTION, "Find the next marker from the current location");
- action.putValue("enabled", Boolean.TRUE);
- action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_N);
- action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke("F2"));
+ return action;
+ }
- return action;
- }
+ private Action createFindNextMarkerAction() {
+ Action action =
+ new AbstractAction("Find next marker") {
+ public void actionPerformed(ActionEvent e) {
+ if (logui.getCurrentLogPanel() != null) {
+ logui.getCurrentLogPanel().findNextMarker();
+ }
+ }
+ };
+
+ action.putValue(Action.SHORT_DESCRIPTION, "Find the next marker from the current location");
+ action.putValue("enabled", Boolean.TRUE);
+ action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_N);
+ action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke("F2"));
- private Action createFindPreviousMarkerAction() {
- Action action =
- new AbstractAction("Find previous marker") {
- public void actionPerformed(ActionEvent e) {
- if (logui.getCurrentLogPanel() != null) {
- logui.getCurrentLogPanel().findPreviousMarker();
- }
- }
- };
+ return action;
+ }
- action.putValue(Action.SHORT_DESCRIPTION, "Find the previous marker from the current location");
- action.putValue("enabled", Boolean.TRUE);
- action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_P);
- action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F2, InputEvent.SHIFT_MASK));
+ private Action createFindPreviousMarkerAction() {
+ Action action =
+ new AbstractAction("Find previous marker") {
+ public void actionPerformed(ActionEvent e) {
+ if (logui.getCurrentLogPanel() != null) {
+ logui.getCurrentLogPanel().findPreviousMarker();
+ }
+ }
+ };
+
+ action.putValue(Action.SHORT_DESCRIPTION, "Find the previous marker from the current location");
+ action.putValue("enabled", Boolean.TRUE);
+ action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_P);
+ action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F2, InputEvent.SHIFT_MASK));
- return action;
+ return action;
}
private Action createToggleMarkerAction() {
- Action action =
- new AbstractAction("Toggle marker") {
- public void actionPerformed(ActionEvent e) {
- if (logui.getCurrentLogPanel() != null) {
- logui.getCurrentLogPanel().toggleMarker();
- }
- }
- };
-
- action.putValue(Action.SHORT_DESCRIPTION, "Toggle marker for selected row");
- action.putValue("enabled", Boolean.TRUE);
- action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_T);
- action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F2, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
+ Action action =
+ new AbstractAction("Toggle marker") {
+ public void actionPerformed(ActionEvent e) {
+ if (logui.getCurrentLogPanel() != null) {
+ logui.getCurrentLogPanel().toggleMarker();
+ }
+ }
+ };
+
+ action.putValue(Action.SHORT_DESCRIPTION, "Toggle marker for selected row");
+ action.putValue("enabled", Boolean.TRUE);
+ action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_T);
+ action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F2, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
- return action;
+ return action;
}
private Action createClearAllMarkersAction() {
- Action action =
- new AbstractAction("Clear all markers") {
- public void actionPerformed(ActionEvent e) {
- if (logui.getCurrentLogPanel() != null) {
- logui.getCurrentLogPanel().clearAllMarkers();
- }
- }
- };
+ Action action =
+ new AbstractAction("Clear all markers") {
+ public void actionPerformed(ActionEvent e) {
+ if (logui.getCurrentLogPanel() != null) {
+ logui.getCurrentLogPanel().clearAllMarkers();
+ }
+ }
+ };
+
+ action.putValue(Action.SHORT_DESCRIPTION, "Removes all markers");
+ action.putValue("enabled", Boolean.TRUE);
+ action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_R);
+ action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F2, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() | InputEvent.SHIFT_MASK));
- action.putValue(Action.SHORT_DESCRIPTION, "Removes all markers");
- action.putValue("enabled", Boolean.TRUE);
- action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_R);
- action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F2, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() | InputEvent.SHIFT_MASK));
+ return action;
+ }
- return action;
+ /**
+ * DOCUMENT ME!
+ */
+ public void stateChange() {
+ scanState();
}
- /**
- * DOCUMENT ME!
- */
- public void stateChange() {
- scanState();
- }
-
- /**
- * DOCUMENT ME!
- *
- * @param e DOCUMENT ME!
- */
- public void stateChanged(ChangeEvent e) {
- scanState();
- }
-
- JMenuBar getMenubar() {
- return menuBar;
- }
-
- JToolBar getToolbar() {
- return toolbar;
- }
-
- private Action createClearAction() {
- final Action action =
- new AbstractAction("Clear") {
- public void actionPerformed(ActionEvent e) {
- LogPanel logPanel = logui.getCurrentLogPanel();
-
- if (logPanel == null) {
- return;
- }
-
- logPanel.clearEvents();
- }
- };
-
- action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_C);
- action.putValue(
- Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_BACK_SPACE, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
- action.putValue(
- Action.SHORT_DESCRIPTION, "Removes all the events from the current view");
- action.putValue(Action.SMALL_ICON, new ImageIcon(ChainsawIcons.DELETE));
-
- return action;
- }
-
- private Action toggleWelcomeVisibleAction() {
- final Action action =
- new AbstractAction() {
- public void actionPerformed(ActionEvent e) {
- toggleWelcomeVisibleAction.putValue(Action.NAME, "Welcome tab");
- if (menuShowWelcome.isSelected()) {
- logui.addWelcomePanel();
- } else {
- logui.removeWelcomePanel();
- }
- }
- };
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e DOCUMENT ME!
+ */
+ public void stateChanged(ChangeEvent e) {
+ scanState();
+ }
- action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke("F1"));
+ JMenuBar getMenubar() {
+ return menuBar;
+ }
- // action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.ALT_MASK));
- action.putValue(Action.SHORT_DESCRIPTION, "Toggles the Welcome tab");
- action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_C);
- action.putValue(Action.NAME, "Welcome tab");
+ JToolBar getToolbar() {
+ return toolbar;
+ }
- return action;
- }
+ private Action createClearAction() {
+ final Action action =
+ new AbstractAction("Clear") {
+ public void actionPerformed(ActionEvent e) {
+ LogPanel logPanel = logui.getCurrentLogPanel();
+
+ if (logPanel == null) {
+ return;
+ }
+
+ logPanel.clearEvents();
+ }
+ };
+
+ action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_C);
+ action.putValue(
+ Action.ACCELERATOR_KEY,
+ KeyStroke.getKeyStroke(KeyEvent.VK_BACK_SPACE, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
+ action.putValue(
+ Action.SHORT_DESCRIPTION, "Removes all the events from the current view");
+ action.putValue(Action.SMALL_ICON, new ImageIcon(ChainsawIcons.DELETE));
+
+ return action;
+ }
- private void createMenuBar() {
- JMenuItem menuItemUseRightMouse =
- new JMenuItem(
- "Other options available via panel's right mouse button popup menu");
- menuItemUseRightMouse.setEnabled(false);
+ private Action toggleWelcomeVisibleAction() {
+ final Action action =
+ new AbstractAction() {
+ public void actionPerformed(ActionEvent e) {
+ toggleWelcomeVisibleAction.putValue(Action.NAME, "Welcome tab");
+ if (menuShowWelcome.isSelected()) {
+ logui.addWelcomePanel();
+ } else {
+ logui.removeWelcomePanel();
+ }
+ }
+ };
+
+ action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke("F1"));
+
+ // action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.ALT_MASK));
+ action.putValue(Action.SHORT_DESCRIPTION, "Toggles the Welcome tab");
+ action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_C);
+ action.putValue(Action.NAME, "Welcome tab");
+
+ return action;
+ }
+
+ private void createMenuBar() {
+ JMenuItem menuItemUseRightMouse =
+ new JMenuItem(
+ "Other options available via panel's right mouse button popup menu");
+ menuItemUseRightMouse.setEnabled(false);
- viewMenu.setMnemonic('V');
+ viewMenu.setMnemonic('V');
- final JCheckBoxMenuItem showToolbarCheck =
- new JCheckBoxMenuItem(toggleToolbarAction);
- showToolbarCheck.setSelected(
- logui.getApplicationPreferenceModel().isToolbar());
+ final JCheckBoxMenuItem showToolbarCheck =
+ new JCheckBoxMenuItem(toggleToolbarAction);
+ showToolbarCheck.setSelected(
+ logui.getApplicationPreferenceModel().isToolbar());
- logui.getApplicationPreferenceModel().addPropertyChangeListener(
- "toolbar",
+ logui.getApplicationPreferenceModel().addPropertyChangeListener(
+ "toolbar",
evt -> {
- boolean value = (Boolean) evt.getNewValue();
- showToolbarCheck.setSelected(value);
+ boolean value = (Boolean) evt.getNewValue();
+ showToolbarCheck.setSelected(value);
});
- menuShowWelcome.setAction(toggleWelcomeVisibleAction);
+ menuShowWelcome.setAction(toggleWelcomeVisibleAction);
- JCheckBoxMenuItem pause = new JCheckBoxMenuItem(pauseAction);
- JMenuItem menuPrefs = new JMenuItem(showPreferencesAction);
- menuPrefs.setText(
- showPreferencesAction.getValue(Action.SHORT_DESCRIPTION).toString());
+ JCheckBoxMenuItem pause = new JCheckBoxMenuItem(pauseAction);
+ JMenuItem menuPrefs = new JMenuItem(showPreferencesAction);
+ menuPrefs.setText(
+ showPreferencesAction.getValue(Action.SHORT_DESCRIPTION).toString());
- JMenuItem menuCustomExpressionPanel =
- new JMenuItem(customExpressionPanelAction);
- menuCustomExpressionPanel.setText(
- customExpressionPanelAction.getValue(Action.SHORT_DESCRIPTION).toString());
+ JMenuItem menuCustomExpressionPanel =
+ new JMenuItem(customExpressionPanelAction);
+ menuCustomExpressionPanel.setText(
+ customExpressionPanelAction.getValue(Action.SHORT_DESCRIPTION).toString());
- JMenuItem menuShowColor = new JMenuItem(showColorPanelAction);
- menuShowColor.setText(
- showColorPanelAction.getValue(Action.SHORT_DESCRIPTION).toString());
+ JMenuItem menuShowColor = new JMenuItem(showColorPanelAction);
+ menuShowColor.setText(
+ showColorPanelAction.getValue(Action.SHORT_DESCRIPTION).toString());
- JMenuItem menuUndock = new JMenuItem(undockAction);
+ JMenuItem menuUndock = new JMenuItem(undockAction);
- JMenuItem showAppPrefs =
- new JMenuItem("Show Application-wide Preferences...");
+ JMenuItem showAppPrefs =
+ new JMenuItem("Show Application-wide Preferences...");
- showAppPrefs.addActionListener(
+ showAppPrefs.addActionListener(
e -> logui.showApplicationPreferences());
- toggleDetailMenuItem.setAction(toggleDetailPaneAction);
- toggleDetailMenuItem.setSelected(true);
-
- toggleCyclicMenuItem.setAction(changeModelAction);
+ toggleDetailMenuItem.setAction(toggleDetailPaneAction);
+ toggleDetailMenuItem.setSelected(true);
+
+ toggleCyclicMenuItem.setAction(changeModelAction);
+
+ toggleCyclicMenuItem.setSelected(true);
+
+ toggleLogTreeMenuItem.setAction(toggleLogTreeAction);
+ toggleLogTreeMenuItem.setSelected(true);
+
+ toggleScrollToBottomMenuItem.setAction(toggleScrollToBottomAction);
+
+ final Action toggleStatusBarAction =
+ new AbstractAction("Show Status bar") {
+ public void actionPerformed(ActionEvent arg0) {
+ logui.getApplicationPreferenceModel().setStatusBar(
+ toggleStatusBarCheck.isSelected());
+ }
+ };
+
+ toggleStatusBarAction.putValue(
+ Action.MNEMONIC_KEY, KeyEvent.VK_B);
+ toggleStatusBarCheck.setAction(toggleStatusBarAction);
+ toggleStatusBarCheck.setSelected(
+ logui.getApplicationPreferenceModel().isStatusBar());
+
+ activeTabMenu.add(pause);
+ activeTabMenu.add(toggleCyclicMenuItem);
+ activeTabMenu.addSeparator();
+ activeTabMenu.add(toggleDetailMenuItem);
+ activeTabMenu.add(toggleLogTreeMenuItem);
+ activeTabMenu.addSeparator();
+ activeTabMenu.add(menuUndock);
+ activeTabMenu.add(menuShowColor);
+ activeTabMenu.add(menuPrefs);
+
+ activeTabMenu.addSeparator();
+ activeTabMenu.add(new CopyEventsToClipboardAction(logui));
+ activeTabMenu.add(new JMenuItem(clearAction));
+
+ activeTabMenu.addSeparator();
+ activeTabMenu.add(new JMenuItem(toggleMarkerAction));
+ activeTabMenu.add(new JMenuItem(findNextMarkerAction));
+ activeTabMenu.add(new JMenuItem(findPreviousMarkerAction));
+ activeTabMenu.add(new JMenuItem(clearAllMarkersAction));
+
+ activeTabMenu.add(new JMenuItem(findNextColorizedEventAction));
+ activeTabMenu.add(new JMenuItem(findPreviousColorizedEventAction));
+
+ activeTabMenu.addSeparator();
+ activeTabMenu.add(new JMenuItem(scrollToTopAction));
+ activeTabMenu.add(toggleScrollToBottomMenuItem);
+ activeTabMenu.add(menuItemUseRightMouse);
+
+ viewMenu.add(showToolbarCheck);
+ viewMenu.add(toggleStatusBarCheck);
+ viewMenu.add(toggleShowReceiversCheck);
+ viewMenu.add(menuShowWelcome);
+ viewMenu.addSeparator();
+ viewMenu.add(menuCustomExpressionPanel);
- toggleCyclicMenuItem.setSelected(true);
+ if (!OSXIntegration.IS_OSX) {
+ viewMenu.addSeparator();
+ viewMenu.add(showAppPrefs);
+ }
- toggleLogTreeMenuItem.setAction(toggleLogTreeAction);
- toggleLogTreeMenuItem.setSelected(true);
+ JMenu helpMenu = new JMenu("Help");
+ helpMenu.setMnemonic('H');
- toggleScrollToBottomMenuItem.setAction(toggleScrollToBottomAction);
+ JMenuItem about = new JMenuItem("About Chainsaw v2...");
+ about.setMnemonic('A');
+ about.addActionListener(
+ e -> logui.showAboutBox());
- final Action toggleStatusBarAction =
- new AbstractAction("Show Status bar") {
- public void actionPerformed(ActionEvent arg0) {
- logui.getApplicationPreferenceModel().setStatusBar(
- toggleStatusBarCheck.isSelected());
+ Action startTutorial =
+ new AbstractAction("Tutorial...", new ImageIcon(ChainsawIcons.HELP)) {
+ public void actionPerformed(ActionEvent e) {
+ logui.setupTutorial();
+ }
+ };
+
+ startTutorial.putValue(
+ Action.SHORT_DESCRIPTION, "Starts the tutorial process");
+ helpMenu.add(startTutorial);
+
+ List knownReceivers =
+ ReceiversHelper.getInstance().getKnownReceiverClasses();
+ JMenu receiverHelp = new JMenu("Receiver JavaDoc");
+
+ for (Object knownReceiver : knownReceivers) {
+ final Class clazz = (Class) knownReceiver;
+ receiverHelp.add(
+ new AbstractAction(clazz.getName()) {
+ public void actionPerformed(ActionEvent arg0) {
+ HelpManager.getInstance().showHelpForClass(clazz);
+ }
+ });
}
- };
-
- toggleStatusBarAction.putValue(
- Action.MNEMONIC_KEY, KeyEvent.VK_B);
- toggleStatusBarCheck.setAction(toggleStatusBarAction);
- toggleStatusBarCheck.setSelected(
- logui.getApplicationPreferenceModel().isStatusBar());
-
- activeTabMenu.add(pause);
- activeTabMenu.add(toggleCyclicMenuItem);
- activeTabMenu.addSeparator();
- activeTabMenu.add(toggleDetailMenuItem);
- activeTabMenu.add(toggleLogTreeMenuItem);
- activeTabMenu.addSeparator();
- activeTabMenu.add(menuUndock);
- activeTabMenu.add(menuShowColor);
- activeTabMenu.add(menuPrefs);
-
- activeTabMenu.addSeparator();
- activeTabMenu.add(new CopyEventsToClipboardAction(logui));
- activeTabMenu.add(new JMenuItem(clearAction));
-
- activeTabMenu.addSeparator();
- activeTabMenu.add(new JMenuItem(toggleMarkerAction));
- activeTabMenu.add(new JMenuItem(findNextMarkerAction));
- activeTabMenu.add(new JMenuItem(findPreviousMarkerAction));
- activeTabMenu.add(new JMenuItem(clearAllMarkersAction));
-
- activeTabMenu.add(new JMenuItem(findNextColorizedEventAction));
- activeTabMenu.add(new JMenuItem(findPreviousColorizedEventAction));
-
- activeTabMenu.addSeparator();
- activeTabMenu.add(new JMenuItem(scrollToTopAction));
- activeTabMenu.add(toggleScrollToBottomMenuItem);
- activeTabMenu.add(menuItemUseRightMouse);
-
- viewMenu.add(showToolbarCheck);
- viewMenu.add(toggleStatusBarCheck);
- viewMenu.add(toggleShowReceiversCheck);
- viewMenu.add(menuShowWelcome);
- viewMenu.addSeparator();
- viewMenu.add(menuCustomExpressionPanel);
-
- if (!OSXIntegration.IS_OSX) {
- viewMenu.addSeparator();
- viewMenu.add(showAppPrefs);
+
+ helpMenu.add(receiverHelp);
+
+ helpMenu.addSeparator();
+ helpMenu.add(CommonActions.getInstance().getShowReleaseNotes());
+ helpMenu.add(about);
+
+ menuBar.add(fileMenu);
+ menuBar.add(viewMenu);
+ menuBar.add(activeTabMenu);
+ menuBar.add(helpMenu);
}
- JMenu helpMenu = new JMenu("Help");
- helpMenu.setMnemonic('H');
+ private Action createPauseAction() {
+ final Action action =
+ new AbstractAction("Pause") {
+ public void actionPerformed(ActionEvent evt) {
+ LogPanel logPanel = logui.getCurrentLogPanel();
- JMenuItem about = new JMenuItem("About Chainsaw v2...");
- about.setMnemonic('A');
- about.addActionListener(
- e -> logui.showAboutBox());
+ if (logPanel == null) {
+ return;
+ }
- Action startTutorial =
- new AbstractAction("Tutorial...", new ImageIcon(ChainsawIcons.HELP)) {
- public void actionPerformed(ActionEvent e) {
- logui.setupTutorial();
- }
- };
-
- startTutorial.putValue(
- Action.SHORT_DESCRIPTION, "Starts the tutorial process");
- helpMenu.add(startTutorial);
-
- List knownReceivers =
- ReceiversHelper.getInstance().getKnownReceiverClasses();
- JMenu receiverHelp = new JMenu("Receiver JavaDoc");
-
- for (Object knownReceiver : knownReceivers) {
- final Class clazz = (Class) knownReceiver;
- receiverHelp.add(
- new AbstractAction(clazz.getName()) {
- public void actionPerformed(ActionEvent arg0) {
- HelpManager.getInstance().showHelpForClass(clazz);
- }
- });
- }
-
- helpMenu.add(receiverHelp);
-
- helpMenu.addSeparator();
- helpMenu.add(CommonActions.getInstance().getShowReleaseNotes());
- helpMenu.add(about);
-
- menuBar.add(fileMenu);
- menuBar.add(viewMenu);
- menuBar.add(activeTabMenu);
- menuBar.add(helpMenu);
- }
-
- private Action createPauseAction() {
- final Action action =
- new AbstractAction("Pause") {
- public void actionPerformed(ActionEvent evt) {
- LogPanel logPanel = logui.getCurrentLogPanel();
-
- if (logPanel == null) {
- return;
- }
-
- logPanel.setPaused(!logPanel.isPaused());
- scanState();
- }
- };
-
- action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_P);
- action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke("F12"));
- action.putValue(
- Action.SHORT_DESCRIPTION,
- "Causes incoming events for this tab to be discarded");
- action.putValue(Action.SMALL_ICON, new ImageIcon(ChainsawIcons.PAUSE));
-
- return action;
- }
-
- private Action createShowPreferencesAction() {
- Action showPreferences =
- new AbstractAction("", ChainsawIcons.ICON_PREFERENCES) {
- public void actionPerformed(ActionEvent arg0) {
- LogPanel logPanel = logui.getCurrentLogPanel();
-
- if (logPanel != null) {
- logPanel.showPreferences();
- }
- }
- };
+ logPanel.setPaused(!logPanel.isPaused());
+ scanState();
+ }
+ };
+
+ action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_P);
+ action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke("F12"));
+ action.putValue(
+ Action.SHORT_DESCRIPTION,
+ "Causes incoming events for this tab to be discarded");
+ action.putValue(Action.SMALL_ICON, new ImageIcon(ChainsawIcons.PAUSE));
- showPreferences.putValue(
- Action.SHORT_DESCRIPTION, "Tab Preferences...");
+ return action;
+ }
- // TODO think of good mnemonics and HotKey for this action
- return showPreferences;
- }
+ private Action createShowPreferencesAction() {
+ Action showPreferences =
+ new AbstractAction("", ChainsawIcons.ICON_PREFERENCES) {
+ public void actionPerformed(ActionEvent arg0) {
+ LogPanel logPanel = logui.getCurrentLogPanel();
- private Action createCustomExpressionPanelAction() {
- final JDialog dialog = new JDialog(logui, "Define tab", true);
- dialog.getContentPane().add(getCustomExpressionPanel());
- dialog.setLocationRelativeTo(null);
- dialog.pack();
+ if (logPanel != null) {
+ logPanel.showPreferences();
+ }
+ }
+ };
- Action createExpressionPanel =
- new AbstractAction("", ChainsawIcons.ICON_HELP) {
- public void actionPerformed(ActionEvent arg0) {
- LogPanel.centerAndSetVisible(dialog);
- }
- };
+ showPreferences.putValue(
+ Action.SHORT_DESCRIPTION, "Tab Preferences...");
- createExpressionPanel.putValue(
- Action.SHORT_DESCRIPTION, "Create tab from expression... ");
+ // TODO think of good mnemonics and HotKey for this action
+ return showPreferences;
+ }
- // TODO think of good mnemonics and HotKey for this action
- return createExpressionPanel;
- }
+ private Action createCustomExpressionPanelAction() {
+ final JDialog dialog = new JDialog(logui, "Define tab", true);
+ dialog.getContentPane().add(getCustomExpressionPanel());
+ dialog.setLocationRelativeTo(null);
+ dialog.pack();
- private Action createShowColorPanelAction() {
- Action showColorPanel =
- new AbstractAction("", ChainsawIcons.ICON_PREFERENCES) {
- public void actionPerformed(ActionEvent arg0) {
- LogPanel logPanel = logui.getCurrentLogPanel();
+ Action createExpressionPanel =
+ new AbstractAction("", ChainsawIcons.ICON_HELP) {
+ public void actionPerformed(ActionEvent arg0) {
+ LogPanel.centerAndSetVisible(dialog);
+ }
+ };
- if (logPanel != null) {
- logPanel.showColorPreferences();
- }
- }
- };
-
- showColorPanel.putValue(
- Action.SHORT_DESCRIPTION, "Color settings...");
-
- // TODO think of good mnemonics and HotKey for this action
- return showColorPanel;
- }
-
- /**
- * @return
- */
- private Action createShowReceiversAction() {
- final Action action =
- new AbstractAction("Show Receivers") {
- public void actionPerformed(ActionEvent arg0) {
- logui.getApplicationPreferenceModel().setReceivers(
- !logui.getApplicationPreferenceModel().isReceivers());
- }
- };
-
- action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_E);
- action.putValue(
- Action.SHORT_DESCRIPTION,
- "Shows the currently configured Log4j Receivers");
- action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke("F6"));
- action.putValue(
- Action.SMALL_ICON, new ImageIcon(ChainsawIcons.ANIM_NET_CONNECT));
- toggleShowReceiversCheck.setAction(action);
-
- return action;
- }
-
- private Action createToggleDetailPaneAction() {
- Action action =
- new AbstractAction("Show Detail Pane") {
- public void actionPerformed(ActionEvent evt) {
- LogPanel logPanel = logui.getCurrentLogPanel();
-
- if (logPanel == null) {
- return;
- }
-
- logPanel.toggleDetailVisible();
- }
- };
+ createExpressionPanel.putValue(
+ Action.SHORT_DESCRIPTION, "Create tab from expression... ");
- action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_D);
- action.putValue(
- Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_D, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
- action.putValue(Action.SHORT_DESCRIPTION, "Hides/Shows the Detail Pane");
- action.putValue(Action.SMALL_ICON, new ImageIcon(ChainsawIcons.INFO));
+ // TODO think of good mnemonics and HotKey for this action
+ return createExpressionPanel;
+ }
- return action;
- }
+ private Action createShowColorPanelAction() {
+ Action showColorPanel =
+ new AbstractAction("", ChainsawIcons.ICON_PREFERENCES) {
+ public void actionPerformed(ActionEvent arg0) {
+ LogPanel logPanel = logui.getCurrentLogPanel();
- private Action createToggleToolbarAction() {
- /**
- * -== Begin of Show/Hide toolbar action
- */
- final Action action =
- new AbstractAction("Show Toolbar") {
- public void actionPerformed(ActionEvent e) {
- logui.getApplicationPreferenceModel().setToolbar(
- !logui.getApplicationPreferenceModel().isToolbar());
- }
- };
-
- action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_T);
-
- return action;
- }
-
- private void createToolbar() {
- Insets buttonMargins = new Insets(1, 1, 1, 1);
-
- FileMenu menu = (FileMenu) menuBar.getMenu(0);
-
- JButton fileOpenButton = new SmallButton(menu.getLog4JFileOpenAction());
- fileOpenButton.setMargin(buttonMargins);
-
- JButton fileSaveButton = new SmallButton(menu.getFileSaveAction());
- fileSaveButton.setMargin(buttonMargins);
-
- fileOpenButton.setText("");
- fileSaveButton.setText("");
-
- toolbar.add(fileOpenButton);
- toolbar.add(fileSaveButton);
- toolbar.addSeparator();
-
- pauseButton.setAction(pauseAction);
- pauseButton.setText("");
-
- // pauseButton.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("F12"),pauseAction.getValue(Action.NAME) );
- pauseButton.getActionMap().put(
- pauseAction.getValue(Action.NAME), pauseAction);
-
- toggleCyclicButton.setAction(changeModelAction);
- toggleCyclicButton.setText(null);
-
- detailPaneButton.setAction(toggleDetailPaneAction);
- detailPaneButton.setText(null);
- detailPaneButton.getActionMap().put(
- toggleDetailPaneAction.getValue(Action.NAME), toggleDetailPaneAction);
- detailPaneButton.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
- KeyStroke.getKeyStroke(KeyEvent.VK_D, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
- toggleDetailPaneAction.getValue(Action.NAME));
-
- logTreePaneButton.setAction(toggleLogTreeAction);
- logTreePaneButton.getActionMap().put(
- toggleLogTreeAction.getValue(Action.NAME), toggleLogTreeAction);
- logTreePaneButton.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
- KeyStroke.getKeyStroke(KeyEvent.VK_T, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
- toggleLogTreeAction.getValue(Action.NAME));
- logTreePaneButton.setText(null);
-
- scrollToBottomButton.setAction(toggleScrollToBottomAction);
- scrollToBottomButton.getActionMap().put(
- toggleScrollToBottomAction.getValue(Action.NAME), toggleScrollToBottomAction);
- scrollToBottomButton.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
- KeyStroke.getKeyStroke(KeyEvent.VK_B, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
- toggleScrollToBottomAction.getValue(Action.NAME));
- scrollToBottomButton.setText(null);
-
- SmallButton prefsButton = new SmallButton(showPreferencesAction);
- SmallButton undockButton = new SmallButton(undockAction);
- undockButton.setText("");
-
- toolbar.add(undockButton);
- toolbar.add(pauseButton);
- toolbar.add(toggleCyclicButton);
- toolbar.addSeparator();
- toolbar.add(detailPaneButton);
- toolbar.add(logTreePaneButton);
- toolbar.add(scrollToBottomButton);
- toolbar.add(prefsButton);
- toolbar.addSeparator();
-
- toolbar.add(clearButton);
- clearButton.setAction(clearAction);
- clearButton.setText("");
- toolbar.addSeparator();
-
- showReceiversButton.setText(null);
- toolbar.add(showReceiversButton);
-
- toolbar.add(Box.createHorizontalGlue());
-
- toolbar.setMargin(buttonMargins);
- toolbar.setFloatable(false);
- }
-
- private Action createUndockAction() {
- Action action =
- new AbstractAction("Undock", ChainsawIcons.ICON_UNDOCK) {
- public void actionPerformed(ActionEvent arg0) {
- LogPanel logPanel = logui.getCurrentLogPanel();
-
- if (logPanel != null) {
- logPanel.undock();
- }
- }
- };
-
- action.putValue(
- Action.SHORT_DESCRIPTION,
- "Undocks the current Log panel into its own window");
-
- // TODO think of some mnemonics and HotKeys for this action
- return action;
- }
-
- private void scanState() {
- toggleStatusBarCheck.setSelected(logui.isStatusBarVisible());
- toggleShowReceiversCheck.setSelected(
- logui.getApplicationPreferenceModel().isReceivers());
-
- logTreePaneButton.setSelected(logui.isLogTreePanelVisible());
- LogPanel panel = logui.getCurrentLogPanel();
- if (panel != null) {
- scrollToBottomButton.setSelected(panel.isScrollToBottom());
- toggleDetailMenuItem.setSelected(panel.isDetailVisible());
- } else {
- scrollToBottomButton.setSelected(false);
- toggleDetailMenuItem.setSelected(false);
+ if (logPanel != null) {
+ logPanel.showColorPreferences();
+ }
+ }
+ };
+
+ showColorPanel.putValue(
+ Action.SHORT_DESCRIPTION, "Color settings...");
+
+ // TODO think of good mnemonics and HotKey for this action
+ return showColorPanel;
}
- showReceiversButton.setSelected(
- logui.getApplicationPreferenceModel().isReceivers());
- menuShowWelcome.setSelected(logui.getTabbedPane().containsWelcomePanel());
/**
- * We get the currently selected LogPanel, and if null, deactivate some
- * actions
+ * @return
*/
- LogPanel logPanel = logui.getCurrentLogPanel();
-
- boolean activateLogPanelActions = true;
-
- if (logPanel == null) {
- activateLogPanelActions = false;
- activeTabMenu.setEnabled(false);
- toggleWelcomeVisibleAction.setEnabled(true);
- detailPaneButton.setSelected(false);
- toggleCyclicButton.setSelected(false);
- } else {
- activeTabMenu.setEnabled(true);
- fileMenu.getFileSaveAction().setEnabled(true);
- pauseButton.getModel().setSelected(logPanel.isPaused());
- toggleCyclicButton.setSelected(logPanel.isCyclic());
- logui.getStatusBar().setPaused(logPanel.isPaused(), logPanel.getIdentifier());
- toggleCyclicMenuItem.setSelected(logPanel.isCyclic());
- detailPaneButton.getModel().setSelected(logPanel.isDetailVisible());
- toggleLogTreeMenuItem.setSelected(logPanel.isLogTreeVisible());
- toggleScrollToBottomMenuItem.setSelected(logPanel.isScrollToBottom());
+ private Action createShowReceiversAction() {
+ final Action action =
+ new AbstractAction("Show Receivers") {
+ public void actionPerformed(ActionEvent arg0) {
+ logui.getApplicationPreferenceModel().setReceivers(
+ !logui.getApplicationPreferenceModel().isReceivers());
+ }
+ };
+
+ action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_E);
+ action.putValue(
+ Action.SHORT_DESCRIPTION,
+ "Shows the currently configured Log4j Receivers");
+ action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke("F6"));
+ action.putValue(
+ Action.SMALL_ICON, new ImageIcon(ChainsawIcons.ANIM_NET_CONNECT));
+ toggleShowReceiversCheck.setAction(action);
+
+ return action;
}
- for (Action logPanelSpecificAction : logPanelSpecificActions) {
- logPanelSpecificAction.setEnabled(activateLogPanelActions);
- }
+ private Action createToggleDetailPaneAction() {
+ Action action =
+ new AbstractAction("Show Detail Pane") {
+ public void actionPerformed(ActionEvent evt) {
+ LogPanel logPanel = logui.getCurrentLogPanel();
- String currentLookAndFeelName = UIManager.getLookAndFeel().getName();
+ if (logPanel == null) {
+ return;
+ }
- for (Object lookAndFeelMenu : lookAndFeelMenus) {
- JRadioButtonMenuItem element = (JRadioButtonMenuItem) lookAndFeelMenu;
+ logPanel.toggleDetailVisible();
+ }
+ };
- if (element.getText().equals(currentLookAndFeelName)) {
- element.setSelected(true);
- } else {
- element.setSelected(false);
- }
- }
- }
+ action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_D);
+ action.putValue(
+ Action.ACCELERATOR_KEY,
+ KeyStroke.getKeyStroke(KeyEvent.VK_D, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
+ action.putValue(Action.SHORT_DESCRIPTION, "Hides/Shows the Detail Pane");
+ action.putValue(Action.SMALL_ICON, new ImageIcon(ChainsawIcons.INFO));
- private Action getFindNextColorizedEventAction() {
- final Action action =
- new AbstractAction("Find next colorized event") {
- public void actionPerformed(ActionEvent e) {
- LogPanel p = logui.getCurrentLogPanel();
- if (p != null) {
- p.findNextColorizedEvent();
+ return action;
+ }
+
+ private Action createToggleToolbarAction() {
+ /**
+ * -== Begin of Show/Hide toolbar action
+ */
+ final Action action =
+ new AbstractAction("Show Toolbar") {
+ public void actionPerformed(ActionEvent e) {
+ logui.getApplicationPreferenceModel().setToolbar(
+ !logui.getApplicationPreferenceModel().isToolbar());
+ }
+ };
+
+ action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_T);
+
+ return action;
+ }
+
+ private void createToolbar() {
+ Insets buttonMargins = new Insets(1, 1, 1, 1);
+
+ FileMenu menu = (FileMenu) menuBar.getMenu(0);
+
+ JButton fileOpenButton = new SmallButton(menu.getLog4JFileOpenAction());
+ fileOpenButton.setMargin(buttonMargins);
+
+ JButton fileSaveButton = new SmallButton(menu.getFileSaveAction());
+ fileSaveButton.setMargin(buttonMargins);
+
+ fileOpenButton.setText("");
+ fileSaveButton.setText("");
+
+ toolbar.add(fileOpenButton);
+ toolbar.add(fileSaveButton);
+ toolbar.addSeparator();
+
+ pauseButton.setAction(pauseAction);
+ pauseButton.setText("");
+
+ // pauseButton.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("F12"),pauseAction.getValue(Action.NAME) );
+ pauseButton.getActionMap().put(
+ pauseAction.getValue(Action.NAME), pauseAction);
+
+ toggleCyclicButton.setAction(changeModelAction);
+ toggleCyclicButton.setText(null);
+
+ detailPaneButton.setAction(toggleDetailPaneAction);
+ detailPaneButton.setText(null);
+ detailPaneButton.getActionMap().put(
+ toggleDetailPaneAction.getValue(Action.NAME), toggleDetailPaneAction);
+ detailPaneButton.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
+ KeyStroke.getKeyStroke(KeyEvent.VK_D, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
+ toggleDetailPaneAction.getValue(Action.NAME));
+
+ logTreePaneButton.setAction(toggleLogTreeAction);
+ logTreePaneButton.getActionMap().put(
+ toggleLogTreeAction.getValue(Action.NAME), toggleLogTreeAction);
+ logTreePaneButton.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
+ KeyStroke.getKeyStroke(KeyEvent.VK_T, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
+ toggleLogTreeAction.getValue(Action.NAME));
+ logTreePaneButton.setText(null);
+
+ scrollToBottomButton.setAction(toggleScrollToBottomAction);
+ scrollToBottomButton.getActionMap().put(
+ toggleScrollToBottomAction.getValue(Action.NAME), toggleScrollToBottomAction);
+ scrollToBottomButton.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
+ KeyStroke.getKeyStroke(KeyEvent.VK_B, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
+ toggleScrollToBottomAction.getValue(Action.NAME));
+ scrollToBottomButton.setText(null);
+
+ SmallButton prefsButton = new SmallButton(showPreferencesAction);
+ SmallButton undockButton = new SmallButton(undockAction);
+ undockButton.setText("");
+
+ toolbar.add(undockButton);
+ toolbar.add(pauseButton);
+ toolbar.add(toggleCyclicButton);
+ toolbar.addSeparator();
+ toolbar.add(detailPaneButton);
+ toolbar.add(logTreePaneButton);
+ toolbar.add(scrollToBottomButton);
+ toolbar.add(prefsButton);
+ toolbar.addSeparator();
+
+ toolbar.add(clearButton);
+ clearButton.setAction(clearAction);
+ clearButton.setText("");
+ toolbar.addSeparator();
+
+ showReceiversButton.setText(null);
+ toolbar.add(showReceiversButton);
+
+ toolbar.add(Box.createHorizontalGlue());
+
+ toolbar.setMargin(buttonMargins);
+ toolbar.setFloatable(false);
+ }
+
+ private Action createUndockAction() {
+ Action action =
+ new AbstractAction("Undock", ChainsawIcons.ICON_UNDOCK) {
+ public void actionPerformed(ActionEvent arg0) {
+ LogPanel logPanel = logui.getCurrentLogPanel();
+
+ if (logPanel != null) {
+ logPanel.undock();
+ }
+ }
+ };
+
+ action.putValue(
+ Action.SHORT_DESCRIPTION,
+ "Undocks the current Log panel into its own window");
+
+ // TODO think of some mnemonics and HotKeys for this action
+ return action;
+ }
+
+ private void scanState() {
+ toggleStatusBarCheck.setSelected(logui.isStatusBarVisible());
+ toggleShowReceiversCheck.setSelected(
+ logui.getApplicationPreferenceModel().isReceivers());
+
+ logTreePaneButton.setSelected(logui.isLogTreePanelVisible());
+ LogPanel panel = logui.getCurrentLogPanel();
+ if (panel != null) {
+ scrollToBottomButton.setSelected(panel.isScrollToBottom());
+ toggleDetailMenuItem.setSelected(panel.isDetailVisible());
+ } else {
+ scrollToBottomButton.setSelected(false);
+ toggleDetailMenuItem.setSelected(false);
+ }
+ showReceiversButton.setSelected(
+ logui.getApplicationPreferenceModel().isReceivers());
+ menuShowWelcome.setSelected(logui.getTabbedPane().containsWelcomePanel());
+
+ /**
+ * We get the currently selected LogPanel, and if null, deactivate some
+ * actions
+ */
+ LogPanel logPanel = logui.getCurrentLogPanel();
+
+ boolean activateLogPanelActions = true;
+
+ if (logPanel == null) {
+ activateLogPanelActions = false;
+ activeTabMenu.setEnabled(false);
+ toggleWelcomeVisibleAction.setEnabled(true);
+ detailPaneButton.setSelected(false);
+ toggleCyclicButton.setSelected(false);
+ } else {
+ activeTabMenu.setEnabled(true);
+ fileMenu.getFileSaveAction().setEnabled(true);
+ pauseButton.getModel().setSelected(logPanel.isPaused());
+ toggleCyclicButton.setSelected(logPanel.isCyclic());
+ logui.getStatusBar().setPaused(logPanel.isPaused(), logPanel.getIdentifier());
+ toggleCyclicMenuItem.setSelected(logPanel.isCyclic());
+ detailPaneButton.getModel().setSelected(logPanel.isDetailVisible());
+ toggleLogTreeMenuItem.setSelected(logPanel.isLogTreeVisible());
+ toggleScrollToBottomMenuItem.setSelected(logPanel.isScrollToBottom());
+ }
+
+ for (Action logPanelSpecificAction : logPanelSpecificActions) {
+ logPanelSpecificAction.setEnabled(activateLogPanelActions);
+ }
+
+ String currentLookAndFeelName = UIManager.getLookAndFeel().getName();
+
+ for (Object lookAndFeelMenu : lookAndFeelMenus) {
+ JRadioButtonMenuItem element = (JRadioButtonMenuItem) lookAndFeelMenu;
+
+ if (element.getText().equals(currentLookAndFeelName)) {
+ element.setSelected(true);
+ } else {
+ element.setSelected(false);
}
- }
- };
+ }
+ }
+
+ private Action getFindNextColorizedEventAction() {
+ final Action action =
+ new AbstractAction("Find next colorized event") {
+ public void actionPerformed(ActionEvent e) {
+ LogPanel p = logui.getCurrentLogPanel();
+ if (p != null) {
+ p.findNextColorizedEvent();
+ }
+ }
+ };
action.putValue(Action.SHORT_DESCRIPTION, "Find the next colorized event from the current location");
action.putValue("enabled", Boolean.TRUE);
action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_N);
action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
- return action;
+ return action;
}
private Action getFindPreviousColorizedEventAction() {
- final Action action =
- new AbstractAction("Find previous colorized event") {
- public void actionPerformed(ActionEvent e) {
- LogPanel p = logui.getCurrentLogPanel();
-
- if (p != null) {
- p.findPreviousColorizedEvent();
- }
- }
- };
+ final Action action =
+ new AbstractAction("Find previous colorized event") {
+ public void actionPerformed(ActionEvent e) {
+ LogPanel p = logui.getCurrentLogPanel();
+
+ if (p != null) {
+ p.findPreviousColorizedEvent();
+ }
+ }
+ };
action.putValue(Action.SHORT_DESCRIPTION, "Find the next colorized event from the current location");
action.putValue("enabled", Boolean.TRUE);
action.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_P);
action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_P, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
- return action;
+ return action;
}
- private JPanel getCustomExpressionPanel() {
- final JPanel panel = new JPanel(new BorderLayout());
- panel.add(
- new JLabel("Enter expression for new tab: "), BorderLayout.NORTH);
-
- final JEditorPane entryField = new JEditorPane();
- entryField.setPreferredSize(new Dimension(350, 75));
- JTextComponentFormatter.applySystemFontAndSize(entryField);
- entryField.addKeyListener(
- new ExpressionRuleContext(new FilterModel(), entryField));
- panel.add(entryField, BorderLayout.CENTER);
-
- JButton ok = new JButton(" OK ");
- JButton close = new JButton(" Close ");
- JPanel lowerPanel = new JPanel();
- lowerPanel.add(ok);
- lowerPanel.add(Box.createHorizontalStrut(7));
- lowerPanel.add(close);
- panel.add(lowerPanel, BorderLayout.SOUTH);
-
- ok.addActionListener(
- new AbstractAction() {
- public void actionPerformed(ActionEvent evt) {
- logui.createCustomExpressionLogPanel(entryField.getText());
- SwingUtilities.getAncestorOfClass(JDialog.class, panel).setVisible(
- false);
- }
- });
+ private JPanel getCustomExpressionPanel() {
+ final JPanel panel = new JPanel(new BorderLayout());
+ panel.add(
+ new JLabel("Enter expression for new tab: "), BorderLayout.NORTH);
+
+ final JEditorPane entryField = new JEditorPane();
+ entryField.setPreferredSize(new Dimension(350, 75));
+ JTextComponentFormatter.applySystemFontAndSize(entryField);
+ entryField.addKeyListener(
+ new ExpressionRuleContext(new FilterModel(), entryField));
+ panel.add(entryField, BorderLayout.CENTER);
+
+ JButton ok = new JButton(" OK ");
+ JButton close = new JButton(" Close ");
+ JPanel lowerPanel = new JPanel();
+ lowerPanel.add(ok);
+ lowerPanel.add(Box.createHorizontalStrut(7));
+ lowerPanel.add(close);
+ panel.add(lowerPanel, BorderLayout.SOUTH);
+
+ ok.addActionListener(
+ new AbstractAction() {
+ public void actionPerformed(ActionEvent evt) {
+ logui.createCustomExpressionLogPanel(entryField.getText());
+ SwingUtilities.getAncestorOfClass(JDialog.class, panel).setVisible(
+ false);
+ }
+ });
- close.addActionListener(
- new AbstractAction() {
- public void actionPerformed(ActionEvent evt) {
- SwingUtilities.getAncestorOfClass(JDialog.class, panel).setVisible(
- false);
- }
- });
+ close.addActionListener(
+ new AbstractAction() {
+ public void actionPerformed(ActionEvent evt) {
+ SwingUtilities.getAncestorOfClass(JDialog.class, panel).setVisible(
+ false);
+ }
+ });
- //String expression = JOptionPane.showInputDialog(logui, "Enter expression", "Create custom expression LogPanel", JOptionPane.PLAIN_MESSAGE);
- return panel;
- }
+ //String expression = JOptionPane.showInputDialog(logui, "Enter expression", "Create custom expression LogPanel", JOptionPane.PLAIN_MESSAGE);
+ return panel;
+ }
}
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/96ebd9ad/src/main/java/org/apache/log4j/chainsaw/ChainsawViewer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/ChainsawViewer.java b/src/main/java/org/apache/log4j/chainsaw/ChainsawViewer.java
index c269cc6..a116894 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ChainsawViewer.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ChainsawViewer.java
@@ -5,9 +5,9 @@
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -19,15 +19,16 @@ package org.apache.log4j.chainsaw;
/**
- Chainsaw compatible gui viewers must implement this interface
- in order to be opened and configured by the ChainsawAppender class.
-
- @author Mark Womack
-*/
+ * Chainsaw compatible gui viewers must implement this interface
+ * in order to be opened and configured by the ChainsawAppender class.
+ *
+ * @author Mark Womack
+ */
public interface ChainsawViewer {
- /**
- Called when the viewer should activate.
-
- @param model The ChainsawAppender model instance the viewer should use. */
- void activateViewer(ChainsawAppender model);
+ /**
+ * Called when the viewer should activate.
+ *
+ * @param model The ChainsawAppender model instance the viewer should use.
+ */
+ void activateViewer(ChainsawAppender model);
}
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/96ebd9ad/src/main/java/org/apache/log4j/chainsaw/CheckListCellRenderer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/CheckListCellRenderer.java b/src/main/java/org/apache/log4j/chainsaw/CheckListCellRenderer.java
index 090bdf9..db4ca8a 100644
--- a/src/main/java/org/apache/log4j/chainsaw/CheckListCellRenderer.java
+++ b/src/main/java/org/apache/log4j/chainsaw/CheckListCellRenderer.java
@@ -16,64 +16,58 @@
*/
package org.apache.log4j.chainsaw;
-import java.awt.Component;
-
-import javax.swing.BorderFactory;
-import javax.swing.JCheckBox;
-import javax.swing.JList;
-import javax.swing.ListCellRenderer;
-import javax.swing.UIManager;
+import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.table.TableColumn;
+import java.awt.*;
/**
* A ListCellRenderer that display a check box if the value
* has been "checked".
- *
+ * <p>
* Borrowed heavily from the excellent book "Swing, 2nd Edition" by
* Matthew Robinson & Pavel Vorobiev.
- *
- * @author Paul Smith
*
+ * @author Paul Smith
*/
public abstract class CheckListCellRenderer extends JCheckBox
- implements ListCellRenderer {
- private final Border noFocusBorder =
- BorderFactory.createEmptyBorder(1, 1, 1, 1);
+ implements ListCellRenderer {
+ private final Border noFocusBorder =
+ BorderFactory.createEmptyBorder(1, 1, 1, 1);
- /**
- *
- */
- public CheckListCellRenderer() {
- super();
- setOpaque(true);
- setBorder(noFocusBorder);
- }
+ /**
+ *
+ */
+ public CheckListCellRenderer() {
+ super();
+ setOpaque(true);
+ setBorder(noFocusBorder);
+ }
- /* (non-Javadoc)
- * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
- */
- public Component getListCellRendererComponent(
- JList list, Object value, int index, boolean isSelected,
- boolean cellHasFocus) {
- setText(((TableColumn)value).getHeaderValue().toString());
- setBackground(
- isSelected ? list.getSelectionBackground() : list.getBackground());
- setForeground(
- isSelected ? list.getSelectionForeground() : list.getForeground());
- setFont(list.getFont());
- setBorder(
- cellHasFocus ? UIManager.getBorder("List.focusCellHighlightBorder")
- : noFocusBorder);
+ /* (non-Javadoc)
+ * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
+ */
+ public Component getListCellRendererComponent(
+ JList list, Object value, int index, boolean isSelected,
+ boolean cellHasFocus) {
+ setText(((TableColumn) value).getHeaderValue().toString());
+ setBackground(
+ isSelected ? list.getSelectionBackground() : list.getBackground());
+ setForeground(
+ isSelected ? list.getSelectionForeground() : list.getForeground());
+ setFont(list.getFont());
+ setBorder(
+ cellHasFocus ? UIManager.getBorder("List.focusCellHighlightBorder")
+ : noFocusBorder);
- setSelected(isSelected(value));
- return this;
- }
+ setSelected(isSelected(value));
+ return this;
+ }
-/**
- * @param value
- * @return selected flag
- */
-protected abstract boolean isSelected(Object value);
+ /**
+ * @param value
+ * @return selected flag
+ */
+ protected abstract boolean isSelected(Object value);
}