Browse Source

minor GUI improvement

lookup-tables
Stephan Richter 5 years ago
parent
commit
74e4c3773b
  1. 2
      pom.xml
  2. 2
      src/main/java/de/srsoftware/web4rail/BaseClass.java
  3. 9
      src/main/java/de/srsoftware/web4rail/moving/Car.java
  4. 14
      src/main/java/de/srsoftware/web4rail/moving/Train.java

2
pom.xml

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>de.srsoftware</groupId> <groupId>de.srsoftware</groupId>
<artifactId>web4rail</artifactId> <artifactId>web4rail</artifactId>
<version>1.2.48</version> <version>1.2.49</version>
<name>Web4Rail</name> <name>Web4Rail</name>
<packaging>jar</packaging> <packaging>jar</packaging>
<description>Java Model Railway Control</description> <description>Java Model Railway Control</description>

2
src/main/java/de/srsoftware/web4rail/BaseClass.java

@ -48,7 +48,7 @@ public abstract class BaseClass implements Constants{
public static final Logger LOG = LoggerFactory.getLogger(BaseClass.class); public static final Logger LOG = LoggerFactory.getLogger(BaseClass.class);
private static final String CUSTOM_FIELDS = "custom_Fields"; private static final String CUSTOM_FIELDS = "custom_Fields";
private static final String NEW_CUSTOM_FIELD_NAME = "new_custom_field_name"; private static final String NEW_CUSTOM_FIELD_NAME = "new_custom_field_name";
private HashMap<String,String> customFieldValues = new HashMap<String, String>(); protected HashMap<String,String> customFieldValues = new HashMap<String, String>();
private BaseClass parent; private BaseClass parent;
public static class Context { public static class Context {

9
src/main/java/de/srsoftware/web4rail/moving/Car.java

@ -83,7 +83,7 @@ public class Car extends BaseClass implements Comparable<Car>{
return car == null ? Car.manager(params) : car.properties(); return car == null ? Car.manager(params) : car.properties();
case ACTION_TURN: case ACTION_TURN:
return car.turn(); return car.turn();
case ACTION_UPDATE: case ACTION_UPDATE:
return car.update(params); return car.update(params);
} }
if (car instanceof Locomotive) return Locomotive.action(params,plan); if (car instanceof Locomotive) return Locomotive.action(params,plan);
@ -99,6 +99,7 @@ public class Car extends BaseClass implements Comparable<Car>{
clone.notes = notes; clone.notes = notes;
clone.parent(parent()); clone.parent(parent());
clone.register(); clone.register();
clone.customFieldValues.putAll(customFieldValues);
return clone; return clone;
} }
@ -163,7 +164,7 @@ public class Car extends BaseClass implements Comparable<Car>{
return this; return this;
} }
public static Object manager(HashMap<String, String> params) { public static Object manager(Map<String, String> params) {
Window win = new Window("car-manager", t("Car manager")); Window win = new Window("car-manager", t("Car manager"));
new Tag("h4").content(t("known cars")).addTo(win); new Tag("h4").content(t("known cars")).addTo(win);
new Tag("p").content(t("Click on a name to edit the entry.")).addTo(win); new Tag("p").content(t("Click on a name to edit the entry.")).addTo(win);
@ -289,7 +290,7 @@ public class Car extends BaseClass implements Comparable<Car>{
this.train = train; this.train = train;
} }
protected Window update(HashMap<String, String> params) { protected Object update(HashMap<String, String> params) {
super.update(params); super.update(params);
if (params.containsKey(NAME)) name = params.get(NAME).trim(); if (params.containsKey(NAME)) name = params.get(NAME).trim();
if (params.containsKey(LENGTH)) length = Integer.parseInt(params.get(LENGTH)); if (params.containsKey(LENGTH)) length = Integer.parseInt(params.get(LENGTH));
@ -304,7 +305,7 @@ public class Car extends BaseClass implements Comparable<Car>{
if (!tag.isEmpty()) tags.add(tag); if (!tag.isEmpty()) tags.add(tag);
} }
} }
return properties(); return Car.manager(Map.of());
} }
public Object turn() { public Object turn() {

14
src/main/java/de/srsoftware/web4rail/moving/Train.java

@ -449,10 +449,11 @@ public class Train extends BaseClass implements Comparable<Train> {
new Input(Train.NAME, t("new train")).addTo(new Label(t("Name:")+NBSP)).addTo(fieldset); new Input(Train.NAME, t("new train")).addTo(new Label(t("Name:")+NBSP)).addTo(fieldset);
Select select = new Select(LOCO_ID); Select select = new Select(LOCO_ID);
for (Locomotive loco : BaseClass.listElements(Locomotive.class)) { BaseClass.listElements(Locomotive.class)
if (isSet(loco.train())) continue; .stream()
select.addOption(loco.id(),loco.name()); .filter(loco -> isNull(loco.train()))
} .sorted((l1,l2)->l1.name().compareTo(l2.name()))
.forEach(loco -> select.addOption(loco.id(),loco.name()));
select.addTo(new Label(t("Locomotive:")+NBSP)).addTo(fieldset); select.addTo(new Label(t("Locomotive:")+NBSP)).addTo(fieldset);
new Button(t("Apply"),form).addTo(fieldset); new Button(t("Apply"),form).addTo(fieldset);
@ -630,7 +631,10 @@ public class Train extends BaseClass implements Comparable<Train> {
if (isNull(exclude)) exclude = new Vector<Train>(); if (isNull(exclude)) exclude = new Vector<Train>();
Select select = new Select(Train.class.getSimpleName()); Select select = new Select(Train.class.getSimpleName());
new Tag("option").attr("value","0").content(t("unset")).addTo(select); new Tag("option").attr("value","0").content(t("unset")).addTo(select);
for (Train train : BaseClass.listElements(Train.class)) {
List<Train> trains = BaseClass.listElements(Train.class);
trains.sort((t1,t2)->t1.name().compareTo(t2.name()));
for (Train train : trains) {
if (exclude.contains(train)) continue; if (exclude.contains(train)) continue;
Tag opt = select.addOption(train.id, train); Tag opt = select.addOption(train.id, train);
if (train == preselected) opt.attr("selected", "selected"); if (train == preselected) opt.attr("selected", "selected");

Loading…
Cancel
Save