Skip to content

Commit

Permalink
Minor GUI improvements, disable Tools menu for new items
Browse files Browse the repository at this point in the history
  • Loading branch information
DanielBoudreau committed May 25, 2019
1 parent 7a08b67 commit abb83ae
Show file tree
Hide file tree
Showing 17 changed files with 244 additions and 168 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package jmri.jmrit.operations.locations;

import javax.swing.BorderFactory;

import jmri.jmrit.operations.locations.tools.ChangeTrackTypeAction;
import jmri.jmrit.operations.locations.tools.IgnoreUsedTrackAction;
import jmri.jmrit.operations.locations.tools.ShowCarsByLocationAction;
Expand Down Expand Up @@ -29,7 +30,7 @@ public void initComponents(Location location, Track track) {
_toolMenu.add(new TrackDestinationEditAction(this));
_toolMenu.add(new ChangeTrackTypeAction(this));
_toolMenu.add(new ShowTrainsServingLocationAction(Bundle.getMessage("MenuItemShowTrainsTrack"), _location, _track));
_toolMenu.add(new ShowCarsByLocationAction(false, location.getName(), _trackName));
_toolMenu.add(new ShowCarsByLocationAction(false, _location, _track));
addHelpMenu("package.jmri.jmrit.operations.Operations_Interchange", true); // NOI18N

// override text strings for tracks
Expand Down
47 changes: 27 additions & 20 deletions java/src/jmri/jmrit/operations/locations/LocationEditFrame.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;

import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.ButtonGroup;
Expand All @@ -22,6 +23,10 @@
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.ScrollPaneConstants;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import jmri.InstanceManager;
import jmri.Reporter;
import jmri.jmrit.operations.OperationsFrame;
Expand All @@ -43,8 +48,6 @@
import jmri.jmrit.operations.setup.Control;
import jmri.jmrit.operations.setup.Setup;
import jmri.jmrit.operations.trains.TrainCommon;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* Frame for user edit of location
Expand Down Expand Up @@ -108,6 +111,8 @@ public class LocationEditFrame extends OperationsFrame implements java.beans.Pro

// Reader selection dropdown.
JComboBox<Reporter> readerSelector = new JComboBox<>();

JMenu toolMenu = new JMenu(Bundle.getMessage("MenuTools"));

public static final String NAME = Bundle.getMessage("Name");
public static final int MAX_NAME_LENGTH = Control.max_len_string_location_name;
Expand Down Expand Up @@ -154,9 +159,6 @@ public LocationEditFrame(Location location) {
}
}

// Location name for tools menu
String locationName = null;

