diff --git a/pom.xml b/pom.xml index 4f55e45..08445b7 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 de.srsoftware web4rail - 0.7.9 + 0.7.10 Web4Rail jar Java Model Railway Control diff --git a/src/main/java/de/srsoftware/web4rail/actions/ActionList.java b/src/main/java/de/srsoftware/web4rail/actions/ActionList.java index 7cd66f8..84cae38 100644 --- a/src/main/java/de/srsoftware/web4rail/actions/ActionList.java +++ b/src/main/java/de/srsoftware/web4rail/actions/ActionList.java @@ -135,6 +135,8 @@ public class ActionList extends Vector implements Constants{ case "SetSignalsToStop": add(new SetSignalsToStop()); break; + case "SpeedReduction": + return SpeedReduction.propForm(this,params); case "TurnTrain": add(new TurnTrain()); break; @@ -163,4 +165,8 @@ public class ActionList extends Vector implements Constants{ select.addTo(new Label("Action type:")).addTo(typeForm); return new Button(t("Create action"),"return submitForm('"+formId+"');").addTo(typeForm).addTo(win); } + + public int id() { + return id; + } } diff --git a/src/main/java/de/srsoftware/web4rail/actions/SpeedReduction.java b/src/main/java/de/srsoftware/web4rail/actions/SpeedReduction.java index 85e1bed..df20ac5 100644 --- a/src/main/java/de/srsoftware/web4rail/actions/SpeedReduction.java +++ b/src/main/java/de/srsoftware/web4rail/actions/SpeedReduction.java @@ -5,18 +5,16 @@ import java.util.HashMap; import org.json.JSONObject; import de.srsoftware.tools.Tag; -import de.srsoftware.web4rail.Route; import de.srsoftware.web4rail.Window; import de.srsoftware.web4rail.tags.Button; import de.srsoftware.web4rail.tags.Form; import de.srsoftware.web4rail.tags.Input; import de.srsoftware.web4rail.tags.Label; -import de.srsoftware.web4rail.tiles.Contact; public class SpeedReduction extends Action{ public static final String MAX_SPEED = "max_speed"; - private int maxSpeed; + private int maxSpeed = -1; public SpeedReduction(int kmh) { super(); @@ -39,7 +37,7 @@ public class SpeedReduction extends Action{ return json; } - public static Window propForm(HashMap params, Route route, Contact contact) { + public static Object propForm(ActionList actionList, HashMap params) { String error = null; String ms = params.get(MAX_SPEED); if (ms == null) { @@ -49,25 +47,22 @@ public class SpeedReduction extends Action{ int s = Integer.parseInt(ms); if (s<0) error = t("Speed must not be less than zero!"); if (error == null) { - route.addAction(contact.trigger(),new SpeedReduction(s)); - contact.plan().stream("Action added!"); - return route.properties(); + actionList.add(new SpeedReduction(s)); + return t("Action added!"); } } catch (NumberFormatException e) { error = t("Not a valid number!"); } } Window win = Action.propForm(params); - String formId = "add-action-to-contact-"+contact.id(); + String formId = "edit-speedreduction"; Tag form = new Form(formId); - new Tag("div").content(t("Add Action {} to contact {} on route {}:",SpeedReduction.class.getSimpleName(),contact,route)).addTo(win); - new Input(REALM, REALM_ROUTE).hideIn(form); - new Input(ID,route.id()).hideIn(form); - new Input(ACTION,ACTION_ADD_ACTION).hideIn(form); - new Input(CONTACT,contact.id()).hideIn(form); + new Input(REALM, REALM_ACTIONS).hideIn(form); + new Input(ID,actionList.id()).hideIn(form); + new Input(ACTION,ACTION_ADD).hideIn(form); new Input(TYPE,SpeedReduction.class.getSimpleName()).hideIn(form); new Input(MAX_SPEED, ms).addTo(new Label("new speed")).addTo(form); - if (error != null) new Tag("div").content(error).addTo(form); + //if (error != null) new Tag("div").content(error).addTo(form); new Button(t("Create action"),"return submitForm('"+formId+"');").addTo(form).addTo(win); return win; }