Beispiel #1
0
  @Override
  public void setStatus(Status status) {
    changeable = false; // 一時的にリスナーを無効化

    this.setUUID((String) status.get("id"));

    for (Object key : status.keySet()) {
      if (key.equals("variable")) {
        // 変数ブロック
        Variable val = (Variable) BlockUtil.create("Variable");
        val.setSprite(getSprite());
        val.setStatus(BlockUtil.convertMapToStatus(status.get(key)));

        setVariable(val);
      } else if (key.equals("left")) {
        Object value = status.get(key);

        if (value instanceof String) {
          tf1.setText((String) value); // テキスト
        } else {
          // 変数ブロック
          Variable val = (Variable) BlockUtil.create("Variable");
          val.setSprite(getSprite());
          val.setStatus(BlockUtil.convertMapToStatus(status.get(key)));

          setLeftVariable(val);
        }
      } else if (key.equals("op")) {
        cb.setValue(status.get(key));
      } else if (key.equals("right")) {
        Object value = status.get(key);

        if (value instanceof String) {
          tf2.setText((String) status.get(key)); // テキスト
        } else {
          // 変数ブロック
          arg2 = (Variable) BlockUtil.create("Variable");
          arg2.setSprite(getSprite());
          arg2.setStatus(BlockUtil.convertMapToStatus(status.get(key)));
        }
      }
    }

    changeable = true;
  }
Beispiel #2
0
 @Override
 public void setStatus(Status status) {
   changeable = false; // 一時的にリスナーを無効化
   this.setUUID((String) status.get("id"));
   changeable = true;
 }