001package jmri.jmrit.operations.trains.gui; 002 003import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; 004 005import java.awt.Dimension; 006 007import javax.swing.JMenu; 008import javax.swing.JMenuBar; 009 010import jmri.jmrit.operations.OperationsFrame; 011import jmri.jmrit.operations.setup.Control; 012import jmri.jmrit.operations.trains.Train; 013import jmri.jmrit.operations.trains.tools.*; 014 015/** 016 * Conductor Frame. Shows work for a train one location at a time. 017 * 018 * @author Dan Boudreau Copyright (C) 2011, 2013, 2026 019 * 020 */ 021public class TrainConductorFrame extends OperationsFrame { 022 023 public TrainConductorFrame(Train train) { 024 super(new TrainConductorPanel(train)); 025 this.initComponents(train); 026 } 027 028 @SuppressFBWarnings(value = "BC_UNCONFIRMED_CAST_OF_RETURN_VALUE") 029 private void initComponents(Train train) { 030 super.initComponents(); 031 032 if (train != null) { 033 setTitle(Bundle.getMessage("TitleTrainConductor") + " (" + train.getName() + ")"); 034 } 035 036 // build menu 037 JMenuBar menuBar = new JMenuBar(); 038 if (train != null) { 039 JMenu toolMenu = new JMenu(Bundle.getMessage("MenuTools")); 040 toolMenu.add(new YardmasterByTrackAction((TrainConductorPanel) getContentPane())); 041 toolMenu.addSeparator(); 042 toolMenu.add(new ShowCarsByLocationAction((TrainConductorPanel) getContentPane())); 043 toolMenu.addSeparator(); 044 toolMenu.add(new ShowCarsInTrainAction(train)); 045 toolMenu.add(new PrintShowCarsInTrainRouteAction(false, train)); 046 toolMenu.add(new PrintShowCarsInTrainRouteAction(true, train)); 047 toolMenu.addSeparator(); 048 toolMenu.add(new ToggleShowFullLocationName()); 049 menuBar.add(toolMenu); 050 } 051 setJMenuBar(menuBar); 052 addHelpMenu("package.jmri.jmrit.operations.Operations_TrainConductor", true); // NOI18N 053 054 initMinimumSize(new Dimension(Control.panelWidth500, Control.panelHeight500)); 055 } 056}