keyboard: add hotkeys for Zones and Overlays menus

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@773 d9718cc8-9f43-0410-858b-315f434eb58c
This commit is contained in:
jason@long.name 2013-07-25 20:47:51 +00:00
parent b4c3a8327e
commit 0465be13c1
2 changed files with 35 additions and 15 deletions

View file

@ -128,26 +128,28 @@ public class MainWindow extends JFrame
mapViewContainer.add(mapMenu, BorderLayout.NORTH);
JMenu zonesMenu = new JMenu(strings.getString("menu.zones"));
setupKeys(zonesMenu, "menu.zones");
mapMenu.add(zonesMenu);
zonesMenu.add(makeMapStateMenuItem(strings.getString("menu.zones.ALL"), MapState.ALL));
zonesMenu.add(makeMapStateMenuItem(strings.getString("menu.zones.RESIDENTIAL"), MapState.RESIDENTIAL));
zonesMenu.add(makeMapStateMenuItem(strings.getString("menu.zones.COMMERCIAL"), MapState.COMMERCIAL));
zonesMenu.add(makeMapStateMenuItem(strings.getString("menu.zones.INDUSTRIAL"), MapState.INDUSTRIAL));
zonesMenu.add(makeMapStateMenuItem(strings.getString("menu.zones.TRANSPORT"), MapState.TRANSPORT));
zonesMenu.add(makeMapStateMenuItem("menu.zones.ALL", MapState.ALL));
zonesMenu.add(makeMapStateMenuItem("menu.zones.RESIDENTIAL", MapState.RESIDENTIAL));
zonesMenu.add(makeMapStateMenuItem("menu.zones.COMMERCIAL", MapState.COMMERCIAL));
zonesMenu.add(makeMapStateMenuItem("menu.zones.INDUSTRIAL", MapState.INDUSTRIAL));
zonesMenu.add(makeMapStateMenuItem("menu.zones.TRANSPORT", MapState.TRANSPORT));
JMenu overlaysMenu = new JMenu(strings.getString("menu.overlays"));
setupKeys(overlaysMenu, "menu.overlays");
mapMenu.add(overlaysMenu);
overlaysMenu.add(makeMapStateMenuItem(strings.getString("menu.overlays.POPDEN_OVERLAY"), MapState.POPDEN_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem(strings.getString("menu.overlays.GROWTHRATE_OVERLAY"), MapState.GROWTHRATE_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem(strings.getString("menu.overlays.LANDVALUE_OVERLAY"), MapState.LANDVALUE_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem(strings.getString("menu.overlays.CRIME_OVERLAY"), MapState.CRIME_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem(strings.getString("menu.overlays.POLLUTE_OVERLAY"), MapState.POLLUTE_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem(strings.getString("menu.overlays.TRAFFIC_OVERLAY"), MapState.TRAFFIC_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem(strings.getString("menu.overlays.POWER_OVERLAY"), MapState.POWER_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem(strings.getString("menu.overlays.FIRE_OVERLAY"), MapState.FIRE_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem(strings.getString("menu.overlays.POLICE_OVERLAY"), MapState.POLICE_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem("menu.overlays.POPDEN_OVERLAY", MapState.POPDEN_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem("menu.overlays.GROWTHRATE_OVERLAY", MapState.GROWTHRATE_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem("menu.overlays.LANDVALUE_OVERLAY", MapState.LANDVALUE_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem("menu.overlays.CRIME_OVERLAY", MapState.CRIME_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem("menu.overlays.POLLUTE_OVERLAY", MapState.POLLUTE_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem("menu.overlays.TRAFFIC_OVERLAY", MapState.TRAFFIC_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem("menu.overlays.POWER_OVERLAY", MapState.POWER_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem("menu.overlays.FIRE_OVERLAY", MapState.FIRE_OVERLAY));
overlaysMenu.add(makeMapStateMenuItem("menu.overlays.POLICE_OVERLAY", MapState.POLICE_OVERLAY));
mapMenu.add(Box.createHorizontalGlue());
mapLegendLbl = new JLabel();
@ -1629,9 +1631,11 @@ public class MainWindow extends JFrame
}
}
private JMenuItem makeMapStateMenuItem(String caption, final MapState state)
private JMenuItem makeMapStateMenuItem(String stringPrefix, final MapState state)
{
String caption = strings.getString(stringPrefix);
JMenuItem menuItem = new JRadioButtonMenuItem(caption);
setupKeys(menuItem, stringPrefix);
menuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
setMapState(state);

View file

@ -52,21 +52,37 @@ welcome.quit = Quit
! Menus
!
menu.zones = Zones
menu.zones.key = Z
menu.zones.ALL = All
menu.zones.ALL.key = A
menu.zones.RESIDENTIAL = Residential
menu.zones.RESIDENTIAL.key = R
menu.zones.COMMERCIAL = Commercial
menu.zones.COMMERCIAL.key = C
menu.zones.INDUSTRIAL = Industrial
menu.zones.INDUSTRIAL.key = I
menu.zones.TRANSPORT = Transportation
menu.zones.TRANSPORT.key = T
menu.overlays = Overlays
menu.overlays.key = Y
menu.overlays.POPDEN_OVERLAY = Population Density
menu.overlays.POPDEN_OVERLAY.key = D
menu.overlays.GROWTHRATE_OVERLAY = Rate of Growth
menu.overlays.GROWTHRATE_OVERLAY.key = R
menu.overlays.LANDVALUE_OVERLAY = Land Value
menu.overlays.LANDVALUE_OVERLAY.key = L
menu.overlays.CRIME_OVERLAY = Crime Rate
menu.overlays.CRIME_OVERLAY.key = C
menu.overlays.POLLUTE_OVERLAY = Pollution
menu.overlays.POLLUTE_OVERLAY.key = P
menu.overlays.TRAFFIC_OVERLAY = Traffic Density
menu.overlays.TRAFFIC_OVERLAY.key = T
menu.overlays.POWER_OVERLAY = Power Grid
menu.overlays.POWER_OVERLAY.key = G
menu.overlays.FIRE_OVERLAY = Fire Coverage
menu.overlays.FIRE_OVERLAY.key = F
menu.overlays.POLICE_OVERLAY = Police Coverage
menu.overlays.POLICE_OVERLAY.key = O
menu.game = Game
menu.game.key = G