private void setupListeners()

in src/main/java/org/apache/log4j/chainsaw/LogPanelPreferencePanel.java [489:608]


        private void setupListeners() {
            Configuration config = SettingsManager.getInstance().getCombinedSettingsForRecevierTab(m_panelIdentifier).getConfiguration(0);
            AbstractConfiguration tabConfig = SettingsManager.getInstance().getSettingsForReceiverTab(m_panelIdentifier);

            ActionListener wrapMessageListener = e -> config.setProperty("logpanel.wrapMsg", wrapMessage.isSelected());

            wrapMessage.addActionListener(wrapMessageListener);

            ActionListener searchResultsVisibleListener = e -> config.setProperty("logpanel.searchResultsVisible", searchResultsVisible.isSelected());

            searchResultsVisible.addActionListener(searchResultsVisibleListener);

            ActionListener highlightSearchMatchTextListener = e -> config.setProperty("logpanel.highlightSearchMatchText", highlightSearchMatchText.isSelected());

            highlightSearchMatchText.addActionListener(highlightSearchMatchTextListener);

            tabConfig.addEventListener(ConfigurationEvent.SET_PROPERTY,
                evt -> {
                    if(!evt.getPropertyName().equals("logpanel.wrapMsg")) return;
                    boolean value = (Boolean) evt.getPropertyValue();
                    wrapMessage.setSelected(value);
                });

            tabConfig.addEventListener(ConfigurationEvent.SET_PROPERTY,
                evt -> {
                    if(!evt.getPropertyName().equals("logpanel.searchResultsVisible")) return;
                    boolean value = (Boolean) evt.getPropertyValue();
                    searchResultsVisible.setSelected(value);
                });

            tabConfig.addEventListener(ConfigurationEvent.SET_PROPERTY,
                evt -> {
                    if(!evt.getPropertyName().equals("logpanel.highlightSearchMatchText")) return;
                    boolean value = (Boolean) evt.getPropertyValue();
                    highlightSearchMatchText.setSelected(value);
                });

            toolTips.addActionListener(e -> config.setProperty("logpanel.toolTips", toolTips.isSelected()));

            thumbnailBarToolTips.addActionListener(e -> config.setProperty("logpanel.thumbnailBarToolTips", thumbnailBarToolTips.isSelected()));

            getOkButton().addActionListener(e -> config.setProperty("logpanel.clearTableExpression", clearTableExpression.getText().trim()));

            tabConfig.addEventListener(ConfigurationEvent.SET_PROPERTY,
                evt -> {
                    if(!evt.getPropertyName().equals("logpanel.toolTips")) return;
                    boolean value = (Boolean) evt.getPropertyValue();
                    toolTips.setSelected(value);
                });

            tabConfig.addEventListener(ConfigurationEvent.SET_PROPERTY,
                evt -> {
                    if(!evt.getPropertyName().equals("logpanel.thumbnailBarToolTips")) return;
                    boolean value = (Boolean) evt.getPropertyValue();
                    thumbnailBarToolTips.setSelected(value);
                });

            detailPanelVisible.addActionListener(e -> config.setProperty("logpanel.detailColumnVisible", detailPanelVisible.isSelected()));

            tabConfig.addEventListener(ConfigurationEvent.SET_PROPERTY,
                evt -> {
                    if(!evt.getPropertyName().equals("logpanel.detailColumnVisible")) return;
                    boolean value = (Boolean) evt.getPropertyValue();
                    detailPanelVisible.setSelected(value);
                });

            scrollToBottom.addActionListener(e -> config.setProperty("logpanel.scrollToBottom", scrollToBottom.isSelected()));

            showMillisDeltaAsGap.addActionListener(e -> config.setProperty("logpanel.showMillisDeltaAsGap", showMillisDeltaAsGap.isSelected()));

            tabConfig.addEventListener(ConfigurationEvent.SET_PROPERTY,
                evt -> {
                if(!evt.getPropertyName().equals("logpanel.showMillisDeltaAsGap")) return;
                boolean value = (Boolean) evt.getPropertyValue();
                showMillisDeltaAsGap.setSelected(value);
            });
            tabConfig.addEventListener(ConfigurationEvent.SET_PROPERTY,
                evt -> {
                    if(!evt.getPropertyName().equals("logpanel.scrollToBottom")) return;
                    boolean value = (Boolean) evt.getPropertyValue();
                    scrollToBottom.setSelected(value);
                });

            loggerTreePanel.addActionListener(e -> config.setProperty("logpanel.logTreePanelVisible", loggerTreePanel.isSelected()));

            tabConfig.addEventListener(ConfigurationEvent.SET_PROPERTY,
                evt -> {
                    if(!evt.getPropertyName().equals("logpanel.logTreePanelVisible")) return;
                    boolean value = (Boolean) evt.getPropertyValue();
                    loggerTreePanel.setSelected(value);
                });

//            preferenceModel.addPropertyChangeListener("columns", evt -> {
//                List cols = (List) evt.getNewValue();
//                for (Object col1 : cols) {
//                    TableColumn col = (TableColumn) col1;
//                    Enumeration enumeration = columnListModel.elements();
//                    boolean found = false;
//                    while (enumeration.hasMoreElements()) {
//                        TableColumn thisCol = (TableColumn) enumeration.nextElement();
//                        if (thisCol.getHeaderValue().equals(col.getHeaderValue())) {
//                            found = true;
//                        }
//                    }
//                    if (!found) {
//                        columnListModel.addElement(col);
//                        columnListModel.fireContentsChanged();
//                    }
//                }
//            });
//
//            preferenceModel.addPropertyChangeListener(
//                "visibleColumns", evt -> columnListModel.fireContentsChanged());

            tabConfig.addEventListener(ConfigurationEvent.SET_PROPERTY,
                evt -> {
                    if(!evt.getPropertyName().equals("logpanel.clearTableExpression")) return;
                    clearTableExpression.setText(evt.getPropertyValue().toString());
                });
        }