if (_location != null) {
enableButtons(true);
locationNameTextField.setText(_location.getName());
Expand All @@ -166,7 +168,6 @@ public LocationEditFrame(Location location) {
interchangeModel.initTable(interchangeTable, location);
stagingModel.initTable(stagingTable, location);
_location.addPropertyChangeListener(this);
locationName = _location.getName();
if (_location.getLocationOps() == Location.NORMAL) {
if (spurModel.getRowCount() > 0) {
spurRadioButton.setSelected(true);
Expand Down Expand Up @@ -305,7 +306,20 @@ public LocationEditFrame(Location location) {

// build menu
JMenuBar menuBar = new JMenuBar();
JMenu toolMenu = new JMenu(Bundle.getMessage("MenuTools"));

loadToolMenu();
menuBar.add(toolMenu);
setJMenuBar(menuBar);
addHelpMenu("package.jmri.jmrit.operations.Operations_AddLocation", true); // NOI18N

pack();
setMinimumSize(new Dimension(Control.panelWidth500, Control.panelHeight500));
setVisible(true);

}

private void loadToolMenu() {
toolMenu.removeAll();
toolMenu.add(new TrackCopyAction(this));
toolMenu.add(new ChangeTracksTypeAction(this));
toolMenu.add(new ShowTrackMovesAction());
Expand All @@ -317,21 +331,13 @@ public LocationEditFrame(Location location) {
toolMenu.add(new ShowTrainsServingLocationAction(Bundle.getMessage("MenuItemShowTrainsLocation"), _location,
null));
toolMenu.add(new EditCarTypeAction());
toolMenu.add(new ShowCarsByLocationAction(false, locationName, null));
toolMenu.add(new ShowCarsByLocationAction(false, _location, null));
toolMenu.addSeparator();
toolMenu.add(new PrintLocationsAction(Bundle.getMessage("MenuItemPrint"), false, location));
toolMenu.add(new PrintLocationsAction(Bundle.getMessage("MenuItemPreview"), true, location));
toolMenu.add(new PrintLocationsAction(Bundle.getMessage("MenuItemPrint"), false, _location));
toolMenu.add(new PrintLocationsAction(Bundle.getMessage("MenuItemPreview"), true, _location));
if (Setup.isVsdPhysicalLocationEnabled()) {
toolMenu.add(new SetPhysicalLocationAction(Bundle.getMessage("MenuSetPhysicalLocation"), _location));
}
menuBar.add(toolMenu);
setJMenuBar(menuBar);
addHelpMenu("package.jmri.jmrit.operations.Operations_AddLocation", true); // NOI18N

pack();
setMinimumSize(new Dimension(Control.panelWidth500, Control.panelHeight500));
setVisible(true);

}

YardEditFrame yef = null;
Expand Down Expand Up @@ -461,12 +467,12 @@ private void saveNewLocation() {
stagingModel.initTable(stagingTable, location);
_location = location;
_location.addPropertyChangeListener(this);
// enable check boxes

updateCheckboxes();
// enableCheckboxes(true);
enableButtons(true);
setTrainDirectionBoxes();
saveLocation();
loadToolMenu();
}

private void saveLocation() {
Expand Down Expand Up @@ -539,6 +545,7 @@ private void reportLocationExists(String s) {
}

private void enableButtons(boolean enabled) {
toolMenu.setEnabled(enabled);
northCheckBox.setEnabled(enabled);
southCheckBox.setEnabled(enabled);
eastCheckBox.setEnabled(enabled);
Expand Down
9 changes: 6 additions & 3 deletions java/src/jmri/jmrit/operations/locations/SpurEditFrame.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,16 @@

import java.awt.Color;
import java.awt.GridBagLayout;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import jmri.InstanceManager;
import jmri.jmrit.operations.locations.schedules.Schedule;
import jmri.jmrit.operations.locations.schedules.ScheduleEditFrame;
Expand All @@ -17,8 +22,6 @@
import jmri.jmrit.operations.locations.tools.ShowCarsByLocationAction;
import jmri.jmrit.operations.locations.tools.ShowTrainsServingLocationAction;
import jmri.jmrit.operations.setup.Control;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* Frame for user edit of a spur.
Expand Down Expand Up @@ -58,7 +61,7 @@ public void initComponents(Location location, Track track) {
_toolMenu.add(new IgnoreUsedTrackAction(this));
_toolMenu.add(new ChangeTrackTypeAction(this));
_toolMenu.add(new ShowTrainsServingLocationAction(Bundle.getMessage("MenuItemShowTrainsTrack"), _location, _track));
_toolMenu.add(new ShowCarsByLocationAction(false, location.getName(), _trackName));
_toolMenu.add(new ShowCarsByLocationAction(false, _location, _track));
addHelpMenu("package.jmri.jmrit.operations.Operations_Sidings", true); // NOI18N

// override text strings for tracks
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package jmri.jmrit.operations.locations;

import java.awt.GridBagLayout;

import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JCheckBox;
import javax.swing.JPanel;

import jmri.jmrit.operations.locations.tools.ShowCarsByLocationAction;
import jmri.jmrit.operations.locations.tools.ShowTrainsServingLocationAction;
import jmri.jmrit.operations.locations.tools.TrackDestinationEditAction;
Expand Down Expand Up @@ -71,7 +73,7 @@ public void initComponents(Location location, Track track) {

_toolMenu.add(new TrackDestinationEditAction(this));
_toolMenu.add(new ShowTrainsServingLocationAction(Bundle.getMessage("MenuItemShowTrainsTrack"), _location, _track));
_toolMenu.add(new ShowCarsByLocationAction(false, location.getName(), _trackName));
_toolMenu.add(new ShowCarsByLocationAction(false, _location, _track));
addHelpMenu("package.jmri.jmrit.operations.Operations_Staging", true); // NOI18N

// override text strings for tracks
Expand Down
13 changes: 7 additions & 6 deletions java/src/jmri/jmrit/operations/locations/TrackEditFrame.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;

import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.ButtonGroup;
Expand All @@ -22,6 +23,10 @@
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import jmri.InstanceManager;
import jmri.Reporter;
import jmri.jmrit.operations.OperationsFrame;
Expand All @@ -44,8 +49,6 @@
import jmri.jmrit.operations.trains.Train;
import jmri.jmrit.operations.trains.TrainCommon;
import jmri.jmrit.operations.trains.TrainManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* Frame for user edit of tracks
Expand All @@ -61,9 +64,8 @@ public class TrackEditFrame extends OperationsFrame implements java.beans.Proper

public Location _location = null;
public Track _track = null;
String _trackName = null; // track name for tools menu
String _type = "";
JMenu _toolMenu = null;
JMenu _toolMenu = new JMenu(Bundle.getMessage("MenuTools"));

List<JCheckBox> checkBoxes = new ArrayList<>();

Expand Down Expand Up @@ -360,7 +362,6 @@ public void initComponents(Location location, Track track) {
commentTextArea.setText(_track.getComment());
trackLengthTextField.setText(Integer.toString(_track.getLength()));
enableButtons(true);
_trackName = _track.getName();
if (Setup.isRfidEnabled()) {
readerSelector.setSelectedItem(_track.getReporter());
}
Expand All @@ -370,7 +371,6 @@ public void initComponents(Location location, Track track) {

// build menu
JMenuBar menuBar = new JMenuBar();
_toolMenu = new JMenu(Bundle.getMessage("MenuTools"));
_toolMenu.add(new TrackLoadEditAction(this));
_toolMenu.add(new TrackRoadEditAction(this));
_toolMenu.add(new TrackEditCommentsAction(this));
Expand Down Expand Up @@ -777,6 +777,7 @@ private void reportTrackExists(String s) {
}

protected void enableButtons(boolean enabled) {
_toolMenu.setEnabled(enabled);
northCheckBox.setEnabled(enabled);
southCheckBox.setEnabled(enabled);
eastCheckBox.setEnabled(enabled);
Expand Down
3 changes: 2 additions & 1 deletion java/src/jmri/jmrit/operations/locations/YardEditFrame.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package jmri.jmrit.operations.locations;

import javax.swing.BorderFactory;

import jmri.jmrit.operations.locations.tools.ChangeTrackTypeAction;
import jmri.jmrit.operations.locations.tools.IgnoreUsedTrackAction;
import jmri.jmrit.operations.locations.tools.ShowCarsByLocationAction;
Expand All @@ -25,7 +26,7 @@ public void initComponents(Location location, Track track) {
_toolMenu.add(new IgnoreUsedTrackAction(this));
_toolMenu.add(new ChangeTrackTypeAction(this));
_toolMenu.add(new ShowTrainsServingLocationAction(Bundle.getMessage("MenuItemShowTrainsTrack"), _location, _track));
_toolMenu.add(new ShowCarsByLocationAction(false, location.getName(), _trackName));
_toolMenu.add(new ShowCarsByLocationAction(false, _location, _track));
addHelpMenu("package.jmri.jmrit.operations.Operations_Yards", true); // NOI18N

// override text strings for tracks
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
package jmri.jmrit.operations.locations.tools;

import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;

import jmri.jmrit.operations.locations.Location;
import jmri.jmrit.operations.locations.Track;
import jmri.jmrit.operations.rollingstock.cars.CarsTableFrame;

/**
Expand All @@ -16,11 +20,16 @@ public ShowCarsByLocationAction(String s) {
super(s);
}

public ShowCarsByLocationAction(boolean showAllCars, String locationName, String trackName) {
public ShowCarsByLocationAction(boolean showAllCars, Location location, Track track) {
this(Bundle.getMessage("MenuItemShowCars"));
this.showAllCars = showAllCars;
this.locationName = locationName;
this.trackName = trackName;
if (location != null) {
this.locationName = location.getName();
}
if (track != null) {
this.trackName = track.getName();
}

}

boolean showAllCars = true;
Expand All @@ -33,5 +42,3 @@ public void actionPerformed(ActionEvent e) {
new CarsTableFrame(showAllCars, locationName, trackName);
}
}


14 changes: 5 additions & 9 deletions java/src/jmri/jmrit/operations/routes/RouteCopyAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import java.awt.Frame;
import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;

/**
Expand All @@ -16,11 +17,11 @@ public RouteCopyAction(String s) {
super(s);
}

String routeName;
Route route;

public RouteCopyAction(String s, String routeName) {
public RouteCopyAction(String s, Route route) {
super(s);
this.routeName = routeName;
this.route = route;
}

RouteCopyFrame f = null;
Expand All @@ -29,14 +30,9 @@ public RouteCopyAction(String s, String routeName) {
public void actionPerformed(ActionEvent e) {
// create a copy route frame
if (f == null || !f.isVisible()) {
f = new RouteCopyFrame();
}
if (routeName != null) {
f.setRouteName(routeName);
f = new RouteCopyFrame(route);
}
f.setExtendedState(Frame.NORMAL);
f.setVisible(true); // this also brings the frame into focus
}
}


Loading

0 comments on commit abb83ae

Please sign in to comment.