Browse Source

improved car and train management forms

lookup-tables
Stephan Richter 5 years ago
parent
commit
94dd803a4e
  1. 2
      pom.xml
  2. 20
      src/main/java/de/srsoftware/web4rail/moving/Car.java
  3. 18
      src/main/java/de/srsoftware/web4rail/moving/Locomotive.java
  4. 12
      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>0.11.30</version> <version>0.11.31</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>

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

@ -67,12 +67,13 @@ public class Car extends BaseClass implements Comparable<Car>{
switch (params.get(ACTION)) { switch (params.get(ACTION)) {
case ACTION_ADD: case ACTION_ADD:
return new Car(params.get(Car.NAME)).plan(plan); new Car(params.get(Car.NAME)).plan(plan);
return Car.manager();
case ACTION_PROPS: case ACTION_PROPS:
return car == null ? Car.manager() : car.properties(); return car == null ? Car.manager() : car.properties();
case ACTION_UPDATE: case ACTION_UPDATE:
return car.update(params); car.update(params);
return Car.manager();
} }
if (car instanceof Locomotive) return Locomotive.action(params,plan); if (car instanceof Locomotive) return Locomotive.action(params,plan);
return t("Unknown action: {}",params.get(ACTION)); return t("Unknown action: {}",params.get(ACTION));
@ -150,12 +151,12 @@ public class Car extends BaseClass implements Comparable<Car>{
} }
list.addTo(win); list.addTo(win);
Form form = new Form(); Form form = new Form("add-car-form");
new Input(ACTION, ACTION_ADD).hideIn(form); new Input(ACTION, ACTION_ADD).hideIn(form);
new Input(REALM,REALM_CAR).hideIn(form); new Input(REALM,REALM_CAR).hideIn(form);
Fieldset fieldset = new Fieldset(t("add new car")); Fieldset fieldset = new Fieldset(t("add new car"));
new Input(Locomotive.NAME, t("new car")).addTo(new Label(t("Name:")+NBSP)).addTo(fieldset); new Input(Locomotive.NAME, t("new car")).addTo(new Label(t("Name:")+NBSP)).addTo(fieldset);
new Button(t("Apply")).addTo(fieldset); new Button(t("Apply"),form).addTo(fieldset);
fieldset.addTo(form).addTo(win); fieldset.addTo(form).addTo(win);
return win; return win;
} }
@ -173,8 +174,8 @@ public class Car extends BaseClass implements Comparable<Car>{
return this; return this;
} }
public Tag propertyForm() { public Form propertyForm() {
Form form = new Form(); Form form = new Form("car-prop-form");
new Input(ACTION, ACTION_UPDATE).hideIn(form); new Input(ACTION, ACTION_UPDATE).hideIn(form);
new Input(REALM,REALM_CAR).hideIn(form); new Input(REALM,REALM_CAR).hideIn(form);
new Input(ID,id()).hideIn(form); new Input(ID,id()).hideIn(form);
@ -193,10 +194,9 @@ public class Car extends BaseClass implements Comparable<Car>{
Tag cockpit = cockpit(); Tag cockpit = cockpit();
if (cockpit != null) cockpit.addTo(win); if (cockpit != null) cockpit.addTo(win);
Tag form = propertyForm(); Form form = propertyForm();
if (form!=null && form.children().size()>2) { if (form!=null && form.children().size()>2) {
new Button(t("Apply")).addTo(form); new Button(t("Apply"),form).addTo(form).addTo(win);
form.addTo(win);
} else { } else {
win.content(t("This tile ({}) has no editable properties",getClass().getSimpleName())); win.content(t("This tile ({}) has no editable properties",getClass().getSimpleName()));
} }

18
src/main/java/de/srsoftware/web4rail/moving/Locomotive.java

@ -46,7 +46,8 @@ public class Locomotive extends Car implements Constants,Device{
Locomotive loco = id == null ? null : Locomotive.get(id); Locomotive loco = id == null ? null : Locomotive.get(id);
switch (params.get(ACTION)) { switch (params.get(ACTION)) {
case ACTION_ADD: case ACTION_ADD:
return new Locomotive(params.get(Locomotive.NAME)).plan(plan); new Locomotive(params.get(Locomotive.NAME)).plan(plan);
return Locomotive.manager();
case ACTION_FASTER10: case ACTION_FASTER10:
return loco.faster(10); return loco.faster(10);
case ACTION_PROPS: case ACTION_PROPS:
@ -65,6 +66,9 @@ public class Locomotive extends Car implements Constants,Device{
return loco.toggleFunction(4); return loco.toggleFunction(4);
case ACTION_TURN: case ACTION_TURN:
return loco.turn(); return loco.turn();
case ACTION_UPDATE:
loco.update(params);
return Locomotive.manager();
} }
return t("Unknown action: {}",params.get(ACTION)); return t("Unknown action: {}",params.get(ACTION));
@ -198,7 +202,7 @@ public class Locomotive extends Car implements Constants,Device{
return this; return this;
} }
public static Object manager() { public static Window manager() {
Window win = new Window("loco-manager", t("Locomotive manager")); Window win = new Window("loco-manager", t("Locomotive manager"));
new Tag("h4").content(t("known locomotives")).addTo(win); new Tag("h4").content(t("known locomotives")).addTo(win);
Tag list = new Tag("ul"); Tag list = new Tag("ul");
@ -213,22 +217,22 @@ public class Locomotive extends Car implements Constants,Device{
} }
list.addTo(win); list.addTo(win);
Form form = new Form(); Form form = new Form("add-loco-form");
new Input(ACTION, ACTION_ADD).hideIn(form); new Input(ACTION, ACTION_ADD).hideIn(form);
new Input(REALM,REALM_LOCO).hideIn(form); new Input(REALM,REALM_LOCO).hideIn(form);
Fieldset fieldset = new Fieldset(t("add new locomotive")); Fieldset fieldset = new Fieldset(t("add new locomotive"));
new Input(Locomotive.NAME, t("new locomotive")).addTo(new Label(t("Name:")+NBSP)).addTo(fieldset); new Input(Locomotive.NAME, t("new locomotive")).addTo(new Label(t("Name:")+NBSP)).addTo(fieldset);
new Button(t("Apply")).addTo(fieldset); new Button(t("Apply"),form).addTo(fieldset);
fieldset.addTo(form).addTo(win); fieldset.addTo(form).addTo(win);
return win; return win;
} }
@Override @Override
public Tag propertyForm() { public Form propertyForm() {
Tag form = super.propertyForm(); Form form = super.propertyForm();
for (Tag tag : form.children()) { for (Tag tag : form.children()) {
if (REALM.equals(tag.get(Input.NAME)) && REALM_CAR.equals(tag.get(Input.VALUE))) { if (REALM.equals(tag.get(Input.NAME)) && REALM_CAR.equals(tag.get(Input.VALUE))) {
tag.attr(REALM, REALM_LOCO); tag.attr("value", REALM_LOCO);
break; break;
} }
} }

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

@ -180,7 +180,7 @@ public class Train extends BaseClass implements Comparable<Train> {
if (car instanceof Locomotive) { if (car instanceof Locomotive) {
locos.add((Locomotive) car); locos.add((Locomotive) car);
} else cars.add(car); } else cars.add(car);
return this; return props();
} }
public void add(Car car) { public void add(Car car) {
@ -211,7 +211,8 @@ public class Train extends BaseClass implements Comparable<Train> {
li.addTo(locoList); li.addTo(locoList);
} }
Tag addCarForm = new Form().content(t("add car:")+"&nbsp;"); Form addCarForm = new Form("append-car-form");
addCarForm.content(t("add car:")+"&nbsp;");
new Input(REALM, REALM_TRAIN).hideIn(addCarForm); new Input(REALM, REALM_TRAIN).hideIn(addCarForm);
new Input(ACTION, ACTION_ADD).hideIn(addCarForm); new Input(ACTION, ACTION_ADD).hideIn(addCarForm);
new Input(ID,id).hideIn(addCarForm); new Input(ID,id).hideIn(addCarForm);
@ -221,7 +222,7 @@ public class Train extends BaseClass implements Comparable<Train> {
} }
if (!select.children().isEmpty()) { if (!select.children().isEmpty()) {
select.addTo(addCarForm); select.addTo(addCarForm);
new Button(t("add")).addTo(addCarForm); new Button(t("add"),addCarForm).addTo(addCarForm);
addCarForm.addTo(new Tag("li")).addTo(locoList); addCarForm.addTo(new Tag("li")).addTo(locoList);
} }
return locoList.addTo(locoProp); return locoList.addTo(locoProp);
@ -384,7 +385,8 @@ public class Train extends BaseClass implements Comparable<Train> {
new Button(t("delete"),params).addTo(li); new Button(t("delete"),params).addTo(li);
} }
Tag addLocoForm = new Form().content(t("add locomotive:")+"&nbsp;"); Form addLocoForm = new Form("append-loco-form");
addLocoForm.content(t("add locomotive:")+"&nbsp;");
new Input(REALM, REALM_TRAIN).hideIn(addLocoForm); new Input(REALM, REALM_TRAIN).hideIn(addLocoForm);
new Input(ACTION, ACTION_ADD).hideIn(addLocoForm); new Input(ACTION, ACTION_ADD).hideIn(addLocoForm);
new Input(ID,id).hideIn(addLocoForm); new Input(ID,id).hideIn(addLocoForm);
@ -394,7 +396,7 @@ public class Train extends BaseClass implements Comparable<Train> {
} }
if (!select.children().isEmpty()) { if (!select.children().isEmpty()) {
select.addTo(addLocoForm); select.addTo(addLocoForm);
new Button(t("add")).addTo(addLocoForm); new Button(t("add"),addLocoForm).addTo(addLocoForm);
addLocoForm.addTo(new Tag("li")).addTo(locoList); addLocoForm.addTo(new Tag("li")).addTo(locoList);
} }
return locoList.addTo(locoProp); return locoList.addTo(locoProp);

Loading…
Cancel
Save