/* * The MIT License * * Copyright 2013 Andreas Giemza. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ package de.andreasgiemza.jgeagle.panels; import de.andreasgiemza.jgeagle.options.Options; import de.andreasgiemza.jgeagle.repo.rcs.JGit; import java.awt.Color; import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import javax.swing.JColorChooser; import javax.swing.JDialog; import javax.swing.JFileChooser; import javax.swing.JOptionPane; import javax.swing.SpinnerNumberModel; import org.eclipse.jgit.api.errors.GitAPIException; /** * * @author Andreas Giemza */ public class PreferencesPanel extends javax.swing.JPanel { private final JDialog jDialog; private final Options options; /** * Creates new form OptionsPanel * * @param jDialog * @param options */ public PreferencesPanel(JDialog jDialog, Options options) { initComponents(); this.jDialog = jDialog; this.options = options; loadOptions(); } private void loadOptions() { eagleBinaryTextField.setText(options.getPropEagleBinary()); eagleSchematicBackgroundTextField.setText(options.getPropSchematicBackground()); eagleSchematicBackgroundPanel.setBackground(Color.decode(options.getPropSchematicBackground())); eagleBoardBackgroundTextField.setText(options.getPropBoardBackground()); eagleBoardBackgroundPanel.setBackground(Color.decode(options.getPropBoardBackground())); diffImageSchematicDpiSpinner.setModel(new SpinnerNumberModel(options.getPropSchematicDpiAsInt(), 50, 600, 50)); diffImageUnchangedSchematicAlphaSpinner.setModel(new SpinnerNumberModel(options.getPropUnchangedSchematicAlphaAsDouble(), 0, 1, 0.01)); diffImageBoardDpiSpinner.setModel(new SpinnerNumberModel(options.getPropBoardDpiAsInt(), 50, 600, 50)); diffImageUnchangedBoardAlphaSpinner.setModel(new SpinnerNumberModel(options.getPropUnchangedBoardAlphaAsDouble(), 0, 1, 0.01)); diffImageAddedElementTextField.setText(options.getPropAddedElementColor()); diffImageAddedElementPanel.setBackground(Color.decode(options.getPropAddedElementColor())); diffImageRemovedElementTextField.setText(options.getPropRemovedElementColor()); diffImageRemovedElementPanel.setBackground(Color.decode(options.getPropRemovedElementColor())); diffImageUndefinedTextField.setText(options.getPropUndefinedColor()); diffImageUndefinedPanel.setBackground(Color.decode(options.getPropUndefinedColor())); layersTopTextField.setText(options.getPropLayersTop()); layersOtherTextField.setText(options.getPropLayersOther()); layersBottomTextField.setText(options.getPropLayersBottom()); presetRepoTextField.setText(options.getPropPresetRepo()); gitFollowCheckBox.setSelected(options.getPropFollowGitAsBoolean()); } private void close() { jDialog.dispose(); jDialog.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. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { eagleBinaryFileChooser = new javax.swing.JFileChooser(); repositoryFileChooser = new javax.swing.JFileChooser(); eaglePanel = new javax.swing.JPanel(); eagleBinaryLabel = new javax.swing.JLabel(); eagleBinaryTextField = new javax.swing.JTextField(); eagleBinaryButton = new javax.swing.JButton(); eagleSchematicBackgroundLabel = new javax.swing.JLabel(); eagleSchematicBackgroundTextField = new javax.swing.JTextField(); eagleSchematicBackgroundPanel = new javax.swing.JPanel(); eagleSchematicBackgroundButton = new javax.swing.JButton(); eagleBoardBackgroundLabel = new javax.swing.JLabel(); eagleBoardBackgroundTextField = new javax.swing.JTextField(); eagleBoardBackgroundPanel = new javax.swing.JPanel(); eagleBoardBackgroundButton = new javax.swing.JButton(); diffImagePanel = new javax.swing.JPanel(); diffImageSchematicDpiLabel = new javax.swing.JLabel(); diffImageSchematicDpiSpinner = new javax.swing.JSpinner(); diffImageUnchangedSchematicAlphaLabel = new javax.swing.JLabel(); diffImageUnchangedSchematicAlphaSpinner = new javax.swing.JSpinner(); diffImageBoardDpiLabel = new javax.swing.JLabel(); diffImageBoardDpiSpinner = new javax.swing.JSpinner(); diffImageUnchangedBoardAlphaLabel = new javax.swing.JLabel(); diffImageUnchangedBoardAlphaSpinner = new javax.swing.JSpinner(); diffImageAddedElementLabel = new javax.swing.JLabel(); diffImageAddedElementTextField = new javax.swing.JTextField(); diffImageAddedElementPanel = new javax.swing.JPanel(); diffImageAddedElementButton = new javax.swing.JButton(); diffImageRemovedElementLabel = new javax.swing.JLabel(); diffImageRemovedElementTextField = new javax.swing.JTextField(); diffImageRemovedElementPanel = new javax.swing.JPanel(); diffImageRemovedElementButton = new javax.swing.JButton(); diffImageUndefinedLabel = new javax.swing.JLabel(); diffImageUndefinedTextField = new javax.swing.JTextField(); diffImageUndefinedPanel = new javax.swing.JPanel(); diffImageUndefinedButton = new javax.swing.JButton(); layersPanel = new javax.swing.JPanel(); layersTopLabel = new javax.swing.JLabel(); layersTopTextField = new javax.swing.JTextField(); layersOtherLabel = new javax.swing.JLabel(); layersOtherTextField = new javax.swing.JTextField(); layersBottomLabel = new javax.swing.JLabel(); layersBottomTextField = new javax.swing.JTextField(); presetRepoPanel = new javax.swing.JPanel(); presetRepoTextField = new javax.swing.JTextField(); presetRepoButton = new javax.swing.JButton(); gitPanel = new javax.swing.JPanel(); gitFollowCheckBox = new javax.swing.JCheckBox(); saveButton = new javax.swing.JButton(); cancelButton = new javax.swing.JButton(); eagleBinaryFileChooser.setDialogTitle("Select eagle binary ..."); repositoryFileChooser.setFileSelectionMode(javax.swing.JFileChooser.DIRECTORIES_ONLY); eaglePanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Eagle")); eagleBinaryLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); eagleBinaryLabel.setText("Binary"); eagleBinaryTextField.setEditable(false); eagleBinaryButton.setText("Select"); eagleBinaryButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { eagleBinaryButtonActionPerformed(evt); } }); eagleSchematicBackgroundLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); eagleSchematicBackgroundLabel.setText("Schematic background"); eagleSchematicBackgroundTextField.setEditable(false); eagleSchematicBackgroundPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); javax.swing.GroupLayout eagleSchematicBackgroundPanelLayout = new javax.swing.GroupLayout(eagleSchematicBackgroundPanel); eagleSchematicBackgroundPanel.setLayout(eagleSchematicBackgroundPanelLayout); eagleSchematicBackgroundPanelLayout.setHorizontalGroup( eagleSchematicBackgroundPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 18, Short.MAX_VALUE) ); eagleSchematicBackgroundPanelLayout.setVerticalGroup( eagleSchematicBackgroundPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 18, Short.MAX_VALUE) ); eagleSchematicBackgroundButton.setText("Choose"); eagleSchematicBackgroundButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { eagleSchematicBackgroundButtonActionPerformed(evt); } }); eagleBoardBackgroundLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); eagleBoardBackgroundLabel.setText("Board background"); eagleBoardBackgroundTextField.setEditable(false); eagleBoardBackgroundPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); javax.swing.GroupLayout eagleBoardBackgroundPanelLayout = new javax.swing.GroupLayout(eagleBoardBackgroundPanel); eagleBoardBackgroundPanel.setLayout(eagleBoardBackgroundPanelLayout); eagleBoardBackgroundPanelLayout.setHorizontalGroup( eagleBoardBackgroundPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 18, Short.MAX_VALUE) ); eagleBoardBackgroundPanelLayout.setVerticalGroup( eagleBoardBackgroundPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 18, Short.MAX_VALUE) ); eagleBoardBackgroundButton.setText("Choose"); eagleBoardBackgroundButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { eagleBoardBackgroundButtonActionPerformed(evt); } }); javax.swing.GroupLayout eaglePanelLayout = new javax.swing.GroupLayout(eaglePanel); eaglePanel.setLayout(eaglePanelLayout); eaglePanelLayout.setHorizontalGroup( eaglePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, eaglePanelLayout.createSequentialGroup() .addGap(0, 0, 0) .addGroup(eaglePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(eagleBinaryLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 133, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(eaglePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(eagleSchematicBackgroundLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 133, Short.MAX_VALUE) .addComponent(eagleBoardBackgroundLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(eaglePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(eagleBinaryTextField) .addGroup(eaglePanelLayout.createSequentialGroup() .addGroup(eaglePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(eagleSchematicBackgroundTextField) .addComponent(eagleBoardBackgroundTextField)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(eaglePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(eagleBoardBackgroundPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(eagleSchematicBackgroundPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(eaglePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(eagleBoardBackgroundButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(eagleSchematicBackgroundButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(eagleBinaryButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE))) ); eaglePanelLayout.setVerticalGroup( eaglePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(eaglePanelLayout.createSequentialGroup() .addGroup(eaglePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(eagleBinaryButton) .addComponent(eagleBinaryTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(eagleBinaryLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(eaglePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(eagleSchematicBackgroundButton) .addComponent(eagleSchematicBackgroundPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(eaglePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(eagleSchematicBackgroundTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(eagleSchematicBackgroundLabel))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(eaglePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(eagleBoardBackgroundButton) .addComponent(eagleBoardBackgroundPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(eaglePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(eagleBoardBackgroundTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(eagleBoardBackgroundLabel)))) ); diffImagePanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Diff image")); diffImageSchematicDpiLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); diffImageSchematicDpiLabel.setText("Schematic DPI"); diffImageUnchangedSchematicAlphaLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); diffImageUnchangedSchematicAlphaLabel.setText("Unchanged schematic alpha"); diffImageBoardDpiLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); diffImageBoardDpiLabel.setText("Board DPI"); diffImageUnchangedBoardAlphaLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); diffImageUnchangedBoardAlphaLabel.setText("Unchanged board alpha"); diffImageAddedElementLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); diffImageAddedElementLabel.setText("Added elements"); diffImageAddedElementTextField.setEditable(false); diffImageAddedElementPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); javax.swing.GroupLayout diffImageAddedElementPanelLayout = new javax.swing.GroupLayout(diffImageAddedElementPanel); diffImageAddedElementPanel.setLayout(diffImageAddedElementPanelLayout); diffImageAddedElementPanelLayout.setHorizontalGroup( diffImageAddedElementPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 18, Short.MAX_VALUE) ); diffImageAddedElementPanelLayout.setVerticalGroup( diffImageAddedElementPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 18, Short.MAX_VALUE) ); diffImageAddedElementButton.setText("Choose"); diffImageAddedElementButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { diffImageAddedElementButtonActionPerformed(evt); } }); diffImageRemovedElementLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); diffImageRemovedElementLabel.setText("Removed elements"); diffImageRemovedElementTextField.setEditable(false); diffImageRemovedElementPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); javax.swing.GroupLayout diffImageRemovedElementPanelLayout = new javax.swing.GroupLayout(diffImageRemovedElementPanel); diffImageRemovedElementPanel.setLayout(diffImageRemovedElementPanelLayout); diffImageRemovedElementPanelLayout.setHorizontalGroup( diffImageRemovedElementPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 18, Short.MAX_VALUE) ); diffImageRemovedElementPanelLayout.setVerticalGroup( diffImageRemovedElementPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 18, Short.MAX_VALUE) ); diffImageRemovedElementButton.setText("Choose"); diffImageRemovedElementButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { diffImageRemovedElementButtonActionPerformed(evt); } }); diffImageUndefinedLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); diffImageUndefinedLabel.setText("Undefined"); diffImageUndefinedTextField.setEditable(false); diffImageUndefinedPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); javax.swing.GroupLayout diffImageUndefinedPanelLayout = new javax.swing.GroupLayout(diffImageUndefinedPanel); diffImageUndefinedPanel.setLayout(diffImageUndefinedPanelLayout); diffImageUndefinedPanelLayout.setHorizontalGroup( diffImageUndefinedPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 18, Short.MAX_VALUE) ); diffImageUndefinedPanelLayout.setVerticalGroup( diffImageUndefinedPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 18, Short.MAX_VALUE) ); diffImageUndefinedButton.setText("Choose"); diffImageUndefinedButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { diffImageUndefinedButtonActionPerformed(evt); } }); javax.swing.GroupLayout diffImagePanelLayout = new javax.swing.GroupLayout(diffImagePanel); diffImagePanel.setLayout(diffImagePanelLayout); diffImagePanelLayout.setHorizontalGroup( diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(diffImagePanelLayout.createSequentialGroup() .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(diffImageRemovedElementLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(diffImageAddedElementLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(diffImageUnchangedBoardAlphaLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 133, Short.MAX_VALUE) .addComponent(diffImageBoardDpiLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(diffImageUndefinedLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(4, 4, 4) .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(diffImagePanelLayout.createSequentialGroup() .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(diffImageRemovedElementTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 339, Short.MAX_VALUE) .addComponent(diffImageUndefinedTextField, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(diffImageAddedElementTextField, javax.swing.GroupLayout.Alignment.TRAILING)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(diffImageRemovedElementPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(diffImageAddedElementPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(diffImageUndefinedPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(diffImageAddedElementButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE) .addComponent(diffImageRemovedElementButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(diffImageUndefinedButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) .addComponent(diffImageUnchangedBoardAlphaSpinner) .addComponent(diffImageBoardDpiSpinner, javax.swing.GroupLayout.Alignment.LEADING))) .addGroup(diffImagePanelLayout.createSequentialGroup() .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(diffImageUnchangedSchematicAlphaLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(diffImageSchematicDpiLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(diffImageSchematicDpiSpinner) .addComponent(diffImageUnchangedSchematicAlphaSpinner))) ); diffImagePanelLayout.setVerticalGroup( diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(diffImagePanelLayout.createSequentialGroup() .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(diffImageSchematicDpiSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(diffImageSchematicDpiLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(diffImageUnchangedSchematicAlphaSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(diffImageUnchangedSchematicAlphaLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(diffImageBoardDpiSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(diffImageBoardDpiLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(diffImageUnchangedBoardAlphaSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(diffImageUnchangedBoardAlphaLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(diffImageAddedElementTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(diffImageAddedElementLabel)) .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(diffImageAddedElementButton, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(diffImageAddedElementPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(diffImageRemovedElementPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(diffImageRemovedElementButton) .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(diffImageRemovedElementLabel) .addComponent(diffImageRemovedElementTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(diffImageUndefinedPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(diffImagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(diffImageUndefinedLabel) .addComponent(diffImageUndefinedTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(diffImageUndefinedButton))) ); layersPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Layers")); layersTopLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); layersTopLabel.setText("Top"); layersTopTextField.setText("17 18 19 20 21 23 25 51"); layersOtherLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); layersOtherLabel.setText("Other"); layersOtherTextField.setText("17 18 19 20"); layersBottomLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); layersBottomLabel.setText("Bottom"); layersBottomTextField.setText("17 18 19 20 22 24 26 52"); javax.swing.GroupLayout layersPanelLayout = new javax.swing.GroupLayout(layersPanel); layersPanel.setLayout(layersPanelLayout); layersPanelLayout.setHorizontalGroup( layersPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layersPanelLayout.createSequentialGroup() .addGroup(layersPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(layersTopLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 133, Short.MAX_VALUE) .addComponent(layersBottomLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(layersOtherLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layersPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(layersBottomTextField) .addComponent(layersOtherTextField) .addComponent(layersTopTextField))) ); layersPanelLayout.setVerticalGroup( layersPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layersPanelLayout.createSequentialGroup() .addGroup(layersPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(layersTopTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(layersTopLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layersPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(layersOtherLabel) .addComponent(layersOtherTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layersPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(layersBottomLabel) .addComponent(layersBottomTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) ); presetRepoPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Preset repository")); presetRepoTextField.setEditable(false); presetRepoButton.setText("Select"); presetRepoButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { presetRepoButtonActionPerformed(evt); } }); javax.swing.GroupLayout presetRepoPanelLayout = new javax.swing.GroupLayout(presetRepoPanel); presetRepoPanel.setLayout(presetRepoPanelLayout); presetRepoPanelLayout.setHorizontalGroup( presetRepoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, presetRepoPanelLayout.createSequentialGroup() .addComponent(presetRepoTextField) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(presetRepoButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) ); presetRepoPanelLayout.setVerticalGroup( presetRepoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(presetRepoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(presetRepoButton) .addComponent(presetRepoTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) ); gitPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Git")); gitFollowCheckBox.setText("Continue listing the history of a file beyond renames."); javax.swing.GroupLayout gitPanelLayout = new javax.swing.GroupLayout(gitPanel); gitPanel.setLayout(gitPanelLayout); gitPanelLayout.setHorizontalGroup( gitPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(gitFollowCheckBox, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); gitPanelLayout.setVerticalGroup( gitPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(gitFollowCheckBox) ); saveButton.setText("Save"); saveButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { saveButtonActionPerformed(evt); } }); cancelButton.setText("Cancel"); cancelButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cancelButtonActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(layersPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(eaglePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(diffImagePanel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(layout.createSequentialGroup() .addGap(0, 0, Short.MAX_VALUE) .addComponent(saveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(cancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(gitPanel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(presetRepoPanel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(eaglePanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(diffImagePanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(layersPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(presetRepoPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(gitPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(cancelButton) .addComponent(saveButton)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); }// </editor-fold>//GEN-END:initComponents private void eagleBinaryButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_eagleBinaryButtonActionPerformed int returnVal = eagleBinaryFileChooser.showOpenDialog(this); if (returnVal == JFileChooser.APPROVE_OPTION) { File eagleBinary = eagleBinaryFileChooser.getSelectedFile(); if (eagleBinary.exists()) { eagleBinaryTextField.setText(eagleBinaryFileChooser.getSelectedFile().toString()); } else { JOptionPane.showMessageDialog(this, "Please select a valid eagle binary!", "Eagle binary doesn't exist!", JOptionPane.ERROR_MESSAGE); } } }//GEN-LAST:event_eagleBinaryButtonActionPerformed private void diffImageAddedElementButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_diffImageAddedElementButtonActionPerformed Color color = JColorChooser.showDialog(this, "Choose color for added elements ...", Color.decode(diffImageAddedElementTextField.getText())); if (color != null) { diffImageAddedElementTextField.setText("#" + Integer.toHexString(color.getRGB()).substring(2, 8)); diffImageAddedElementPanel.setBackground(color); } }//GEN-LAST:event_diffImageAddedElementButtonActionPerformed private void diffImageUndefinedButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_diffImageUndefinedButtonActionPerformed Color color = JColorChooser.showDialog( this, "Choose color for undedined ...", Color.decode(diffImageUndefinedTextField.getText())); if (color != null) { diffImageUndefinedTextField.setText("#" + Integer.toHexString(color.getRGB()).substring(2, 8)); diffImageUndefinedPanel.setBackground(color); } }//GEN-LAST:event_diffImageUndefinedButtonActionPerformed private void diffImageRemovedElementButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_diffImageRemovedElementButtonActionPerformed Color color = JColorChooser.showDialog( this, "Choose color for removed elements ...", Color.decode(diffImageRemovedElementTextField.getText())); if (color != null) { diffImageRemovedElementTextField.setText("#" + Integer.toHexString(color.getRGB()).substring(2, 8)); diffImageRemovedElementPanel.setBackground(color); } }//GEN-LAST:event_diffImageRemovedElementButtonActionPerformed private void saveButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_saveButtonActionPerformed options.save( eagleBinaryTextField.getText(), eagleSchematicBackgroundTextField.getText(), eagleBoardBackgroundTextField.getText(), diffImageSchematicDpiSpinner.getValue().toString(), diffImageUnchangedSchematicAlphaSpinner.getValue().toString(), diffImageBoardDpiSpinner.getValue().toString(), diffImageUnchangedBoardAlphaSpinner.getValue().toString(), diffImageAddedElementTextField.getText(), diffImageRemovedElementTextField.getText(), diffImageUndefinedTextField.getText(), layersTopTextField.getText(), layersOtherTextField.getText(), layersBottomTextField.getText(), presetRepoTextField.getText(), gitFollowCheckBox.isSelected()); close(); }//GEN-LAST:event_saveButtonActionPerformed private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed close(); }//GEN-LAST:event_cancelButtonActionPerformed private void eagleSchematicBackgroundButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_eagleSchematicBackgroundButtonActionPerformed Color color = JColorChooser.showDialog(this, "Choose color for schematic background ...", Color.decode(eagleSchematicBackgroundTextField.getText())); if (color != null) { eagleSchematicBackgroundTextField.setText("#" + Integer.toHexString(color.getRGB()).substring(2, 8)); eagleSchematicBackgroundPanel.setBackground(color); } }//GEN-LAST:event_eagleSchematicBackgroundButtonActionPerformed private void eagleBoardBackgroundButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_eagleBoardBackgroundButtonActionPerformed Color color = JColorChooser.showDialog(this, "Choose color for board background ...", Color.decode(eagleBoardBackgroundTextField.getText())); if (color != null) { eagleBoardBackgroundTextField.setText("#" + Integer.toHexString(color.getRGB()).substring(2, 8)); eagleBoardBackgroundPanel.setBackground(color); } }//GEN-LAST:event_eagleBoardBackgroundButtonActionPerformed private void presetRepoButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_presetRepoButtonActionPerformed int returnVal = repositoryFileChooser.showOpenDialog(this); if (returnVal == JFileChooser.APPROVE_OPTION) { try { Path repoDirectory = repositoryFileChooser.getSelectedFile().toPath().resolve(".git"); if (Files.exists(repoDirectory)) { JGit jGit = new JGit(repoDirectory); } else { throw new IOException(); } } catch (IOException | GitAPIException ex) { JOptionPane.showMessageDialog(this, "Please select a valid git repository!", "Not a valid git repository!", JOptionPane.ERROR_MESSAGE); return; } presetRepoTextField.setText(repositoryFileChooser.getSelectedFile().toString()); } }//GEN-LAST:event_presetRepoButtonActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton cancelButton; private javax.swing.JButton diffImageAddedElementButton; private javax.swing.JLabel diffImageAddedElementLabel; private javax.swing.JPanel diffImageAddedElementPanel; private javax.swing.JTextField diffImageAddedElementTextField; private javax.swing.JLabel diffImageBoardDpiLabel; private javax.swing.JSpinner diffImageBoardDpiSpinner; private javax.swing.JPanel diffImagePanel; private javax.swing.JButton diffImageRemovedElementButton; private javax.swing.JLabel diffImageRemovedElementLabel; private javax.swing.JPanel diffImageRemovedElementPanel; private javax.swing.JTextField diffImageRemovedElementTextField; private javax.swing.JLabel diffImageSchematicDpiLabel; private javax.swing.JSpinner diffImageSchematicDpiSpinner; private javax.swing.JLabel diffImageUnchangedBoardAlphaLabel; private javax.swing.JSpinner diffImageUnchangedBoardAlphaSpinner; private javax.swing.JLabel diffImageUnchangedSchematicAlphaLabel; private javax.swing.JSpinner diffImageUnchangedSchematicAlphaSpinner; private javax.swing.JButton diffImageUndefinedButton; private javax.swing.JLabel diffImageUndefinedLabel; private javax.swing.JPanel diffImageUndefinedPanel; private javax.swing.JTextField diffImageUndefinedTextField; private javax.swing.JButton eagleBinaryButton; private javax.swing.JFileChooser eagleBinaryFileChooser; private javax.swing.JLabel eagleBinaryLabel; private javax.swing.JTextField eagleBinaryTextField; private javax.swing.JButton eagleBoardBackgroundButton; private javax.swing.JLabel eagleBoardBackgroundLabel; private javax.swing.JPanel eagleBoardBackgroundPanel; private javax.swing.JTextField eagleBoardBackgroundTextField; private javax.swing.JPanel eaglePanel; private javax.swing.JButton eagleSchematicBackgroundButton; private javax.swing.JLabel eagleSchematicBackgroundLabel; private javax.swing.JPanel eagleSchematicBackgroundPanel; private javax.swing.JTextField eagleSchematicBackgroundTextField; private javax.swing.JCheckBox gitFollowCheckBox; private javax.swing.JPanel gitPanel; private javax.swing.JLabel layersBottomLabel; private javax.swing.JTextField layersBottomTextField; private javax.swing.JLabel layersOtherLabel; private javax.swing.JTextField layersOtherTextField; private javax.swing.JPanel layersPanel; private javax.swing.JLabel layersTopLabel; private javax.swing.JTextField layersTopTextField; private javax.swing.JButton presetRepoButton; private javax.swing.JPanel presetRepoPanel; private javax.swing.JTextField presetRepoTextField; private javax.swing.JFileChooser repositoryFileChooser; private javax.swing.JButton saveButton; // End of variables declaration//GEN-END:variables }