001package jmri.jmrit.operations.setup.gui;
002
003import java.awt.GridBagLayout;
004
005import javax.swing.*;
006
007import jmri.InstanceManager;
008import jmri.jmrit.operations.setup.OperationsSetupXml;
009import jmri.jmrit.operations.setup.Setup;
010import jmri.jmrit.operations.trains.TrainManager;
011import jmri.jmrit.operations.trains.TrainManifestHeaderText;
012
013/**
014 * Frame for user edit of manifest header text strings
015 *
016 * @author Dan Boudreau Copyright (C) 2014
017 */
018public class EditManifestHeaderTextPanel extends OperationsPreferencesPanel {
019
020    // major buttons
021    JButton saveButton = new JButton(Bundle.getMessage("ButtonSave"));
022    JButton resetButton = new JButton(Bundle.getMessage("Reset"));
023
024    // car and engine attributes
025    JTextField road_TextField = new JTextField(25);
026    JTextField number_TextField = new JTextField(25);
027    JTextField engineNumber_TextField = new JTextField(25);
028    JTextField type_TextField = new JTextField(25);
029    JTextField length_TextField = new JTextField(25);
030    JTextField weight_TextField = new JTextField(25);
031    JTextField owner_TextField = new JTextField(25);
032    JTextField division_TextField = new JTextField(25);
033    JTextField track_TextField = new JTextField(25);
034    JTextField location_TextField = new JTextField(25);
035    JTextField destination_TextField = new JTextField(25);
036    JTextField dest_track_TextField = new JTextField(25);
037    JTextField comment_TextField = new JTextField(25);
038    JTextField last_train_TextField = new JTextField(25);
039    JTextField last_moved_TextField = new JTextField(25);
040    JTextField last_location_TextField = new JTextField(25);
041    // car attributes
042    JTextField load_TextField = new JTextField(25);
043    JTextField load_type_TextField = new JTextField(25);
044    JTextField hazardous_TextField = new JTextField(25);
045    JTextField color_TextField = new JTextField(25);
046    JTextField kernel_TextField = new JTextField(25);
047    JTextField final_dest_TextField = new JTextField(25);
048    JTextField final_dest_track_TextField = new JTextField(25);
049    JTextField drop_comment_TextField = new JTextField(25);
050    JTextField pickup_comment_TextField = new JTextField(25);
051    JTextField rwe_TextField = new JTextField(25);
052    // engine attributes
053    JTextField model_TextField = new JTextField(25);
054    JTextField hp_TextField = new JTextField(25);
055    JTextField consist_TextField = new JTextField(25);
056    JTextField dcc_address_TextField = new JTextField(25);
057
058    JCheckBox printHeaderLine1 = new JCheckBox(Bundle.getMessage("PrintHeaderLine1"));
059    JCheckBox printHeaderLine2 = new JCheckBox(Bundle.getMessage("PrintHeaderLine2"));
060    JCheckBox printHeaderLine3 = new JCheckBox(Bundle.getMessage("PrintHeaderLine3"));
061
062    public EditManifestHeaderTextPanel() {
063
064        // the following code sets the frame's initial state
065        setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
066
067        // manifest text fields
068        JPanel pManifest = new JPanel();
069        JScrollPane pManifestPane = new JScrollPane(pManifest);
070        pManifestPane.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("BorderLayoutManifestHeader")));
071        pManifest.setLayout(new BoxLayout(pManifest, BoxLayout.Y_AXIS));
072
073        JPanel pHeaderLineOptions = new JPanel();
074        pHeaderLineOptions.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("BorderLayoutHeaderLines")));
075        pHeaderLineOptions.setLayout(new GridBagLayout());
076
077        addItemLeft(pHeaderLineOptions, printHeaderLine1, 0, 0);
078        addItemLeft(pHeaderLineOptions, printHeaderLine2, 0, 1);
079        addItemLeft(pHeaderLineOptions, printHeaderLine3, 0, 2);
080
081        printHeaderLine1.setSelected(Setup.isPrintHeaderLine1Enabled());
082        printHeaderLine2.setSelected(Setup.isPrintHeaderLine2Enabled());
083        printHeaderLine3.setSelected(Setup.isPrintHeaderLine3Enabled());
084
085        pManifest.add(pHeaderLineOptions);
086
087        JPanel pRoad_TextField = new JPanel();
088        pRoad_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Road")));
089        pRoad_TextField.add(road_TextField);
090        road_TextField.setText(TrainManifestHeaderText.getStringHeader_Road());
091        pManifest.add(pRoad_TextField);
092
093        JPanel pNumber_TextField = new JPanel();
094        pNumber_TextField.setBorder(
095                BorderFactory.createTitledBorder(Bundle.getMessage("Number") + " (" + Bundle.getMessage("Car") + ")"));
096        pNumber_TextField.add(number_TextField);
097        number_TextField.setText(TrainManifestHeaderText.getStringHeader_Number());
098        pManifest.add(pNumber_TextField);
099
100        JPanel pEngineNumber_TextField = new JPanel();
101        pEngineNumber_TextField.setBorder(
102                BorderFactory.createTitledBorder(Bundle.getMessage("Number") + " (" + Bundle.getMessage("Loco") + ")"));
103        pEngineNumber_TextField.add(engineNumber_TextField);
104        engineNumber_TextField.setText(TrainManifestHeaderText.getStringHeader_EngineNumber());
105        pManifest.add(pEngineNumber_TextField);
106
107        JPanel pType_TextField = new JPanel();
108        pType_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Type")));
109        pType_TextField.add(type_TextField);
110        type_TextField.setText(TrainManifestHeaderText.getStringHeader_Type());
111        pManifest.add(pType_TextField);
112
113        JPanel pLength_TextField = new JPanel();
114        pLength_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Length")));
115        pLength_TextField.add(length_TextField);
116        length_TextField.setText(TrainManifestHeaderText.getStringHeader_Length());
117        pManifest.add(pLength_TextField);
118
119        JPanel pWeight_TextField = new JPanel();
120        pWeight_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Weight")));
121        pWeight_TextField.add(weight_TextField);
122        weight_TextField.setText(TrainManifestHeaderText.getStringHeader_Weight());
123        pManifest.add(pWeight_TextField);
124
125        JPanel pOwner_TextField = new JPanel();
126        pOwner_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Owner")));
127        pOwner_TextField.add(owner_TextField);
128        owner_TextField.setText(TrainManifestHeaderText.getStringHeader_Owner());
129        pManifest.add(pOwner_TextField);
130
131        JPanel pTrack_TextField = new JPanel();
132        pTrack_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Track")));
133        pTrack_TextField.add(track_TextField);
134        track_TextField.setText(TrainManifestHeaderText.getStringHeader_Track());
135        pManifest.add(pTrack_TextField);
136
137        JPanel pLocation_TextField = new JPanel();
138        pLocation_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Location")));
139        pLocation_TextField.add(location_TextField);
140        location_TextField.setText(TrainManifestHeaderText.getStringHeader_Location());
141        pManifest.add(pLocation_TextField);
142
143        JPanel pDestination_TextField = new JPanel();
144        pDestination_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Destination")));
145        pDestination_TextField.add(destination_TextField);
146        destination_TextField.setText(TrainManifestHeaderText.getStringHeader_Destination());
147        pManifest.add(pDestination_TextField);
148
149        JPanel pDest_Track_TextField = new JPanel();
150        pDest_Track_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Dest&Track")));
151        pDest_Track_TextField.add(dest_track_TextField);
152        dest_track_TextField.setText(TrainManifestHeaderText.getStringHeader_Dest_Track());
153        pManifest.add(pDest_Track_TextField);
154
155        JPanel pComment_TextField = new JPanel();
156        pComment_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Comment")));
157        pComment_TextField.add(comment_TextField);
158        comment_TextField.setText(TrainManifestHeaderText.getStringHeader_Comment());
159        pManifest.add(pComment_TextField);
160
161        JPanel pLast_Train_TextField = new JPanel();
162        pLast_Train_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("LastTrain")));
163        pLast_Train_TextField.add(last_train_TextField);
164        last_train_TextField.setText(TrainManifestHeaderText.getStringHeader_Last_Train());
165        pManifest.add(pLast_Train_TextField);
166        
167        JPanel pLast_Moved_TextField = new JPanel();
168        pLast_Moved_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("LastMoved")));
169        pLast_Moved_TextField.add(last_moved_TextField);
170        last_moved_TextField.setText(TrainManifestHeaderText.getStringHeader_Last_Moved());
171        pManifest.add(pLast_Moved_TextField);
172        
173        JPanel pLast_Location_TextField = new JPanel();
174        pLast_Location_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("LastLocation")));
175        pLast_Location_TextField.add(last_location_TextField);
176        last_location_TextField.setText(TrainManifestHeaderText.getStringHeader_Last_Location());
177        pManifest.add(pLast_Location_TextField);
178
179        // car attributes
180        JPanel pLoad_TextField = new JPanel();
181        pLoad_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Load")));
182        pLoad_TextField.add(load_TextField);
183        load_TextField.setText(TrainManifestHeaderText.getStringHeader_Load());
184        pManifest.add(pLoad_TextField);
185
186        JPanel pLoad_Type_TextField = new JPanel();
187        pLoad_Type_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Load_Type")));
188        pLoad_Type_TextField.add(load_type_TextField);
189        load_type_TextField.setText(TrainManifestHeaderText.getStringHeader_Load_Type());
190        pManifest.add(pLoad_Type_TextField);
191
192        JPanel pHazardous_TextField = new JPanel();
193        pHazardous_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Hazardous")));
194        pHazardous_TextField.add(hazardous_TextField);
195        hazardous_TextField.setText(TrainManifestHeaderText.getStringHeader_Hazardous());
196        pManifest.add(pHazardous_TextField);
197
198        JPanel pColor_TextField = new JPanel();
199        pColor_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Color")));
200        pColor_TextField.add(color_TextField);
201        color_TextField.setText(TrainManifestHeaderText.getStringHeader_Color());
202        pManifest.add(pColor_TextField);
203
204        JPanel pKernel_TextField = new JPanel();
205        pKernel_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Kernel")));
206        pKernel_TextField.add(kernel_TextField);
207        kernel_TextField.setText(TrainManifestHeaderText.getStringHeader_Kernel());
208        pManifest.add(pKernel_TextField);
209
210        JPanel pFinal_Dest_TextField = new JPanel();
211        pFinal_Dest_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Final_Dest")));
212        pFinal_Dest_TextField.add(final_dest_TextField);
213        final_dest_TextField.setText(TrainManifestHeaderText.getStringHeader_Final_Dest());
214        pManifest.add(pFinal_Dest_TextField);
215
216        JPanel pFinal_Dest_Track_TextField = new JPanel();
217        pFinal_Dest_Track_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("FD&Track")));
218        pFinal_Dest_Track_TextField.add(final_dest_track_TextField);
219        final_dest_track_TextField.setText(TrainManifestHeaderText.getStringHeader_Final_Dest_Track());
220        pManifest.add(pFinal_Dest_Track_TextField);
221
222        JPanel pDrop_Comment_TextField = new JPanel();
223        pDrop_Comment_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("SetOut_Msg")));
224        pDrop_Comment_TextField.add(drop_comment_TextField);
225        drop_comment_TextField.setText(TrainManifestHeaderText.getStringHeader_Drop_Comment());
226        pManifest.add(pDrop_Comment_TextField);
227
228        JPanel pPickup_Comment_TextField = new JPanel();
229        pPickup_Comment_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("PickUp_Msg")));
230        pPickup_Comment_TextField.add(pickup_comment_TextField);
231        pickup_comment_TextField.setText(TrainManifestHeaderText.getStringHeader_Pickup_Comment());
232        pManifest.add(pPickup_Comment_TextField);
233
234        JPanel pRWE_TextField = new JPanel();
235        pRWE_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("RWELabel")));
236        pRWE_TextField.add(rwe_TextField);
237        rwe_TextField.setText(TrainManifestHeaderText.getStringHeader_RWE());
238        pManifest.add(pRWE_TextField);
239
240        JPanel pDivision_TextField = new JPanel();
241        pDivision_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Division")));
242        pDivision_TextField.add(division_TextField);
243        division_TextField.setText(TrainManifestHeaderText.getStringHeader_Division());
244        pManifest.add(pDivision_TextField);
245
246        // engine attributes
247        JPanel pModel_TextField = new JPanel();
248        pModel_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Model")));
249        pModel_TextField.add(model_TextField);
250        model_TextField.setText(TrainManifestHeaderText.getStringHeader_Model());
251        pManifest.add(pModel_TextField);
252
253        JPanel pHp_TextField = new JPanel();
254        pHp_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("HP")));
255        pHp_TextField.add(hp_TextField);
256        hp_TextField.setText(TrainManifestHeaderText.getStringHeader_Hp());
257        pManifest.add(pHp_TextField);
258
259        JPanel pConsist_TextField = new JPanel();
260        pConsist_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("Consist")));
261        pConsist_TextField.add(consist_TextField);
262        consist_TextField.setText(TrainManifestHeaderText.getStringHeader_Consist());
263        pManifest.add(pConsist_TextField);
264
265        JPanel pDccAddress_TextField = new JPanel();
266        pDccAddress_TextField.setBorder(BorderFactory.createTitledBorder(Bundle.getMessage("DCC_Address")));
267        pDccAddress_TextField.add(dcc_address_TextField);
268        dcc_address_TextField.setText(TrainManifestHeaderText.getStringHeader_DCC_Address());
269        pManifest.add(pDccAddress_TextField);
270
271        // add tool tips
272        saveButton.setToolTipText(Bundle.getMessage("SaveToolTip"));
273
274        // row 11
275        JPanel pControl = new JPanel();
276        pControl.setBorder(BorderFactory.createTitledBorder(""));
277        pControl.setLayout(new GridBagLayout());
278        addItem(pControl, resetButton, 0, 0);
279        addItem(pControl, saveButton, 1, 0);
280
281        add(pManifestPane);
282        add(pControl);
283
284        // set up buttons
285        addButtonAction(resetButton);
286        addButtonAction(saveButton);
287    }
288
289    // Save buttons
290    @Override
291    public void buttonActionPerformed(java.awt.event.ActionEvent ae) {
292        if (ae.getSource() == resetButton) {
293            printHeaderLine1.setSelected(true);
294            printHeaderLine2.setSelected(true);
295            printHeaderLine3.setSelected(true);
296            road_TextField.setText(Bundle.getMessage("Road"));
297            number_TextField.setText(Bundle.getMessage("Number"));
298            engineNumber_TextField.setText(Bundle.getMessage("Number"));
299            type_TextField.setText(Bundle.getMessage("Type"));
300            length_TextField.setText(Bundle.getMessage("Length"));
301            weight_TextField.setText(Bundle.getMessage("Weight"));
302            owner_TextField.setText(Bundle.getMessage("Owner"));
303            division_TextField.setText(Bundle.getMessage("Division"));
304            track_TextField.setText(Bundle.getMessage("Track"));
305            location_TextField.setText(Bundle.getMessage("Location"));
306            destination_TextField.setText(Bundle.getMessage("Destination"));
307            dest_track_TextField.setText(Bundle.getMessage("Dest&Track"));
308            comment_TextField.setText(Bundle.getMessage("Comment"));
309            last_train_TextField.setText(Bundle.getMessage("LastTrain"));
310            last_moved_TextField.setText(Bundle.getMessage("LastMoved"));
311            last_location_TextField.setText(Bundle.getMessage("LastLocation"));
312            // car attributes
313            load_TextField.setText(Bundle.getMessage("Load"));
314            load_type_TextField.setText(Bundle.getMessage("Load_Type"));
315            hazardous_TextField.setText(Bundle.getMessage("Hazardous"));
316            color_TextField.setText(Bundle.getMessage("Color"));
317            final_dest_TextField.setText(Bundle.getMessage("Final_Dest"));
318            final_dest_track_TextField.setText(Bundle.getMessage("FD&Track"));
319            drop_comment_TextField.setText(Bundle.getMessage("SetOut_Msg"));
320            pickup_comment_TextField.setText(Bundle.getMessage("PickUp_Msg"));
321            kernel_TextField.setText(Bundle.getMessage("Kernel"));
322            rwe_TextField.setText(Bundle.getMessage("RWELabel"));
323            // engine attributes
324            model_TextField.setText(Bundle.getMessage("Model"));
325            hp_TextField.setText(Bundle.getMessage("HP"));
326            consist_TextField.setText(Bundle.getMessage("Consist"));
327            dcc_address_TextField.setText(Bundle.getMessage("DCC_Address"));
328        }
329        if (ae.getSource() == saveButton) {
330            this.savePreferences();
331            var topLevelAncestor = getTopLevelAncestor();
332            if (Setup.isCloseWindowOnSaveEnabled() && topLevelAncestor instanceof EditManifestHeaderTextFrame) {
333                ((EditManifestHeaderTextFrame) topLevelAncestor).dispose();
334            }
335        }
336    }
337
338    @Override
339    public String getTabbedPreferencesTitle() {
340        return Bundle.getMessage("TitleManifestHeaderText");
341    }
342
343    @Override
344    public String getPreferencesTooltip() {
345        return null;
346    }
347
348    @Override
349    public void savePreferences() {
350        // header print lines
351        Setup.setPrintHeaderLine1Enabled(printHeaderLine1.isSelected());
352        Setup.setPrintHeaderLine2Enabled(printHeaderLine2.isSelected());
353        Setup.setPrintHeaderLine3Enabled(printHeaderLine3.isSelected());
354        // car and engine attributes
355        TrainManifestHeaderText.setStringHeader_Road(road_TextField.getText());
356        TrainManifestHeaderText.setStringHeader_Number(number_TextField.getText());
357        TrainManifestHeaderText.setStringHeader_EngineNumber(engineNumber_TextField.getText());
358        TrainManifestHeaderText.setStringHeader_Type(type_TextField.getText());
359        TrainManifestHeaderText.setStringHeader_Length(length_TextField.getText());
360        TrainManifestHeaderText.setStringHeader_Weight(weight_TextField.getText());
361        TrainManifestHeaderText.setStringHeader_Owner(owner_TextField.getText());
362        TrainManifestHeaderText.setStringHeader_Track(track_TextField.getText());
363        TrainManifestHeaderText.setStringHeader_Location(location_TextField.getText());
364        TrainManifestHeaderText.setStringHeader_Destination(destination_TextField.getText());
365        TrainManifestHeaderText.setStringHeader_Dest_Track(dest_track_TextField.getText());
366        TrainManifestHeaderText.setStringHeader_Comment(comment_TextField.getText());
367        TrainManifestHeaderText.setStringHeader_Last_Train(last_train_TextField.getText());
368        TrainManifestHeaderText.setStringHeader_Last_Moved(last_moved_TextField.getText());
369        TrainManifestHeaderText.setStringHeader_Last_Location(last_location_TextField.getText());
370        // car attributes
371        TrainManifestHeaderText.setStringHeader_Load(load_TextField.getText());
372        TrainManifestHeaderText.setStringHeader_Load_Type(load_type_TextField.getText());
373        TrainManifestHeaderText.setStringHeader_Hazardous(hazardous_TextField.getText());
374        TrainManifestHeaderText.setStringHeader_Color(color_TextField.getText());
375        TrainManifestHeaderText.setStringHeader_Final_Dest(final_dest_TextField.getText());
376        TrainManifestHeaderText.setStringHeader_Final_Dest_Track(final_dest_track_TextField.getText());
377        TrainManifestHeaderText.setStringHeader_Drop_Comment(drop_comment_TextField.getText());
378        TrainManifestHeaderText.setStringHeader_Pickup_Comment(pickup_comment_TextField.getText());
379        TrainManifestHeaderText.setStringHeader_Kernel(kernel_TextField.getText());
380        TrainManifestHeaderText.setStringHeader_RWE(rwe_TextField.getText());
381        TrainManifestHeaderText.setStringHeader_Division(division_TextField.getText());
382        // engine attributes
383        TrainManifestHeaderText.setStringHeader_Model(model_TextField.getText());
384        TrainManifestHeaderText.setStringHeader_Hp(hp_TextField.getText());
385        TrainManifestHeaderText.setStringHeader_Consist(consist_TextField.getText());
386        TrainManifestHeaderText.setStringHeader_DCC_Address(dcc_address_TextField.getText());
387
388        InstanceManager.getDefault(OperationsSetupXml.class).writeOperationsFile();
389
390        // recreate all train manifests
391        InstanceManager.getDefault(TrainManager.class).setTrainsModified();
392    }
393
394    @Override
395    public boolean isDirty() {
396        return !(Setup.isPrintHeaderLine1Enabled() == printHeaderLine1.isSelected() &&
397                Setup.isPrintHeaderLine2Enabled() == printHeaderLine2.isSelected() &&
398                Setup.isPrintHeaderLine3Enabled() == printHeaderLine3.isSelected() &&
399                TrainManifestHeaderText.getStringHeader_Road().equals(road_TextField.getText()) &&
400                TrainManifestHeaderText.getStringHeader_Number().equals(number_TextField.getText()) &&
401                TrainManifestHeaderText.getStringHeader_EngineNumber().equals(engineNumber_TextField.getText()) &&
402                TrainManifestHeaderText.getStringHeader_Type().equals(type_TextField.getText()) &&
403                TrainManifestHeaderText.getStringHeader_Length().equals(length_TextField.getText()) &&
404                TrainManifestHeaderText.getStringHeader_Weight().equals(weight_TextField.getText()) &&
405                TrainManifestHeaderText.getStringHeader_Owner().equals(owner_TextField.getText()) &&
406                TrainManifestHeaderText.getStringHeader_Division().equals(division_TextField.getText()) &&
407                TrainManifestHeaderText.getStringHeader_Track().equals(track_TextField.getText()) &&
408                TrainManifestHeaderText.getStringHeader_Location().equals(location_TextField.getText()) &&
409                TrainManifestHeaderText.getStringHeader_Destination().equals(destination_TextField.getText()) &&
410                TrainManifestHeaderText.getStringHeader_Dest_Track().equals(dest_track_TextField.getText()) &&
411                TrainManifestHeaderText.getStringHeader_Comment().equals(comment_TextField.getText()) &&
412                TrainManifestHeaderText.getStringHeader_Last_Train().equals(last_train_TextField.getText()) &&
413                TrainManifestHeaderText.getStringHeader_Last_Moved().equals(last_moved_TextField.getText()) &&
414                TrainManifestHeaderText.getStringHeader_Last_Location().equals(last_location_TextField.getText()) &&
415                TrainManifestHeaderText.getStringHeader_Load().equals(load_TextField.getText()) &&
416                TrainManifestHeaderText.getStringHeader_Load_Type().equals(load_type_TextField.getText()) &&
417                TrainManifestHeaderText.getStringHeader_Hazardous().equals(hazardous_TextField.getText()) &&
418                TrainManifestHeaderText.getStringHeader_Color().equals(color_TextField.getText()) &&
419                TrainManifestHeaderText.getStringHeader_Final_Dest().equals(final_dest_TextField.getText()) &&
420                TrainManifestHeaderText.getStringHeader_Final_Dest_Track()
421                        .equals(final_dest_track_TextField.getText()) &&
422                TrainManifestHeaderText.getStringHeader_Drop_Comment().equals(drop_comment_TextField.getText()) &&
423                TrainManifestHeaderText.getStringHeader_Pickup_Comment().equals(pickup_comment_TextField.getText()) &&
424                TrainManifestHeaderText.getStringHeader_Kernel().equals(kernel_TextField.getText()) &&
425                TrainManifestHeaderText.getStringHeader_RWE().equals(rwe_TextField.getText()) &&
426                TrainManifestHeaderText.getStringHeader_Model().equals(model_TextField.getText()) &&
427                TrainManifestHeaderText.getStringHeader_Hp().equals(hp_TextField.getText()) &&
428                TrainManifestHeaderText.getStringHeader_Consist().equals(consist_TextField.getText()) &&
429                TrainManifestHeaderText.getStringHeader_DCC_Address().equals(dcc_address_TextField.getText()));
430    }
431}