001package jmri.jmrit.ctc.editor.gui;
002
003import jmri.jmrit.ctc.editor.code.AwtWindowProperties;
004import jmri.jmrit.ctc.editor.code.CommonSubs;
005import jmri.jmrit.ctc.ctcserialdata.OtherData;
006import jmri.jmrit.ctc.ctcserialdata.ProjectsCommonSubs;
007
008/**
009 *
010 * @author Gregory J. Bedlek Copyright (C) 2018, 2019
011 */
012public class FrmGUIDesign extends javax.swing.JFrame {
013
014    /*
015     * Creates new form dlgProperties
016     */
017    private static final String FORM_PROPERTIES = "DlgGUIDesign";   // NOI18N
018    private final AwtWindowProperties _mAwtWindowProperties;
019    private final OtherData _mOtherData;
020    private boolean _mClosedNormally = false;
021    public boolean closedNormally() { return _mClosedNormally; }
022
023    private int _mGUIDesign_NumberOfEmptyColumnsAtEndOrig;
024    private OtherData.CTC_PANEL_TYPE   _mGUIDesign_CTCPanelTypeOrig;
025    private boolean  _mGUIDesign_BuilderPlateOrig;
026    private OtherData.SIGNALS_ON_PANEL _mGUIDesign_SignalsOnPanelOrig;
027    private boolean  _mGUIDesign_FleetingToggleSwitchOrig;
028    private boolean  _mGUIDesign_AnalogClockEtcOrig;
029    private boolean  _mGUIDesign_ReloadCTCSystemButtonOrig;
030    private boolean  _mGUIDesign_CTCDebugOnToggleOrig;
031    private boolean  _mGUIDesign_CreateTrackPiecesOrig;
032    private OtherData.VERTICAL_SIZE _mGUIDesign_VerticalSizeOrig;
033    private boolean  _mGUIDesign_OSSectionUnknownInconsistentRedBlinkOrig;
034    private boolean  _mGUIDesign_TurnoutsOnPanelOrig;
035
036    private void initOrig(OtherData otherData) {
037        _mGUIDesign_NumberOfEmptyColumnsAtEndOrig = otherData._mGUIDesign_NumberOfEmptyColumnsAtEnd;
038        _mGUIDesign_CTCPanelTypeOrig = otherData._mGUIDesign_CTCPanelType;
039        _mGUIDesign_BuilderPlateOrig = otherData._mGUIDesign_BuilderPlate;
040        _mGUIDesign_SignalsOnPanelOrig = otherData._mGUIDesign_SignalsOnPanel;
041        _mGUIDesign_FleetingToggleSwitchOrig = otherData._mGUIDesign_FleetingToggleSwitch;
042        _mGUIDesign_AnalogClockEtcOrig = otherData._mGUIDesign_AnalogClockEtc;
043        _mGUIDesign_ReloadCTCSystemButtonOrig = otherData._mGUIDesign_ReloadCTCSystemButton;
044        _mGUIDesign_CTCDebugOnToggleOrig = otherData._mGUIDesign_CTCDebugOnToggle;
045        _mGUIDesign_CreateTrackPiecesOrig = otherData._mGUIDesign_CreateTrackPieces;
046        _mGUIDesign_VerticalSizeOrig = otherData._mGUIDesign_VerticalSize;
047        _mGUIDesign_OSSectionUnknownInconsistentRedBlinkOrig = otherData._mGUIDesign_OSSectionUnknownInconsistentRedBlink;
048        _mGUIDesign_TurnoutsOnPanelOrig = otherData._mGUIDesign_TurnoutsOnPanel;
049    }
050
051    private boolean dataChanged() {
052        if (CommonSubs.getIntFromJTextFieldNoThrow(_mGUIDesign_NumberOfEmptyColumnsAtEnd) != _mGUIDesign_NumberOfEmptyColumnsAtEndOrig) return true;
053        if (_mGUIDesign_CTCPanelTypeOrig != OtherData.CTC_PANEL_TYPE.getRadioGroupValue(ProjectsCommonSubs.getButtonSelectedInt(_mGUIDesign_CTCPanelType))) return true;
054        if (_mGUIDesign_BuilderPlateOrig != _mGUIDesign_BuilderPlate.isSelected()) return true;
055        if (_mGUIDesign_SignalsOnPanelOrig != OtherData.SIGNALS_ON_PANEL.getRadioGroupValue(ProjectsCommonSubs.getButtonSelectedInt(_mGUIDesign_SignalsOnPanel))) return true;
056        if (_mGUIDesign_FleetingToggleSwitchOrig != _mGUIDesign_FleetingToggleSwitch.isSelected()) return true;
057        if (_mGUIDesign_AnalogClockEtcOrig != _mGUIDesign_AnalogClockEtc.isSelected()) return true;
058        if (_mGUIDesign_ReloadCTCSystemButtonOrig != _mGUIDesign_ReloadCTCSystemButton.isSelected()) return true;
059        if (_mGUIDesign_CTCDebugOnToggleOrig != _mGUIDesign_CTCDebugOnToggle.isSelected()) return true;
060        if (_mGUIDesign_CreateTrackPiecesOrig != _mGUIDesign_CreateTrackPieces.isSelected()) return true;
061        if (_mGUIDesign_VerticalSizeOrig != OtherData.VERTICAL_SIZE.getRadioGroupValue(ProjectsCommonSubs.getButtonSelectedInt(_mGUIDesign_VerticalSize))) return true;
062        if (_mGUIDesign_OSSectionUnknownInconsistentRedBlinkOrig != _mGUIDesign_OSSectionUnknownInconsistentRedBlink.isSelected()) return true;
063        if (_mGUIDesign_TurnoutsOnPanelOrig != _mGUIDesign_TurnoutsOnPanel.isSelected()) return true;
064        return false;
065    }
066
067    public FrmGUIDesign(AwtWindowProperties awtWindowProperties, OtherData otherData) {
068        super();
069        initComponents();
070        CommonSubs.addHelpMenu(this, "package.jmri.jmrit.ctc.CTC_menuCfgGui", true);  // NOI18N
071        _mAwtWindowProperties = awtWindowProperties;
072        _mOtherData = otherData;
073
074        _mGUIDesign_NumberOfEmptyColumnsAtEnd.setText(Integer.toString(_mOtherData._mGUIDesign_NumberOfEmptyColumnsAtEnd));
075        CommonSubs.numberButtonGroup(_mGUIDesign_CTCPanelType);
076        CommonSubs.setButtonSelected(_mGUIDesign_CTCPanelType, _mOtherData._mGUIDesign_CTCPanelType.getRadioGroupValue());
077        _mGUIDesign_BuilderPlate.setSelected(otherData._mGUIDesign_BuilderPlate);
078        CommonSubs.numberButtonGroup(_mGUIDesign_SignalsOnPanel);
079        CommonSubs.setButtonSelected(_mGUIDesign_SignalsOnPanel, _mOtherData._mGUIDesign_SignalsOnPanel.getRadioGroupValue());
080        _mGUIDesign_FleetingToggleSwitch.setSelected(otherData._mGUIDesign_FleetingToggleSwitch);
081        _mGUIDesign_AnalogClockEtc.setSelected(otherData._mGUIDesign_AnalogClockEtc);
082        _mGUIDesign_ReloadCTCSystemButton.setSelected(otherData._mGUIDesign_ReloadCTCSystemButton);
083        _mGUIDesign_CTCDebugOnToggle.setSelected(otherData._mGUIDesign_CTCDebugOnToggle);
084        _mGUIDesign_CreateTrackPieces.setSelected(otherData._mGUIDesign_CreateTrackPieces);
085        CommonSubs.numberButtonGroup(_mGUIDesign_VerticalSize);
086        CommonSubs.setButtonSelected(_mGUIDesign_VerticalSize, _mOtherData._mGUIDesign_VerticalSize.getRadioGroupValue());
087        _mGUIDesign_OSSectionUnknownInconsistentRedBlink.setSelected(otherData._mGUIDesign_OSSectionUnknownInconsistentRedBlink);
088        _mGUIDesign_TurnoutsOnPanel.setSelected(otherData._mGUIDesign_TurnoutsOnPanel);
089        initOrig(otherData);
090        _mAwtWindowProperties.setWindowState(this, FORM_PROPERTIES);
091        this.getRootPane().setDefaultButton(_mSaveAndClose);
092    }
093
094    /**
095     * This method is called from within the constructor to initialize the form.
096     * WARNING: Do NOT modify this code. The content of this method is always
097     * regenerated by the Form Editor.
098     */
099    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
100    private void initComponents() {
101
102        _mGUIDesign_CTCPanelType = new javax.swing.ButtonGroup();
103        _mGUIDesign_SignalsOnPanel = new javax.swing.ButtonGroup();
104        _mGUIDesign_VerticalSize = new javax.swing.ButtonGroup();
105        _mGUIDesign_NumberOfEmptyColumnsAtEnd = new javax.swing.JFormattedTextField();
106        jLabel19 = new javax.swing.JLabel();
107        _mSaveAndClose = new javax.swing.JButton();
108        _mAllSignals = new javax.swing.JRadioButton();
109        _mGreenOffOnly = new javax.swing.JRadioButton();
110        jLabel1 = new javax.swing.JLabel();
111        _mNone = new javax.swing.JRadioButton();
112        jRadioButton1 = new javax.swing.JRadioButton();
113        jRadioButton2 = new javax.swing.JRadioButton();
114        jLabel2 = new javax.swing.JLabel();
115        jLabel3 = new javax.swing.JLabel();
116        _mGUIDesign_BuilderPlate = new javax.swing.JCheckBox();
117        _mGUIDesign_ReloadCTCSystemButton = new javax.swing.JCheckBox();
118        _mGUIDesign_CTCDebugOnToggle = new javax.swing.JCheckBox();
119        _mGUIDesign_FleetingToggleSwitch = new javax.swing.JCheckBox();
120        _mGUIDesign_AnalogClockEtc = new javax.swing.JCheckBox();
121        _mGUIDesign_CreateTrackPieces = new javax.swing.JCheckBox();
122        jRadioButton3 = new javax.swing.JRadioButton();
123        jRadioButton4 = new javax.swing.JRadioButton();
124        jRadioButton5 = new javax.swing.JRadioButton();
125        jLabel4 = new javax.swing.JLabel();
126        _mGUIDesign_OSSectionUnknownInconsistentRedBlink = new javax.swing.JCheckBox();
127        jLabel5 = new javax.swing.JLabel();
128        jLabel6 = new javax.swing.JLabel();
129        _mGUIDesign_TurnoutsOnPanel = new javax.swing.JCheckBox();
130
131        setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
132        setTitle(Bundle.getMessage("TitleDlgGUI"));
133        addWindowListener(new java.awt.event.WindowAdapter() {
134            @Override
135            public void windowClosing(java.awt.event.WindowEvent evt) {
136                formWindowClosing(evt);
137            }
138        });
139
140        _mGUIDesign_NumberOfEmptyColumnsAtEnd.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#0"))));
141
142        jLabel19.setText(Bundle.getMessage("LabelDlgGUIBlanks"));
143
144        _mSaveAndClose.setText(Bundle.getMessage("ButtonSaveClose"));
145        _mSaveAndClose.addActionListener(new java.awt.event.ActionListener() {
146            @Override
147            public void actionPerformed(java.awt.event.ActionEvent evt) {
148                _mSaveAndCloseActionPerformed(evt);
149            }
150        });
151
152        _mGUIDesign_SignalsOnPanel.add(_mAllSignals);
153        _mAllSignals.setText(Bundle.getMessage("LableDlgGUIAllOS"));
154
155        _mGUIDesign_SignalsOnPanel.add(_mGreenOffOnly);
156        _mGreenOffOnly.setText(Bundle.getMessage("LableDlgGUIGreen"));
157        _mGreenOffOnly.setEnabled(false);
158
159        jLabel1.setText(Bundle.getMessage("InfoDlgGUIPrototype"));
160
161        _mGUIDesign_SignalsOnPanel.add(_mNone);
162        _mNone.setText(Bundle.getMessage("LableDlgGUINone"));
163
164        _mGUIDesign_CTCPanelType.add(jRadioButton1);
165        jRadioButton1.setText(Bundle.getMessage("LabelDlgUSS"));
166
167        _mGUIDesign_CTCPanelType.add(jRadioButton2);
168        jRadioButton2.setText(Bundle.getMessage("LableDlgGUIOther"));
169        jRadioButton2.setEnabled(false);
170
171        jLabel2.setText(Bundle.getMessage("InfoDlgGUITYpe"));
172
173        jLabel3.setText(Bundle.getMessage("InfoDlgGUISignals"));
174
175        _mGUIDesign_BuilderPlate.setText(Bundle.getMessage("LableDlgGUIBuilder"));
176
177        _mGUIDesign_ReloadCTCSystemButton.setText(Bundle.getMessage("LableDlgGUIReload"));
178
179        _mGUIDesign_CTCDebugOnToggle.setText(Bundle.getMessage("LableDlgGUIDebug"));
180
181        _mGUIDesign_FleetingToggleSwitch.setText(Bundle.getMessage("LableDlgGUIFleeting"));
182
183        _mGUIDesign_AnalogClockEtc.setText(Bundle.getMessage("LableDlgGUIClock"));
184
185        _mGUIDesign_CreateTrackPieces.setText(Bundle.getMessage("LableDlgGUITrack")
186        );
187        _mGUIDesign_CreateTrackPieces.setEnabled(false);
188
189        _mGUIDesign_VerticalSize.add(jRadioButton3);
190        jRadioButton3.setText(Bundle.getMessage("LableDlgGUI718"));
191
192        _mGUIDesign_VerticalSize.add(jRadioButton4);
193        jRadioButton4.setText(Bundle.getMessage("LableDlgGUI850"));
194
195        _mGUIDesign_VerticalSize.add(jRadioButton5);
196        jRadioButton5.setText(Bundle.getMessage("LableDlgGUI900"));
197
198        jLabel4.setText(Bundle.getMessage("InfoDlgGUISize"));
199
200        _mGUIDesign_OSSectionUnknownInconsistentRedBlink.setText(Bundle.getMessage("LableDlgGUIBlinkRed"));
201
202        jLabel5.setText(Bundle.getMessage("InfoDlgGUIWhen"));
203
204        jLabel6.setText(Bundle.getMessage("InfoDlgGUITurnouts"));
205
206        _mGUIDesign_TurnoutsOnPanel.setText(Bundle.getMessage("LableDlgGUIGenerate"));
207
208        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
209        getContentPane().setLayout(layout);
210        layout.setHorizontalGroup(
211            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
212            .addGroup(layout.createSequentialGroup()
213                .addGap(138, 138, 138)
214                .addComponent(_mSaveAndClose)
215                .addGap(0, 0, Short.MAX_VALUE))
216            .addGroup(layout.createSequentialGroup()
217                .addGap(20, 20, 20)
218                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
219                    .addGroup(layout.createSequentialGroup()
220                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
221                            .addComponent(_mGUIDesign_FleetingToggleSwitch)
222                            .addComponent(_mGUIDesign_AnalogClockEtc)
223                            .addGroup(layout.createSequentialGroup()
224                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
225                                    .addGroup(layout.createSequentialGroup()
226                                        .addComponent(jLabel2)
227                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
228                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
229                                            .addComponent(jRadioButton2)
230                                            .addGroup(layout.createSequentialGroup()
231                                                .addComponent(jRadioButton1)
232                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
233                                                .addComponent(jLabel4))))
234                                    .addComponent(jLabel19))
235                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
236                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
237                                    .addComponent(_mGUIDesign_NumberOfEmptyColumnsAtEnd, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
238                                    .addComponent(jRadioButton3)
239                                    .addComponent(jRadioButton4)
240                                    .addComponent(jRadioButton5)
241                                    .addComponent(_mGUIDesign_BuilderPlate)))
242                            .addGroup(layout.createSequentialGroup()
243                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
244                                    .addComponent(_mGUIDesign_ReloadCTCSystemButton)
245                                    .addComponent(_mGUIDesign_CreateTrackPieces))
246                                .addGap(18, 18, 18)
247                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
248                                    .addComponent(_mGUIDesign_CTCDebugOnToggle)
249                                    .addComponent(_mGUIDesign_OSSectionUnknownInconsistentRedBlink)
250                                    .addGroup(layout.createSequentialGroup()
251                                        .addGap(21, 21, 21)
252                                        .addComponent(jLabel5)))))
253                        .addGap(0, 99, Short.MAX_VALUE))
254                    .addGroup(layout.createSequentialGroup()
255                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
256                            .addGroup(layout.createSequentialGroup()
257                                .addGap(10, 10, 10)
258                                .addComponent(jLabel3))
259                            .addComponent(jLabel6, javax.swing.GroupLayout.Alignment.TRAILING))
260                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
261                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
262                            .addComponent(_mGreenOffOnly)
263                            .addComponent(_mNone)
264                            .addComponent(_mAllSignals)
265                            .addComponent(jLabel1)
266                            .addComponent(_mGUIDesign_TurnoutsOnPanel))
267                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
268        );
269        layout.setVerticalGroup(
270            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
271            .addGroup(layout.createSequentialGroup()
272                .addContainerGap()
273                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
274                    .addComponent(_mGUIDesign_NumberOfEmptyColumnsAtEnd, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
275                    .addComponent(jLabel19))
276                .addGap(18, 18, 18)
277                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
278                    .addComponent(jRadioButton1)
279                    .addComponent(jLabel2)
280                    .addComponent(jRadioButton3)
281                    .addComponent(jLabel4))
282                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
283                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
284                    .addComponent(jRadioButton2)
285                    .addComponent(jRadioButton4))
286                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
287                .addComponent(jRadioButton5)
288                .addGap(20, 20, 20)
289                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
290                    .addComponent(_mAllSignals)
291                    .addComponent(jLabel3)
292                    .addComponent(_mGUIDesign_BuilderPlate))
293                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
294                .addComponent(jLabel1)
295                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
296                .addComponent(_mGreenOffOnly)
297                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
298                .addComponent(_mNone)
299                .addGap(18, 18, 18)
300                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
301                    .addComponent(_mGUIDesign_TurnoutsOnPanel)
302                    .addComponent(jLabel6))
303                .addGap(34, 34, 34)
304                .addComponent(_mGUIDesign_FleetingToggleSwitch)
305                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
306                .addComponent(_mGUIDesign_AnalogClockEtc)
307                .addGap(18, 18, 18)
308                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
309                    .addComponent(_mGUIDesign_ReloadCTCSystemButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
310                    .addComponent(_mGUIDesign_CTCDebugOnToggle))
311                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
312                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
313                    .addComponent(_mGUIDesign_CreateTrackPieces)
314                    .addComponent(_mGUIDesign_OSSectionUnknownInconsistentRedBlink))
315                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
316                .addComponent(jLabel5)
317                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 14, Short.MAX_VALUE)
318                .addComponent(_mSaveAndClose)
319                .addGap(19, 19, 19))
320        );
321
322        pack();
323    }// </editor-fold>//GEN-END:initComponents
324
325    private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing
326        _mAwtWindowProperties.saveWindowState(this, FORM_PROPERTIES);
327        if (CommonSubs.allowClose(this, dataChanged())) dispose();
328    }//GEN-LAST:event_formWindowClosing
329
330    private void _mSaveAndCloseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event__mSaveAndCloseActionPerformed
331        _mOtherData._mGUIDesign_NumberOfEmptyColumnsAtEnd = Integer.parseInt(_mGUIDesign_NumberOfEmptyColumnsAtEnd.getText());
332        _mOtherData._mGUIDesign_CTCPanelType = OtherData.CTC_PANEL_TYPE.getRadioGroupValue(ProjectsCommonSubs.getButtonSelectedInt(_mGUIDesign_CTCPanelType));
333        _mOtherData._mGUIDesign_BuilderPlate = _mGUIDesign_BuilderPlate.isSelected();
334        _mOtherData._mGUIDesign_SignalsOnPanel = OtherData.SIGNALS_ON_PANEL.getRadioGroupValue(ProjectsCommonSubs.getButtonSelectedInt(_mGUIDesign_SignalsOnPanel));
335        _mOtherData._mGUIDesign_FleetingToggleSwitch = _mGUIDesign_FleetingToggleSwitch.isSelected();
336        _mOtherData._mGUIDesign_AnalogClockEtc = _mGUIDesign_AnalogClockEtc.isSelected();
337        _mOtherData._mGUIDesign_ReloadCTCSystemButton = _mGUIDesign_ReloadCTCSystemButton.isSelected();
338        _mOtherData._mGUIDesign_CTCDebugOnToggle = _mGUIDesign_CTCDebugOnToggle.isSelected();
339        _mOtherData._mGUIDesign_CreateTrackPieces = _mGUIDesign_CreateTrackPieces.isSelected();
340        _mOtherData._mGUIDesign_VerticalSize = OtherData.VERTICAL_SIZE.getRadioGroupValue(ProjectsCommonSubs.getButtonSelectedInt(_mGUIDesign_VerticalSize));
341        _mOtherData._mGUIDesign_OSSectionUnknownInconsistentRedBlink = _mGUIDesign_OSSectionUnknownInconsistentRedBlink.isSelected();
342        _mOtherData._mGUIDesign_TurnoutsOnPanel = _mGUIDesign_TurnoutsOnPanel.isSelected();
343        _mClosedNormally = true;
344        _mAwtWindowProperties.saveWindowState(this, FORM_PROPERTIES);
345        dispose();
346    }//GEN-LAST:event__mSaveAndCloseActionPerformed
347
348    // Variables declaration - do not modify//GEN-BEGIN:variables
349    private javax.swing.JRadioButton _mAllSignals;
350    private javax.swing.JCheckBox _mGUIDesign_AnalogClockEtc;
351    private javax.swing.JCheckBox _mGUIDesign_BuilderPlate;
352    private javax.swing.JCheckBox _mGUIDesign_CTCDebugOnToggle;
353    private javax.swing.ButtonGroup _mGUIDesign_CTCPanelType;
354    private javax.swing.JCheckBox _mGUIDesign_CreateTrackPieces;
355    private javax.swing.JCheckBox _mGUIDesign_FleetingToggleSwitch;
356    private javax.swing.JFormattedTextField _mGUIDesign_NumberOfEmptyColumnsAtEnd;
357    private javax.swing.JCheckBox _mGUIDesign_OSSectionUnknownInconsistentRedBlink;
358    private javax.swing.JCheckBox _mGUIDesign_ReloadCTCSystemButton;
359    private javax.swing.ButtonGroup _mGUIDesign_SignalsOnPanel;
360    private javax.swing.JCheckBox _mGUIDesign_TurnoutsOnPanel;
361    private javax.swing.ButtonGroup _mGUIDesign_VerticalSize;
362    private javax.swing.JRadioButton _mGreenOffOnly;
363    private javax.swing.JRadioButton _mNone;
364    private javax.swing.JButton _mSaveAndClose;
365    private javax.swing.JLabel jLabel1;
366    private javax.swing.JLabel jLabel19;
367    private javax.swing.JLabel jLabel2;
368    private javax.swing.JLabel jLabel3;
369    private javax.swing.JLabel jLabel4;
370    private javax.swing.JLabel jLabel5;
371    private javax.swing.JLabel jLabel6;
372    private javax.swing.JRadioButton jRadioButton1;
373    private javax.swing.JRadioButton jRadioButton2;
374    private javax.swing.JRadioButton jRadioButton3;
375    private javax.swing.JRadioButton jRadioButton4;
376    private javax.swing.JRadioButton jRadioButton5;
377    // End of variables declaration//GEN-END:variables
378}