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