001package jmri.jmrit.operations.locations.gui; 002 003import java.awt.Dimension; 004 005import javax.swing.*; 006 007import jmri.jmrit.operations.OperationsFrame; 008import jmri.jmrit.operations.locations.Location; 009import jmri.jmrit.operations.locations.tools.PrintSwitchListAction; 010import jmri.jmrit.operations.locations.tools.ShowCarsByLocationAction; 011import jmri.jmrit.operations.setup.Control; 012import jmri.jmrit.operations.setup.Setup; 013 014/** 015 * Yardmaster Frame. Shows work at one location. 016 * 017 * @author Dan Boudreau Copyright (C) 2013, 2026 018 */ 019public class YardmasterFrame extends OperationsFrame { 020 021 public YardmasterFrame(Location location) { 022 super(Bundle.getMessage("Yardmaster"), new YardmasterPanel(location)); 023 this.initComponents(location); 024 } 025 026 private void initComponents(Location location) { 027 super.initComponents(); 028 029 if (location != null) { 030 // build menu 031 JMenuBar menuBar = new JMenuBar(); 032 JMenu toolMenu = new JMenu(Bundle.getMessage("MenuTools")); 033 toolMenu.add(new ShowCarsByLocationAction(false, location, null)); 034 toolMenu.addSeparator(); 035 toolMenu.add(new YardmasterByTrackAction(location)); 036 JMenuItem print = toolMenu.add(new PrintSwitchListAction(location, false)); 037 JMenuItem preview = toolMenu.add(new PrintSwitchListAction(location, true)); 038 menuBar.add(toolMenu); 039 setJMenuBar(menuBar); 040 041 // add tool tip if in consolidation mode: "Disabled when switch list 042 // is in consolidation mode" 043 if (!Setup.isSwitchListRealTime()) { 044 print.setToolTipText(Bundle.getMessage("TipDisabled")); 045 preview.setToolTipText(Bundle.getMessage("TipDisabled")); 046 } 047 setTitle(Bundle.getMessage("Yardmaster") + " " + location.getName()); 048 } 049 050 addHelpMenu("package.jmri.jmrit.operations.Operations_Yardmaster", true); // NOI18N 051 052 initMinimumSize(new Dimension(Control.panelWidth500, Control.panelHeight500)); 053 } 054 055 // private static final Logger log = 056 // LoggerFactory.getLogger(YardmasterFrame.class); 057}