/*
* Copyright 2015 Igor Maznitsa.
*
* Licensed 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.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.igormaznitsa.nbmindmap.nb.options;
import com.igormaznitsa.mindmap.model.logger.Logger;
import com.igormaznitsa.mindmap.model.logger.LoggerFactory;
import com.igormaznitsa.nbmindmap.nb.editor.MMDGraphEditor;
import com.igormaznitsa.mindmap.swing.panel.MindMapPanelConfig;
import com.igormaznitsa.mindmap.swing.panel.utils.KeyShortcut;
import com.igormaznitsa.nbmindmap.nb.explorer.MMKnowledgeSources;
import com.igormaznitsa.nbmindmap.nb.swing.AboutPanel;
import com.igormaznitsa.nbmindmap.nb.swing.KeyShortCutEditPanel;
import com.igormaznitsa.nbmindmap.utils.NbUtils;
import java.awt.Font;
import java.awt.event.KeyEvent;
import java.beans.PropertyEditor;
import java.beans.PropertyEditorManager;
import java.io.File;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.TreeMap;
import java.util.prefs.Preferences;
import javax.annotation.Nonnull;
import javax.swing.filechooser.FileFilter;
import org.apache.commons.io.FileUtils;
import org.openide.DialogDescriptor;
import org.openide.DialogDisplayer;
import com.igormaznitsa.mindmap.swing.panel.utils.PropertiesPreferences;
import com.igormaznitsa.nbmindmap.nb.refactoring.MindMapRefactoringFactory;
import com.igormaznitsa.nbmindmap.utils.DialogProviderManager;
final class MMDCfgPanel extends javax.swing.JPanel {
private static final long serialVersionUID = -1090601330630026253L;
private static final Logger LOGGER = LoggerFactory.getLogger(MMDCfgPanel.class);
private final transient MMDCfgOptionsPanelController controller;
private volatile boolean changeNotificationAllowed = true;
private final MindMapPanelConfig config = new MindMapPanelConfig();
private static File lastImportedSettingsFile = null;
private static File lastExportedSettingsFile = null;
private final Map<String, KeyShortcut> mapKeyShortCuts = new TreeMap<String, KeyShortcut>(new Comparator<String>() {
@Override
public int compare(final String o1, final String o2) {
return o1.compareTo(o2);
}
});
private static final class PropertiesFileFilter extends FileFilter {
@Override
public boolean accept(@Nonnull final File f) {
return f.isDirectory() || f.getName().toLowerCase(Locale.ENGLISH).endsWith(".properties");
}
@Override
@Nonnull
public String getDescription() {
return "Java properties file (*.properties)";
}
}
MMDCfgPanel(final MMDCfgOptionsPanelController controller) {
this.controller = controller;
initComponents();
this.labelMiscNeedsReloading.setVisible(false);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jPanel6 = new javax.swing.JPanel();
jPanel3 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
spinnerConnectorWidth = new javax.swing.JSpinner();
colorChooserConnectorColor = new com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton();
colorChooserCollapsatorBorder = new com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton();
colorChooserCollapsatorBackground = new com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton();
jLabel5 = new javax.swing.JLabel();
spinnerCollapsatorSize = new javax.swing.JSpinner();
jLabel6 = new javax.swing.JLabel();
spinnerCollapsatorWidth = new javax.swing.JSpinner();
colorChooserJumpLink = new com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton();
jLabel7 = new javax.swing.JLabel();
spinnerJumpLinkWidth = new javax.swing.JSpinner();
jPanel4 = new javax.swing.JPanel();
colorChooserPaperColor = new com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton();
checkBoxShowGrid = new javax.swing.JCheckBox();
colorChooserGridColor = new com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton();
spinnerGridStep = new javax.swing.JSpinner();
jLabel1 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
checkBoxDropShadow = new javax.swing.JCheckBox();
colorChooserRootBackground = new com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton();
colorChooserRootText = new com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton();
colorChooser1stBackground = new com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton();
colorChooser1stText = new com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton();
colorChooser2ndBackground = new com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton();
colorChooser2ndText = new com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton();
slider1stLevelHorzGap = new javax.swing.JSlider();
slider1stLevelVertGap = new javax.swing.JSlider();
slider2ndLevelHorzGap = new javax.swing.JSlider();
slider2ndLevelVertGap = new javax.swing.JSlider();
jPanel7 = new javax.swing.JPanel();
buttonFont = new javax.swing.JButton();
labelBorderWidth = new javax.swing.JLabel();
spinnerElementBorderWidth = new javax.swing.JSpinner();
jPanel8 = new javax.swing.JPanel();
buttonOpenShortcutEditor = new javax.swing.JButton();
panelScalingModifiers = new javax.swing.JPanel();
checkBoxScalingCTRL = new javax.swing.JCheckBox();
checkBoxScalingALT = new javax.swing.JCheckBox();
checkBoxScalingSHIFT = new javax.swing.JCheckBox();
checkBoxScalingMETA = new javax.swing.JCheckBox();
jPanel1 = new javax.swing.JPanel();
checkboxUseInsideBrowser = new javax.swing.JCheckBox();
checkboxRelativePathsForFilesInTheProject = new javax.swing.JCheckBox();
checkBoxUnfoldCollapsedTarget = new javax.swing.JCheckBox();
checkBoxCopyColorInfoToNewAllowed = new javax.swing.JCheckBox();
checkBoxKnowledgeFolderAutogenerationAllowed = new javax.swing.JCheckBox();
checkBoxWatchFileRefactoring = new javax.swing.JCheckBox();
checkBoxIgnoreWhereUsedRequests = new javax.swing.JCheckBox();
labelMiscNeedsReloading = new javax.swing.JLabel();
jPanel5 = new javax.swing.JPanel();
colorChooserSelectLine = new com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton();
jLabel3 = new javax.swing.JLabel();
spinnerSelectLineWidth = new javax.swing.JSpinner();
jLabel4 = new javax.swing.JLabel();
spinnerSelectLineGap = new javax.swing.JSpinner();
buttonAbout = new javax.swing.JButton();
donateButton1 = new com.igormaznitsa.nbmindmap.nb.swing.DonateButton();
buttonResetSettings = new javax.swing.JButton();
buttonExportSettings = new javax.swing.JButton();
buttonImportSettings = new javax.swing.JButton();
filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 16), new java.awt.Dimension(0, 16), new java.awt.Dimension(32767, 16));
setLayout(new java.awt.BorderLayout());
java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("com/igormaznitsa/nbmindmap/i18n/Bundle"); // NOI18N
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("MMDCfgPanel.jPanel3.border.title"))); // NOI18N
jLabel2.setText(bundle.getString("MMDCfgPanel.jLabel2.text")); // NOI18N
spinnerConnectorWidth.setModel(new javax.swing.SpinnerNumberModel(Float.valueOf(0.1f), Float.valueOf(0.05f), Float.valueOf(20.0f), Float.valueOf(0.01f)));
spinnerConnectorWidth.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
spinnerConnectorWidthStateChanged(evt);
}
});
colorChooserConnectorColor.setText(bundle.getString("MMDCfgPanel.colorChooserConnectorColor.text")); // NOI18N
colorChooserConnectorColor.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
colorChooserConnectorColor.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
colorChooserConnectorColorActionPerformed(evt);
}
});
colorChooserCollapsatorBorder.setText(bundle.getString("MMDCfgPanel.colorChooserCollapsatorBorder.text")); // NOI18N
colorChooserCollapsatorBorder.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
colorChooserCollapsatorBorder.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
colorChooserCollapsatorBorderActionPerformed(evt);
}
});
colorChooserCollapsatorBackground.setText(bundle.getString("MMDCfgPanel.colorChooserCollapsatorBackground.text")); // NOI18N
colorChooserCollapsatorBackground.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
colorChooserCollapsatorBackground.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
colorChooserCollapsatorBackgroundActionPerformed(evt);
}
});
jLabel5.setText(bundle.getString("MMDCfgPanel.jLabel5.text")); // NOI18N
spinnerCollapsatorSize.setModel(new javax.swing.SpinnerNumberModel(5, 3, 500, 1));
spinnerCollapsatorSize.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
spinnerCollapsatorSizeStateChanged(evt);
}
});
jLabel6.setText(bundle.getString("MMDCfgPanel.jLabel6.text")); // NOI18N
spinnerCollapsatorWidth.setModel(new javax.swing.SpinnerNumberModel(Float.valueOf(1.0f), Float.valueOf(0.01f), Float.valueOf(100.0f), Float.valueOf(0.1f)));
colorChooserJumpLink.setText(bundle.getString("MMDCfgPanel.colorChooserJumpLink.text")); // NOI18N
colorChooserJumpLink.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
colorChooserJumpLink.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
colorChooserJumpLinkActionPerformed(evt);
}
});
jLabel7.setText(bundle.getString("MMDCfgPanel.jLabel7.text")); // NOI18N
spinnerJumpLinkWidth.setModel(new javax.swing.SpinnerNumberModel(Float.valueOf(0.1f), Float.valueOf(0.05f), Float.valueOf(20.0f), Float.valueOf(0.01f)));
spinnerJumpLinkWidth.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
spinnerJumpLinkWidthStateChanged(evt);
}
});
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
.addGap(0, 106, Short.MAX_VALUE)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel7)
.addComponent(jLabel2))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(spinnerJumpLinkWidth)
.addComponent(spinnerConnectorWidth, javax.swing.GroupLayout.DEFAULT_SIZE, 158, Short.MAX_VALUE)))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(jLabel5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(jLabel6)
.addGap(12, 12, 12)))
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(spinnerCollapsatorSize, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 151, Short.MAX_VALUE)
.addComponent(spinnerCollapsatorWidth, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 151, Short.MAX_VALUE)))))
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(colorChooserJumpLink, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(colorChooserCollapsatorBackground, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(colorChooserCollapsatorBorder, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(colorChooserConnectorColor, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addContainerGap())
);
jPanel3Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerCollapsatorSize, spinnerCollapsatorWidth, spinnerConnectorWidth});
jPanel3Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {colorChooserCollapsatorBackground, colorChooserJumpLink});
jPanel3Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {colorChooserCollapsatorBorder, colorChooserConnectorColor});
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(spinnerConnectorWidth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel7)
.addComponent(spinnerJumpLinkWidth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(colorChooserCollapsatorBorder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(colorChooserCollapsatorBackground, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(colorChooserJumpLink, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(colorChooserConnectorColor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(spinnerCollapsatorSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(jLabel6)
.addComponent(spinnerCollapsatorWidth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel3Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jLabel5, spinnerCollapsatorSize});
jPanel3Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jLabel6, spinnerCollapsatorWidth});
jPanel3Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jLabel2, spinnerConnectorWidth});
jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("MMDCfgPanel.jPanel4.border.title"))); // NOI18N
colorChooserPaperColor.setText(bundle.getString("MMDCfgPanel.colorChooserPaperColor.text")); // NOI18N
colorChooserPaperColor.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
colorChooserPaperColor.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
colorChooserPaperColorActionPerformed(evt);
}
});
checkBoxShowGrid.setText(bundle.getString("MMDCfgPanel.checkBoxShowGrid.text")); // NOI18N
checkBoxShowGrid.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
checkBoxShowGridActionPerformed(evt);
}
});
colorChooserGridColor.setText(bundle.getString("MMDCfgPanel.colorChooserGridColor.text")); // NOI18N
colorChooserGridColor.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
colorChooserGridColor.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
colorChooserGridColorActionPerformed(evt);
}
});
spinnerGridStep.setModel(new javax.swing.SpinnerNumberModel(15, 2, 500, 1));
spinnerGridStep.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
spinnerGridStepStateChanged(evt);
}
});
jLabel1.setText(bundle.getString("MMDCfgPanel.jLabel1.text")); // NOI18N
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(checkBoxShowGrid))
.addGroup(jPanel4Layout.createSequentialGroup()
.addGap(11, 11, 11)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(spinnerGridStep, javax.swing.GroupLayout.PREFERRED_SIZE, 96, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(colorChooserGridColor, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(colorChooserPaperColor, javax.swing.GroupLayout.DEFAULT_SIZE, 224, Short.MAX_VALUE))
.addContainerGap())
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(spinnerGridStep, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1)
.addComponent(colorChooserGridColor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(colorChooserPaperColor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(checkBoxShowGrid))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel4Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jLabel1, spinnerGridStep});
jPanel4Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {checkBoxShowGrid, colorChooserGridColor, colorChooserPaperColor});
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("MMDCfgPanel.jPanel2.border.title"))); // NOI18N
checkBoxDropShadow.setText(bundle.getString("MMDCfgPanel.checkBoxDropShadow.text")); // NOI18N
checkBoxDropShadow.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
checkBoxDropShadowActionPerformed(evt);
}
});
colorChooserRootBackground.setText(bundle.getString("MMDCfgPanel.colorChooserRootBackground.text")); // NOI18N
colorChooserRootBackground.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
colorChooserRootBackground.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
colorChooserRootBackgroundActionPerformed(evt);
}
});
colorChooserRootText.setText(bundle.getString("MMDCfgPanel.colorChooserRootText.text")); // NOI18N
colorChooserRootText.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
colorChooserRootText.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
colorChooserRootTextActionPerformed(evt);
}
});
colorChooser1stBackground.setText(bundle.getString("MMDCfgPanel.colorChooser1stBackground.text")); // NOI18N
colorChooser1stBackground.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
colorChooser1stBackground.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
colorChooser1stBackgroundActionPerformed(evt);
}
});
colorChooser1stText.setText(bundle.getString("MMDCfgPanel.colorChooser1stText.text")); // NOI18N
colorChooser1stText.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
colorChooser1stText.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
colorChooser1stTextActionPerformed(evt);
}
});
colorChooser2ndBackground.setText(bundle.getString("MMDCfgPanel.colorChooser2ndBackground.text")); // NOI18N
colorChooser2ndBackground.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
colorChooser2ndBackground.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
colorChooser2ndBackgroundActionPerformed(evt);
}
});
colorChooser2ndText.setText(bundle.getString("MMDCfgPanel.colorChooser2ndText.text")); // NOI18N
colorChooser2ndText.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
colorChooser2ndText.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
colorChooser2ndTextActionPerformed(evt);
}
});
slider1stLevelHorzGap.setMajorTickSpacing(30);
slider1stLevelHorzGap.setMaximum(250);
slider1stLevelHorzGap.setMinimum(10);
slider1stLevelHorzGap.setPaintLabels(true);
slider1stLevelHorzGap.setPaintTicks(true);
slider1stLevelHorzGap.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("MMDCfgPanel.slider1stLevelHorzGap.border.title"))); // NOI18N
slider1stLevelHorzGap.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
slider1stLevelHorzGapStateChanged(evt);
}
});
slider1stLevelVertGap.setMajorTickSpacing(30);
slider1stLevelVertGap.setMaximum(250);
slider1stLevelVertGap.setMinimum(10);
slider1stLevelVertGap.setPaintLabels(true);
slider1stLevelVertGap.setPaintTicks(true);
slider1stLevelVertGap.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("MMDCfgPanel.slider1stLevelVertGap.border.title"))); // NOI18N
slider1stLevelVertGap.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
slider1stLevelVertGapStateChanged(evt);
}
});
slider2ndLevelHorzGap.setMajorTickSpacing(30);
slider2ndLevelHorzGap.setMaximum(250);
slider2ndLevelHorzGap.setMinimum(10);
slider2ndLevelHorzGap.setPaintLabels(true);
slider2ndLevelHorzGap.setPaintTicks(true);
slider2ndLevelHorzGap.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("MMDCfgPanel.slider2ndLevelHorzGap.border.title"))); // NOI18N
slider2ndLevelHorzGap.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
slider2ndLevelHorzGapStateChanged(evt);
}
});
slider2ndLevelVertGap.setMajorTickSpacing(30);
slider2ndLevelVertGap.setMaximum(250);
slider2ndLevelVertGap.setMinimum(10);
slider2ndLevelVertGap.setPaintLabels(true);
slider2ndLevelVertGap.setPaintTicks(true);
slider2ndLevelVertGap.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("MMDCfgPanel.slider2ndLevelVertGap.border.title"))); // NOI18N
slider2ndLevelVertGap.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
slider2ndLevelVertGapStateChanged(evt);
}
});
jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("MMDCfgPanel.jPanel7.border.title"))); // NOI18N
buttonFont.setText("..."); // NOI18N
buttonFont.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonFontActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
jPanel7.setLayout(jPanel7Layout);
jPanel7Layout.setHorizontalGroup(
jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel7Layout.createSequentialGroup()
.addContainerGap()
.addComponent(buttonFont, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
jPanel7Layout.setVerticalGroup(
jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel7Layout.createSequentialGroup()
.addComponent(buttonFont)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
labelBorderWidth.setText(bundle.getString("MMDCfgPanel.labelBorderWidth.text")); // NOI18N
spinnerElementBorderWidth.setModel(new javax.swing.SpinnerNumberModel(Float.valueOf(0.5f), Float.valueOf(0.05f), Float.valueOf(50.0f), Float.valueOf(0.1f)));
spinnerElementBorderWidth.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
spinnerElementBorderWidthStateChanged(evt);
}
});
jPanel8.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("MMDCfgPanel.ShortCutsTitle"))); // NOI18N
buttonOpenShortcutEditor.setText(bundle.getString("MMDCfgPanel.ShortCutsButtonText")); // NOI18N
buttonOpenShortcutEditor.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonOpenShortcutEditorActionPerformed(evt);
}
});
panelScalingModifiers.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("MMDCfgPanel.panelScalingModifiers.border.title"))); // NOI18N
checkBoxScalingCTRL.setText("CTRL"); // NOI18N
checkBoxScalingCTRL.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
checkBoxScalingCTRLActionPerformed(evt);
}
});
checkBoxScalingALT.setText("ALT"); // NOI18N
checkBoxScalingALT.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
checkBoxScalingALTActionPerformed(evt);
}
});
checkBoxScalingSHIFT.setText("SHIFT"); // NOI18N
checkBoxScalingSHIFT.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
checkBoxScalingSHIFTActionPerformed(evt);
}
});
checkBoxScalingMETA.setText("META"); // NOI18N
checkBoxScalingMETA.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
checkBoxScalingMETAActionPerformed(evt);
}
});
javax.swing.GroupLayout panelScalingModifiersLayout = new javax.swing.GroupLayout(panelScalingModifiers);
panelScalingModifiers.setLayout(panelScalingModifiersLayout);
panelScalingModifiersLayout.setHorizontalGroup(
panelScalingModifiersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelScalingModifiersLayout.createSequentialGroup()
.addContainerGap()
.addComponent(checkBoxScalingCTRL)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(checkBoxScalingALT)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(checkBoxScalingSHIFT)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(checkBoxScalingMETA)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
panelScalingModifiersLayout.setVerticalGroup(
panelScalingModifiersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelScalingModifiersLayout.createSequentialGroup()
.addContainerGap()
.addGroup(panelScalingModifiersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(checkBoxScalingCTRL)
.addComponent(checkBoxScalingALT)
.addComponent(checkBoxScalingSHIFT)
.addComponent(checkBoxScalingMETA))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
jPanel8.setLayout(jPanel8Layout);
jPanel8Layout.setHorizontalGroup(
jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel8Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(buttonOpenShortcutEditor, javax.swing.GroupLayout.DEFAULT_SIZE, 387, Short.MAX_VALUE)
.addComponent(panelScalingModifiers, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
jPanel8Layout.setVerticalGroup(
jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel8Layout.createSequentialGroup()
.addContainerGap()
.addComponent(buttonOpenShortcutEditor)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(panelScalingModifiers, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(slider1stLevelHorzGap, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(slider1stLevelVertGap, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(slider2ndLevelHorzGap, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(slider2ndLevelVertGap, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(labelBorderWidth)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(spinnerElementBorderWidth, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(checkBoxDropShadow)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(23, 23, 23)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(colorChooser1stBackground, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(colorChooserRootBackground, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(colorChooser2ndBackground, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(colorChooser1stText, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 172, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(colorChooserRootText, javax.swing.GroupLayout.PREFERRED_SIZE, 172, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(colorChooser2ndText, javax.swing.GroupLayout.PREFERRED_SIZE, 172, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(jPanel8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {colorChooser1stBackground, colorChooser1stText, colorChooser2ndBackground, colorChooser2ndText, colorChooserRootBackground, colorChooserRootText});
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(checkBoxDropShadow)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(colorChooserRootBackground, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(colorChooserRootText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(colorChooser1stText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(colorChooser1stBackground, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(colorChooser2ndText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(colorChooser2ndBackground, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(slider1stLevelHorzGap, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(slider1stLevelVertGap, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(slider2ndLevelHorzGap, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(slider2ndLevelVertGap, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(labelBorderWidth)
.addComponent(spinnerElementBorderWidth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel2Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {labelBorderWidth, spinnerElementBorderWidth});
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("MMDCfgPanel.jPanel1.border.title"))); // NOI18N
checkboxUseInsideBrowser.setText(bundle.getString("MMDCfgPanel.checkboxUseInsideBrowser.text")); // NOI18N
checkboxUseInsideBrowser.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
checkboxUseInsideBrowserActionPerformed(evt);
}
});
checkboxRelativePathsForFilesInTheProject.setText(bundle.getString("MMDCfgPanel.checkboxRelativePathsForFilesInTheProject.text")); // NOI18N
checkboxRelativePathsForFilesInTheProject.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
checkboxRelativePathsForFilesInTheProjectActionPerformed(evt);
}
});
checkBoxUnfoldCollapsedTarget.setText(bundle.getString("MMDCfgPanel.checkBoxUnfoldCollapsedTarget.text")); // NOI18N
checkBoxUnfoldCollapsedTarget.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
checkBoxUnfoldCollapsedTargetActionPerformed(evt);
}
});
checkBoxCopyColorInfoToNewAllowed.setText(bundle.getString("MMDCfgPanel.checkBoxCopyColorInfoToNewAllowed.text")); // NOI18N
checkBoxCopyColorInfoToNewAllowed.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
checkBoxCopyColorInfoToNewAllowedActionPerformed(evt);
}
});
checkBoxKnowledgeFolderAutogenerationAllowed.setText(bundle.getString("MMDCfgPanel.checkBoxKnowledgeFolderAutogenerationAllowed.text")); // NOI18N
checkBoxKnowledgeFolderAutogenerationAllowed.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
checkBoxKnowledgeFolderAutogenerationAllowedActionPerformed(evt);
}
});
checkBoxWatchFileRefactoring.setText("Watch file refactoring (Experimental)"); // NOI18N
checkBoxWatchFileRefactoring.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
checkBoxWatchFileRefactoringActionPerformed(evt);
}
});
checkBoxIgnoreWhereUsedRequests.setText("Turn off processing of \"Where used\" refactoring"); // NOI18N
checkBoxIgnoreWhereUsedRequests.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
checkBoxIgnoreWhereUsedRequestsActionPerformed(evt);
}
});
labelMiscNeedsReloading.setForeground(java.awt.Color.red);
labelMiscNeedsReloading.setText("IDE should be reloaded for effect"); // NOI18N
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(checkboxUseInsideBrowser)
.addComponent(checkboxRelativePathsForFilesInTheProject)
.addComponent(checkBoxUnfoldCollapsedTarget)
.addComponent(checkBoxCopyColorInfoToNewAllowed)
.addComponent(checkBoxKnowledgeFolderAutogenerationAllowed)
.addComponent(checkBoxWatchFileRefactoring)
.addComponent(checkBoxIgnoreWhereUsedRequests)
.addComponent(labelMiscNeedsReloading))
.addContainerGap(54, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(checkboxUseInsideBrowser)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(checkboxRelativePathsForFilesInTheProject)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(checkBoxUnfoldCollapsedTarget)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(checkBoxCopyColorInfoToNewAllowed)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(checkBoxKnowledgeFolderAutogenerationAllowed)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(checkBoxWatchFileRefactoring)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(checkBoxIgnoreWhereUsedRequests)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(labelMiscNeedsReloading))
);
jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("MMDCfgPanel.jPanel5.border.title"))); // NOI18N
colorChooserSelectLine.setText(bundle.getString("MMDCfgPanel.colorChooserSelectLine.text")); // NOI18N
colorChooserSelectLine.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
colorChooserSelectLine.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
colorChooserSelectLineActionPerformed(evt);
}
});
jLabel3.setText(bundle.getString("MMDCfgPanel.jLabel3.text")); // NOI18N
spinnerSelectLineWidth.setModel(new javax.swing.SpinnerNumberModel(Float.valueOf(1.0f), Float.valueOf(0.02f), Float.valueOf(100.0f), Float.valueOf(0.1f)));
jLabel4.setText(bundle.getString("MMDCfgPanel.jLabel4.text")); // NOI18N
spinnerSelectLineGap.setModel(new javax.swing.SpinnerNumberModel(1, 1, 500, 1));
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
.addContainerGap(65, Short.MAX_VALUE)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(colorChooserSelectLine, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(spinnerSelectLineWidth)
.addComponent(spinnerSelectLineGap))
.addContainerGap())
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addComponent(colorChooserSelectLine, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(spinnerSelectLineWidth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(spinnerSelectLineGap, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel5Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jLabel3, spinnerSelectLineWidth});
jPanel5Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jLabel4, spinnerSelectLineGap});
buttonAbout.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/igormaznitsa/nbmindmap/icons/info16.png"))); // NOI18N
buttonAbout.setText(bundle.getString("MMDCfgPanel.buttonAbout.Text")); // NOI18N
buttonAbout.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonAboutActionPerformed(evt);
}
});
buttonResetSettings.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/igormaznitsa/nbmindmap/icons/stop16.png"))); // NOI18N
buttonResetSettings.setText(bundle.getString("MMDCfgPanel.buttonResetSettings.text"));
buttonResetSettings.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonResetSettingsActionPerformed(evt);
}
});
buttonExportSettings.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/igormaznitsa/nbmindmap/icons/document_export16.png"))); // NOI18N
buttonExportSettings.setText(bundle.getString("MMDCfgPanel.buttonExportSettings.text"));
buttonExportSettings.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonExportSettingsActionPerformed(evt);
}
});
buttonImportSettings.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/igormaznitsa/nbmindmap/icons/document_import16.png"))); // NOI18N
buttonImportSettings.setText(bundle.getString("MMDCfgPanel.buttonImportSettings.text"));
buttonImportSettings.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonImportSettingsActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
jPanel6.setLayout(jPanel6Layout);
jPanel6Layout.setHorizontalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel6Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel6Layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(buttonAbout, javax.swing.GroupLayout.DEFAULT_SIZE, 137, Short.MAX_VALUE)
.addComponent(donateButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonResetSettings, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonExportSettings, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonImportSettings, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addGroup(jPanel6Layout.createSequentialGroup()
.addGap(70, 70, 70)
.addComponent(filler1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(33, Short.MAX_VALUE))
);
jPanel6Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jPanel1, jPanel3, jPanel4, jPanel5});
jPanel6Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonAbout, buttonExportSettings, buttonImportSettings, buttonResetSettings, donateButton1});
jPanel6Layout.setVerticalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel6Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(jPanel6Layout.createSequentialGroup()
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(jPanel6Layout.createSequentialGroup()
.addComponent(buttonAbout)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(donateButton1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(filler1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(buttonResetSettings)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(buttonExportSettings)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(buttonImportSettings)))
.addContainerGap(31, Short.MAX_VALUE))
);
jScrollPane1.setViewportView(jPanel6);
add(jScrollPane1, java.awt.BorderLayout.CENTER);
}// </editor-fold>//GEN-END:initComponents
private void checkBoxShowGridActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxShowGridActionPerformed
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_checkBoxShowGridActionPerformed
private void checkBoxDropShadowActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxDropShadowActionPerformed
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_checkBoxDropShadowActionPerformed
private void colorChooserPaperColorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_colorChooserPaperColorActionPerformed
if (this.colorChooserPaperColor.isLastOkPressed() && changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_colorChooserPaperColorActionPerformed
private void colorChooserGridColorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_colorChooserGridColorActionPerformed
if (this.colorChooserGridColor.isLastOkPressed() && changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_colorChooserGridColorActionPerformed
private void spinnerGridStepStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_spinnerGridStepStateChanged
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_spinnerGridStepStateChanged
private void spinnerConnectorWidthStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_spinnerConnectorWidthStateChanged
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_spinnerConnectorWidthStateChanged
private void colorChooserConnectorColorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_colorChooserConnectorColorActionPerformed
if (this.colorChooserConnectorColor.isLastOkPressed() && changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_colorChooserConnectorColorActionPerformed
private void colorChooserRootBackgroundActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_colorChooserRootBackgroundActionPerformed
if (this.colorChooserRootBackground.isLastOkPressed() && changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_colorChooserRootBackgroundActionPerformed
private void colorChooserRootTextActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_colorChooserRootTextActionPerformed
if (this.colorChooserRootText.isLastOkPressed() && changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_colorChooserRootTextActionPerformed
private void colorChooser1stBackgroundActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_colorChooser1stBackgroundActionPerformed
if (this.colorChooser1stBackground.isLastOkPressed() && changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_colorChooser1stBackgroundActionPerformed
private void colorChooser1stTextActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_colorChooser1stTextActionPerformed
if (this.colorChooser1stText.isLastOkPressed() && changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_colorChooser1stTextActionPerformed
private void colorChooser2ndBackgroundActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_colorChooser2ndBackgroundActionPerformed
if (this.colorChooser2ndBackground.isLastOkPressed() && changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_colorChooser2ndBackgroundActionPerformed
private void colorChooser2ndTextActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_colorChooser2ndTextActionPerformed
if (this.colorChooser2ndText.isLastOkPressed() && changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_colorChooser2ndTextActionPerformed
private void colorChooserSelectLineActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_colorChooserSelectLineActionPerformed
if (this.colorChooserSelectLine.isLastOkPressed() && changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_colorChooserSelectLineActionPerformed
private void colorChooserCollapsatorBorderActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_colorChooserCollapsatorBorderActionPerformed
if (changeNotificationAllowed && this.colorChooserCollapsatorBorder.isLastOkPressed()) {
this.controller.changed();
}
}//GEN-LAST:event_colorChooserCollapsatorBorderActionPerformed
private void colorChooserCollapsatorBackgroundActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_colorChooserCollapsatorBackgroundActionPerformed
if (changeNotificationAllowed && this.colorChooserCollapsatorBackground.isLastOkPressed()) {
this.controller.changed();
}
}//GEN-LAST:event_colorChooserCollapsatorBackgroundActionPerformed
private void spinnerCollapsatorSizeStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_spinnerCollapsatorSizeStateChanged
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_spinnerCollapsatorSizeStateChanged
private void slider1stLevelHorzGapStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_slider1stLevelHorzGapStateChanged
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_slider1stLevelHorzGapStateChanged
private void slider1stLevelVertGapStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_slider1stLevelVertGapStateChanged
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_slider1stLevelVertGapStateChanged
private void slider2ndLevelHorzGapStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_slider2ndLevelHorzGapStateChanged
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_slider2ndLevelHorzGapStateChanged
private void slider2ndLevelVertGapStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_slider2ndLevelVertGapStateChanged
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_slider2ndLevelVertGapStateChanged
private void updateFontButton(@Nonnull final MindMapPanelConfig config) {
final String strStyle;
final Font thefont = config.getFont();
if (thefont.isBold()) {
strStyle = thefont.isItalic() ? "bolditalic" : "bold";
} else {
strStyle = thefont.isItalic() ? "italic" : "plain";
}
this.buttonFont.setText(thefont.getName() + ", " + strStyle + ", " + thefont.getSize());
}
private void buttonFontActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonFontActionPerformed
final PropertyEditor editor = PropertyEditorManager.findEditor(Font.class);
if (editor == null) {
LOGGER.error("Can't find any font editor");
NbUtils.msgError("Can't find editor! Unexpected state! Contact developer!");
return;
}
editor.setValue(this.config.getFont());
final DialogDescriptor descriptor = new DialogDescriptor(
editor.getCustomEditor(),
"Mind map font"
);
DialogDisplayer.getDefault().createDialog(descriptor).setVisible(true);
if (descriptor.getValue() == DialogDescriptor.OK_OPTION) {
this.config.setFont((Font) editor.getValue());
updateFontButton(this.config);
if (changeNotificationAllowed) {
this.controller.changed();
}
}
}//GEN-LAST:event_buttonFontActionPerformed
private void buttonAboutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonAboutActionPerformed
NbUtils.plainMessageOk(java.util.ResourceBundle.getBundle("com/igormaznitsa/nbmindmap/i18n/Bundle").getString("MMDCfgPanel.buttonAbout.Text"), new AboutPanel());
}//GEN-LAST:event_buttonAboutActionPerformed
private void checkboxUseInsideBrowserActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkboxUseInsideBrowserActionPerformed
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_checkboxUseInsideBrowserActionPerformed
private void checkboxRelativePathsForFilesInTheProjectActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkboxRelativePathsForFilesInTheProjectActionPerformed
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_checkboxRelativePathsForFilesInTheProjectActionPerformed
private void checkBoxUnfoldCollapsedTargetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxUnfoldCollapsedTargetActionPerformed
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_checkBoxUnfoldCollapsedTargetActionPerformed
private void colorChooserJumpLinkActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_colorChooserJumpLinkActionPerformed
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_colorChooserJumpLinkActionPerformed
private void spinnerJumpLinkWidthStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_spinnerJumpLinkWidthStateChanged
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_spinnerJumpLinkWidthStateChanged
private void checkBoxCopyColorInfoToNewAllowedActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxCopyColorInfoToNewAllowedActionPerformed
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_checkBoxCopyColorInfoToNewAllowedActionPerformed
private void checkBoxKnowledgeFolderAutogenerationAllowedActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxKnowledgeFolderAutogenerationAllowedActionPerformed
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_checkBoxKnowledgeFolderAutogenerationAllowedActionPerformed
private void spinnerElementBorderWidthStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_spinnerElementBorderWidthStateChanged
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_spinnerElementBorderWidthStateChanged
private void buttonOpenShortcutEditorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonOpenShortcutEditorActionPerformed
final List<KeyShortcut> list = new ArrayList<KeyShortcut>();
for (final Map.Entry<String, KeyShortcut> e : this.mapKeyShortCuts.entrySet()) {
list.add(e.getValue());
}
final KeyShortCutEditPanel panel = new KeyShortCutEditPanel(list);
if (NbUtils.plainMessageOkCancel("Edit shortcuts", panel)) {
for (final KeyShortcut s : panel.getResult()) {
this.mapKeyShortCuts.put(s.getID(), s);
}
this.controller.changed();
}
}//GEN-LAST:event_buttonOpenShortcutEditorActionPerformed
private void checkBoxScalingCTRLActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxScalingCTRLActionPerformed
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_checkBoxScalingCTRLActionPerformed
private void checkBoxScalingALTActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxScalingALTActionPerformed
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_checkBoxScalingALTActionPerformed
private void checkBoxScalingSHIFTActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxScalingSHIFTActionPerformed
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_checkBoxScalingSHIFTActionPerformed
private void checkBoxScalingMETAActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxScalingMETAActionPerformed
if (changeNotificationAllowed) {
this.controller.changed();
}
}//GEN-LAST:event_checkBoxScalingMETAActionPerformed
private void buttonResetSettingsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonResetSettingsActionPerformed
this.config.makeFullCopyOf(new MindMapPanelConfig(), false, false);
loadFromPreferences(new PropertiesPreferences("NB MindMap plugin"), this.config);
this.controller.changed();
}//GEN-LAST:event_buttonResetSettingsActionPerformed
private void buttonExportSettingsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonExportSettingsActionPerformed
File file = DialogProviderManager.getInstance().getDialogProvider().msgSaveFileDialog("exportSettings", "Export settings", lastExportedSettingsFile, true, new PropertiesFileFilter(), "Save");
if (file != null) {
lastExportedSettingsFile = file;
if (!file.getName().toLowerCase(Locale.ENGLISH).endsWith(".properties")) {
final Boolean addExt = DialogProviderManager.getInstance().getDialogProvider().msgConfirmYesNoCancel("Add extension", "Add '.properties' extension?");
if (addExt == null) {
return;
}
if (addExt) {
file = new File(file.getAbsolutePath() + ".properties");
}
}
if (file.exists() && !DialogProviderManager.getInstance().getDialogProvider().msgConfirmOkCancel("Override file", String.format("File %s exists, to override it?", file.getName()))) {
return;
}
final PropertiesPreferences prefs = new PropertiesPreferences("NB MindMap plugin");
final MindMapPanelConfig cfg = store(prefs, new MindMapPanelConfig(), false);
cfg.saveTo(prefs);
try {
FileUtils.write(file, prefs.toString());
}
catch (final Exception ex) {
LOGGER.error("Can't export settings", ex);
DialogProviderManager.getInstance().getDialogProvider().msgError("Can't export settings [" + ex.getMessage() + ']');
}
}
}//GEN-LAST:event_buttonExportSettingsActionPerformed
private void buttonImportSettingsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonImportSettingsActionPerformed
final File file = DialogProviderManager.getInstance().getDialogProvider().msgOpenFileDialog("importSettings", "Import settings", lastImportedSettingsFile, true, new PropertiesFileFilter(), "Open");
if (file != null) {
lastImportedSettingsFile = file;
try {
final Preferences prefs = (new PropertiesPreferences("NB MindMap plugin", FileUtils.readFileToString(file)));
loadFromPreferences(prefs, this.config);
this.controller.changed();
}
catch (final Exception ex) {
LOGGER.error("Can't import settings", ex);
DialogProviderManager.getInstance().getDialogProvider().msgError("Can't import settings [" + ex.getMessage() + ']');
}
}
}//GEN-LAST:event_buttonImportSettingsActionPerformed
private void checkBoxWatchFileRefactoringActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxWatchFileRefactoringActionPerformed
if (this.changeNotificationAllowed) {
showNeedsReloadingNotification();
}
}//GEN-LAST:event_checkBoxWatchFileRefactoringActionPerformed
private void checkBoxIgnoreWhereUsedRequestsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxIgnoreWhereUsedRequestsActionPerformed
if (this.changeNotificationAllowed) {
showNeedsReloadingNotification();
}
}//GEN-LAST:event_checkBoxIgnoreWhereUsedRequestsActionPerformed
private void showNeedsReloadingNotification() {
this.labelMiscNeedsReloading.setVisible(true);
}
void load(@Nonnull final Preferences preferences) {
loadFromPreferences(preferences, this.config);
}
private void loadFromPreferences(@Nonnull final Preferences preferences, @Nonnull final MindMapPanelConfig cfg) {
cfg.loadFrom(preferences);
this.changeNotificationAllowed = false;
try {
this.checkBoxShowGrid.setSelected(cfg.isShowGrid());
this.checkBoxDropShadow.setSelected(cfg.isDropShadow());
this.colorChooserPaperColor.setValue(cfg.getPaperColor());
this.colorChooserGridColor.setValue(cfg.getGridColor());
this.colorChooserConnectorColor.setValue(cfg.getConnectorColor());
this.colorChooserJumpLink.setValue(cfg.getJumpLinkColor());
this.colorChooserRootBackground.setValue(cfg.getRootBackgroundColor());
this.colorChooserRootText.setValue(cfg.getRootTextColor());
this.colorChooser1stBackground.setValue(cfg.getFirstLevelBackgroundColor());
this.colorChooser1stText.setValue(cfg.getFirstLevelTextColor());
this.colorChooser2ndBackground.setValue(cfg.getOtherLevelBackgroundColor());
this.colorChooser2ndText.setValue(cfg.getOtherLevelTextColor());
this.colorChooserSelectLine.setValue(cfg.getSelectLineColor());
this.spinnerGridStep.setValue(cfg.getGridStep());
this.spinnerSelectLineGap.setValue(cfg.getSelectLineGap());
this.spinnerConnectorWidth.setValue(cfg.getConnectorWidth());
this.spinnerJumpLinkWidth.setValue(cfg.getJumpLinkWidth());
this.spinnerCollapsatorWidth.setValue(cfg.getCollapsatorBorderWidth());
this.spinnerCollapsatorSize.setValue(cfg.getCollapsatorSize());
this.spinnerElementBorderWidth.setValue(cfg.getElementBorderWidth());
this.colorChooserCollapsatorBackground.setValue(cfg.getCollapsatorBackgroundColor());
this.colorChooserCollapsatorBorder.setValue(cfg.getCollapsatorBorderColor());
this.spinnerSelectLineWidth.setValue(cfg.getSelectLineWidth());
this.slider1stLevelHorzGap.setValue(cfg.getFirstLevelHorizontalInset());
this.slider1stLevelVertGap.setValue(cfg.getFirstLevelVerticalInset());
this.slider2ndLevelHorzGap.setValue(cfg.getOtherLevelHorizontalInset());
this.slider2ndLevelVertGap.setValue(cfg.getOtherLevelVerticalInset());
this.mapKeyShortCuts.clear();
this.mapKeyShortCuts.putAll(cfg.getKeyShortcutMap());
setScalingModifiers(cfg.getScaleModifiers());
// Common behaviour options
this.checkboxUseInsideBrowser.setSelected(preferences.getBoolean("useInsideBrowser", false));
this.checkboxRelativePathsForFilesInTheProject.setSelected(preferences.getBoolean("makeRelativePathToProject", true));
this.checkBoxUnfoldCollapsedTarget.setSelected(preferences.getBoolean("unfoldCollapsedTarget", true));
this.checkBoxCopyColorInfoToNewAllowed.setSelected(preferences.getBoolean("copyColorInfoToNewChildAllowed", true));
this.checkBoxKnowledgeFolderAutogenerationAllowed.setSelected(preferences.getBoolean(MMKnowledgeSources.PREFERENCE_KEY_KNOWLEDGEFOLDER_ALLOWED, false));
this.checkBoxWatchFileRefactoring.setSelected(preferences.getBoolean(MindMapRefactoringFactory.PROPERTY_WATCH_FILE_REFACTORING, false));
this.checkBoxIgnoreWhereUsedRequests.setSelected(preferences.getBoolean(MindMapRefactoringFactory.PROPERTY_IGNORE_WHEREUSED, false));
updateFontButton(cfg);
}
finally {
changeNotificationAllowed = true;
}
}
@Nonnull
MindMapPanelConfig store(@Nonnull final Preferences prefs, @Nonnull final MindMapPanelConfig cfg, final boolean notifyConfigReload) {
try {
cfg.setShowGrid(this.checkBoxShowGrid.isSelected());
cfg.setDropShadow(this.checkBoxDropShadow.isSelected());
cfg.setPaperColor(this.colorChooserPaperColor.getValue());
cfg.setGridColor(this.colorChooserGridColor.getValue());
cfg.setConnectorColor(this.colorChooserConnectorColor.getValue());
cfg.setJumpLinkColor(this.colorChooserJumpLink.getValue());
cfg.setRootBackgroundColor(this.colorChooserRootBackground.getValue());
cfg.setRootTextColor(this.colorChooserRootText.getValue());
cfg.setFirstLevelBackgroundColor(this.colorChooser1stBackground.getValue());
cfg.setFirstLevelTextColor(this.colorChooser1stText.getValue());
cfg.setOtherLevelBackgroundColor(this.colorChooser2ndBackground.getValue());
cfg.setOtherLevelTextColor(this.colorChooser2ndText.getValue());
cfg.setSelectLineColor(this.colorChooserSelectLine.getValue());
cfg.setCollapsatorBackgroundColor(this.colorChooserCollapsatorBackground.getValue());
cfg.setCollapsatorBorderColor(this.colorChooserCollapsatorBorder.getValue());
cfg.setGridStep((Integer) this.spinnerGridStep.getValue());
cfg.setSelectLineGap((Integer) this.spinnerSelectLineGap.getValue());
cfg.setCollapsatorSize((Integer) this.spinnerCollapsatorSize.getValue());
cfg.setConnectorWidth((Float) this.spinnerConnectorWidth.getValue());
cfg.setJumpLinkWidth((Float) this.spinnerJumpLinkWidth.getValue());
cfg.setSelectLineWidth((Float) this.spinnerSelectLineWidth.getValue());
cfg.setCollapsatorBorderWidth((Float) this.spinnerCollapsatorWidth.getValue());
cfg.setElementBorderWidth((Float) this.spinnerElementBorderWidth.getValue());
cfg.setFirstLevelHorizontalInset(this.slider1stLevelHorzGap.getValue());
cfg.setFirstLevelVerticalInset(this.slider1stLevelVertGap.getValue());
cfg.setOtherLevelHorizontalInset(this.slider2ndLevelHorzGap.getValue());
cfg.setOtherLevelVerticalInset(this.slider2ndLevelVertGap.getValue());
for (final Map.Entry<String, KeyShortcut> e : this.mapKeyShortCuts.entrySet()) {
cfg.setKeyShortCut(e.getValue());
}
cfg.setScaleModifiers(getScalingModifiers());
cfg.saveTo(prefs);
// Common behaviour options
prefs.putBoolean("useInsideBrowser", this.checkboxUseInsideBrowser.isSelected());
prefs.putBoolean("makeRelativePathToProject", this.checkboxRelativePathsForFilesInTheProject.isSelected());
prefs.putBoolean("unfoldCollapsedTarget", this.checkBoxUnfoldCollapsedTarget.isSelected());
prefs.putBoolean("copyColorInfoToNewChildAllowed", this.checkBoxCopyColorInfoToNewAllowed.isSelected());
prefs.putBoolean(MMKnowledgeSources.PREFERENCE_KEY_KNOWLEDGEFOLDER_ALLOWED, this.checkBoxKnowledgeFolderAutogenerationAllowed.isSelected());
prefs.putBoolean(MindMapRefactoringFactory.PROPERTY_WATCH_FILE_REFACTORING, this.checkBoxWatchFileRefactoring.isSelected());
prefs.putBoolean(MindMapRefactoringFactory.PROPERTY_IGNORE_WHEREUSED, this.checkBoxIgnoreWhereUsedRequests.isSelected());
}
finally {
if (notifyConfigReload) {
MMDGraphEditor.notifyReloadConfig();
}
}
return cfg;
}
private void setScalingModifiers(final int value) {
this.checkBoxScalingALT.setSelected((value & KeyEvent.ALT_MASK) != 0);
this.checkBoxScalingCTRL.setSelected((value & KeyEvent.CTRL_MASK) != 0);
this.checkBoxScalingMETA.setSelected((value & KeyEvent.META_MASK) != 0);
this.checkBoxScalingSHIFT.setSelected((value & KeyEvent.SHIFT_MASK) != 0);
}
private int getScalingModifiers() {
return (this.checkBoxScalingALT.isSelected() ? KeyEvent.ALT_MASK : 0)
| (this.checkBoxScalingCTRL.isSelected() ? KeyEvent.CTRL_MASK : 0)
| (this.checkBoxScalingMETA.isSelected() ? KeyEvent.ALT_MASK : 0)
| (this.checkBoxScalingSHIFT.isSelected() ? KeyEvent.SHIFT_MASK : 0);
}
boolean valid() {
return true;
}
@Nonnull
public MindMapPanelConfig getConfig() {
return this.config;
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton buttonAbout;
private javax.swing.JButton buttonExportSettings;
private javax.swing.JButton buttonFont;
private javax.swing.JButton buttonImportSettings;
private javax.swing.JButton buttonOpenShortcutEditor;
private javax.swing.JButton buttonResetSettings;
private javax.swing.JCheckBox checkBoxCopyColorInfoToNewAllowed;
private javax.swing.JCheckBox checkBoxDropShadow;
private javax.swing.JCheckBox checkBoxIgnoreWhereUsedRequests;
private javax.swing.JCheckBox checkBoxKnowledgeFolderAutogenerationAllowed;
private javax.swing.JCheckBox checkBoxScalingALT;
private javax.swing.JCheckBox checkBoxScalingCTRL;
private javax.swing.JCheckBox checkBoxScalingMETA;
private javax.swing.JCheckBox checkBoxScalingSHIFT;
private javax.swing.JCheckBox checkBoxShowGrid;
private javax.swing.JCheckBox checkBoxUnfoldCollapsedTarget;
private javax.swing.JCheckBox checkBoxWatchFileRefactoring;
private javax.swing.JCheckBox checkboxRelativePathsForFilesInTheProject;
private javax.swing.JCheckBox checkboxUseInsideBrowser;
private com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton colorChooser1stBackground;
private com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton colorChooser1stText;
private com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton colorChooser2ndBackground;
private com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton colorChooser2ndText;
private com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton colorChooserCollapsatorBackground;
private com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton colorChooserCollapsatorBorder;
private com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton colorChooserConnectorColor;
private com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton colorChooserGridColor;
private com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton colorChooserJumpLink;
private com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton colorChooserPaperColor;
private com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton colorChooserRootBackground;
private com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton colorChooserRootText;
private com.igormaznitsa.nbmindmap.nb.swing.ColorChooserButton colorChooserSelectLine;
private com.igormaznitsa.nbmindmap.nb.swing.DonateButton donateButton1;
private javax.swing.Box.Filler filler1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JPanel jPanel7;
private javax.swing.JPanel jPanel8;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel labelBorderWidth;
private javax.swing.JLabel labelMiscNeedsReloading;
private javax.swing.JPanel panelScalingModifiers;
private javax.swing.JSlider slider1stLevelHorzGap;
private javax.swing.JSlider slider1stLevelVertGap;
private javax.swing.JSlider slider2ndLevelHorzGap;
private javax.swing.JSlider slider2ndLevelVertGap;
private javax.swing.JSpinner spinnerCollapsatorSize;
private javax.swing.JSpinner spinnerCollapsatorWidth;
private javax.swing.JSpinner spinnerConnectorWidth;
private javax.swing.JSpinner spinnerElementBorderWidth;
private javax.swing.JSpinner spinnerGridStep;
private javax.swing.JSpinner spinnerJumpLinkWidth;
private javax.swing.JSpinner spinnerSelectLineGap;
private javax.swing.JSpinner spinnerSelectLineWidth;
// End of variables declaration//GEN-END:variables
}