private void createMenuBar()

in src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java [387:533]


    private void createMenuBar() {
        JMenuItem menuItemUseRightMouse =
            new JMenuItem(
                "Other options available via panel's right mouse button popup menu");
        menuItemUseRightMouse.setEnabled(false);

        viewMenu.setMnemonic('V');

        AbstractConfiguration configuration = SettingsManager.getInstance().getGlobalConfiguration();

        toggleShowToolbarCheck.setAction(toggleToolbarAction);
        toggleShowToolbarCheck.setSelected(configuration.getBoolean("toolbar", true));

        menuShowWelcome.setAction(toggleWelcomeVisibleAction);

        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 menuShowColor = new JMenuItem(showColorPanelAction);
        menuShowColor.setText(
            showColorPanelAction.getValue(Action.SHORT_DESCRIPTION).toString());

        JMenuItem menuUndock = new JMenuItem(undockAction);

        JMenuItem showAppPrefs =
            new JMenuItem("Show Application-wide Preferences...");

        showAppPrefs.addActionListener(
            e -> logui.showApplicationPreferences());

        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) {
                    boolean isSelected = toggleStatusBarCheck.isSelected();
                    SettingsManager.getInstance().getGlobalConfiguration()
                            .setProperty("statusBar", isSelected);
                }
            };

        toggleStatusBarAction.putValue(
            Action.MNEMONIC_KEY, KeyEvent.VK_B);
        toggleStatusBarCheck.setAction(toggleStatusBarAction);
        toggleStatusBarCheck.setSelected(
            configuration.getBoolean("statusBar", true));

        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(toggleShowToolbarCheck);
        viewMenu.add(toggleStatusBarCheck);
        viewMenu.add(toggleShowReceiversCheck);
        viewMenu.add(menuShowWelcome);
        viewMenu.addSeparator();
        viewMenu.add(menuCustomExpressionPanel);

        if (!OSXIntegration.IS_OSX) {
            viewMenu.addSeparator();
            viewMenu.add(showAppPrefs);
        }

        JMenu helpMenu = new JMenu("Help");
        helpMenu.setMnemonic('H');

        JMenuItem about = new JMenuItem("About Chainsaw v2...");
        about.setMnemonic('A');
        about.addActionListener(
            e -> logui.showAboutBox());

        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 = new ArrayList();
        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);
    }