Beispiel #1
0
  private void setupScreen() {
    this.deleteAll();
    addTag = false;
    if (osmway == null) {
      this.append(new StringItem("No Data available", "..."));
      return;
    }
    this.append(new StringItem("Edited ", null));
    this.append(bearingArrow());
    this.append(new StringItem("    at:", osmway.getEditTime()));
    this.append(new StringItem("    by: ", osmway.getEditor()));

    Hashtable tags = osmway.getTags();
    if (tags == null) return;
    Enumeration keysEn = tags.keys();
    while (keysEn.hasMoreElements()) {
      String key = (String) keysEn.nextElement();
      Item i = new StringItem(key, (String) tags.get(key));
      i.addCommand(EDIT_CMD);
      i.addCommand(REMOVE_CMD);
      i.setItemCommandListener(this);
      this.append(i);
    }
  }
Beispiel #2
0
  public void commandAction(Command c, Item it) {
    System.out.println("Command " + c + " Item " + it);
    Hashtable tags = osmway.getTags();
    if (c == REMOVE_CMD) {
      tags.remove(((StringItem) it).getLabel());
      setupScreen();
    }
    if (c == EDIT_CMD) {
      for (int i = 0; i < this.size(); i++) {
        if (this.get(i) == it) {
          StringItem si = (StringItem) it;
          this.delete(i);
          TextField tf = new TextField(it.getLabel(), si.getText(), 100, TextField.ANY);
          tf.addCommand(OK_CMD);
          tf.setItemCommandListener(this);
          this.insert(i, tf);
          Display.getDisplay(GpsMid.getInstance()).setCurrentItem(tf);
        }
      }
    }

    if (c == OK_CMD) {
      if (addTag) {
        tags.put(
            ((TextField) this.get(this.size() - 2)).getString(),
            ((TextField) this.get(this.size() - 1)).getString());
      } else {
        for (int i = 0; i < this.size(); i++) {
          if (this.get(i) == it) {
            TextField tf = (TextField) it;
            tags.put(it.getLabel(), tf.getString());
          }
        }
      }
      addTag = false;
      setupScreen();
    }
  }
Beispiel #3
0
  public void commandAction(Command c, Displayable d) {
    if (c == EXIT_CMD) {
      if (d == this) {
        parent.show();
      } else {
        show();
      }
    }
    if (c == ADD_CMD) {
      this.addTag = true;
      TextField tf = new TextField("key", "", 100, TextField.ANY);
      tf.addCommand(OK_CMD);
      tf.setItemCommandListener(this);
      this.append(tf);
      Display.getDisplay(GpsMid.getInstance()).setCurrentItem(tf);
      tf = new TextField("value", "", 100, TextField.ANY);
      tf.addCommand(OK_CMD);
      tf.setItemCommandListener(this);
      this.append(tf);
    }
    if (c == UPLOAD_CMD) {
      parent.show();
      eway.uploadXML(this);
    }

    if (c == REVERSE_CMD) {
      osmway.reverseWay();
    }

    if (c == PRESET_CMD) {
      presets = new List("Tagging Presets", List.IMPLICIT);
      presets.append("maxspeed=20 mph", null);
      presets.append("maxspeed=30 mph", null);
      presets.append("oneway=yes", null);
      presets.append("name=", null);
      presets.append("ref=", null);
      presets.append("lcn_ref=", null);
      presets.append("foot=yes", null);
      presets.append("bicycle=yes", null);
      presets.append("motorcar=yes", null);
      presets.append("access=private", null);
      presets.append("maxweight=7.5", null);
      presets.append("maxlength=18", null);
      presets.append("maxwidth=3", null);
      presets.append("maxheigt=4", null);
      presets.addCommand(OK_CMD);
      presets.addCommand(EXIT_CMD);
      presets.setCommandListener(this);
      presets.setSelectCommand(OK_CMD);
      GpsMid.getInstance().show(presets);
    }

    if (c == OK_CMD) {
      String addPreset = presets.getString(presets.getSelectedIndex());
      int split = addPreset.indexOf("=");
      osmway
          .getTags()
          .put(addPreset.substring(0, split), addPreset.substring(split + 1, addPreset.length()));
      presets = null;
      setupScreen();
      show();
    }
  }