Browse Source

added new action AddRemoveTag

lookup-tables
Stephan Richter 5 years ago
parent
commit
3e3dfccdea
  1. 2
      pom.xml
  2. 3
      resources/translations/Application.de.translation
  3. 5
      src/main/java/de/srsoftware/web4rail/actions/Action.java
  4. 2
      src/main/java/de/srsoftware/web4rail/actions/ActionList.java
  5. 72
      src/main/java/de/srsoftware/web4rail/actions/AddRemoveTag.java
  6. 2
      src/main/java/de/srsoftware/web4rail/actions/SetSpeed.java

2
pom.xml

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

3
resources/translations/Application.de.translation

@ -16,7 +16,9 @@ add new car : neuen Waggon anlegen @@ -16,7 +16,9 @@ add new car : neuen Waggon anlegen
Add new custom field : neues benutzerdefiniertes Feld hinzufügen
add new locomotive : neue Lok anlegen
add new train : neuen Zug anlegen
Add tag "{}" to train : Markierung "{}" zu Zug hinzufügen
Add tile : Kachel hinzufügen
AddRemoveTag : Markierung hinzufügen/entfernen
Address : Adresse
Address\: : Adresse:
analyze : analysieren
@ -188,6 +190,7 @@ ReactivateContact : Kontakt reaktivieren @@ -188,6 +190,7 @@ ReactivateContact : Kontakt reaktivieren
Relay : Relais
Relays and Turnouts : Relais und Weichen
Relay/Turnout : Relais/Weiche
Remove tag "{}" from train : Markierung "{}" von Zug entfernen
Report Issue : Problem melden
reverse : wenden
Reversed {}. : {} umgedreht.

5
src/main/java/de/srsoftware/web4rail/actions/Action.java

@ -41,9 +41,10 @@ public abstract class Action extends BaseClass { @@ -41,9 +41,10 @@ public abstract class Action extends BaseClass {
public static List<Class<? extends Action>> classes() {
return List.of(
AddRemoveTag.class,
BrakeCancel.class,
BrakeStart.class,
BrakeStop.class,
BrakeCancel.class,
ConditionalAction.class,
DelayedAction.class,
DetermineTrainInBlock.class,
@ -85,7 +86,7 @@ public abstract class Action extends BaseClass { @@ -85,7 +86,7 @@ public abstract class Action extends BaseClass {
return null;
}
public boolean corresponsTo(Action other) {
public boolean correspondsTo(Action other) {
return this.toString().equals(other.toString());
}

2
src/main/java/de/srsoftware/web4rail/actions/ActionList.java

@ -135,7 +135,7 @@ public class ActionList extends Action implements Iterable<Action>{ @@ -135,7 +135,7 @@ public class ActionList extends Action implements Iterable<Action>{
public void merge(ActionList oldActions) {
for (Action oldAction : oldActions.actions) {
for (Action newAction : actions) {
if (oldAction.corresponsTo(newAction)) {
if (oldAction.correspondsTo(newAction)) {
actions.remove(newAction);
LOG.debug("new action {} replaced by {}",newAction,oldAction);
break;

72
src/main/java/de/srsoftware/web4rail/actions/AddRemoveTag.java

@ -0,0 +1,72 @@ @@ -0,0 +1,72 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Window;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Input;
import de.srsoftware.web4rail.tags.Radio;
public class AddRemoveTag extends Action{
private static final String TAG = "tag";
public AddRemoveTag(BaseClass parent) {
super(parent);
}
private String tag = "test";
private boolean add = true;
@Override
public boolean fire(Context context) {
if (isNull(context.train())) return false;
if (add) {
context.train().tags().add(tag);
} else {
context.train().tags().remove(tag);
}
return true;
}
@Override
public JSONObject json() {
JSONObject json = super.json();
json.put(TAG, tag);
return json;
}
@Override
public Action load(JSONObject json) {
super.load(json);
tag = json.getString(TAG);
return this;
}
@Override
protected Window properties(List<Fieldset> preForm, FormInput formInputs, List<Fieldset> postForm) {
formInputs.add(t("Tag"),new Input(TAG, tag));
Tag div = new Tag("div");
new Radio(TYPE, ACTION_ADD, t("add"), add).addTo(div);
new Radio(TYPE, ACTION_DROP, t("delete"), !add).addTo(div);
formInputs.add(t("Action"),div);
return super.properties(preForm, formInputs, postForm);
}
@Override
public String toString() {
return add ? t("Add tag \"{}\" to train",tag) : t("Remove tag \"{}\" from train",tag);
}
@Override
protected Object update(HashMap<String, String> params) {
tag = params.get(TAG);
add = ACTION_ADD.equals(params.get(TYPE));
return super.update(params);
}
}

2
src/main/java/de/srsoftware/web4rail/actions/SetSpeed.java

@ -20,7 +20,7 @@ public class SetSpeed extends Action{ @@ -20,7 +20,7 @@ public class SetSpeed extends Action{
private int speed = 0;
@Override
public boolean corresponsTo(Action other) {
public boolean correspondsTo(Action other) {
return other instanceof SetSpeed;
}

Loading…
Cancel
Save