Android Open Source - interdroid-swan New Math Expression Dialog






From Project

Back to project page interdroid-swan.

License

The source code is released under:

Copyright (c) 2008-2011 Vrije Universiteit, The Netherlands All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the follo...

If you think the Android project interdroid-swan listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package interdroid.swan.ui;
//from w ww  .ja va2s.  com
import interdroid.swan.R;
import interdroid.swan.swansong.Expression;
import interdroid.swan.swansong.ExpressionFactory;
import interdroid.swan.swansong.ExpressionParseException;
import interdroid.swan.swansong.HistoryReductionMode;
import interdroid.swan.swansong.MathOperator;
import interdroid.swan.swansong.MathValueExpression;
import interdroid.swan.swansong.ValueExpression;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class NewMathExpressionDialog extends Activity {

  public static final int LEFT = 1;
  public static final int RIGHT = 2;
  public static final int OPERATOR = 3;

  boolean leftActive = false;
  boolean rightActive = false;
  boolean operatorActive = false;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setResult(RESULT_CANCELED);

    setContentView(R.layout.expression_builder_new_math_dialog);

    findViewById(R.id.left).setOnClickListener(new View.OnClickListener() {

      @Override
      public void onClick(View v) {
        startActivityForResult(new Intent(getApplicationContext(),
            SelectTypedValueDialog.class), LEFT);
      }
    });

    findViewById(R.id.right).setOnClickListener(new View.OnClickListener() {

      @Override
      public void onClick(View v) {
        startActivityForResult(new Intent(getApplicationContext(),
            SelectTypedValueDialog.class), RIGHT);
      }
    });

    findViewById(R.id.operator).setOnClickListener(
        new View.OnClickListener() {

          @Override
          public void onClick(View v) {
            startActivityForResult(new Intent(
                getApplicationContext(),
                SelectOperatorDialog.class), OPERATOR);
          }
        });

    findViewById(R.id.ok).setOnClickListener(new View.OnClickListener() {

      @Override
      public void onClick(View v) {
        // check whether we have a left and a right
        // value and an operator, create a new
        // comparator expression out of it, then add
        // it to the list of expressions.
        try {
          Expression left = ExpressionFactory
              .parse(((Button) findViewById(R.id.left)).getText()
                  .toString());
          Expression right = ExpressionFactory
              .parse(((Button) findViewById(R.id.right))
                  .getText().toString());
          MathOperator operator = MathOperator
              .parse(((Button) findViewById(R.id.operator))
                  .getText().toString());
          // TODO get a configurable history reduction mode instead of
          // default
          Expression newExpression = new MathValueExpression(
              Expression.LOCATION_SELF, (ValueExpression) left,
              operator, (ValueExpression) right,
              HistoryReductionMode.DEFAULT_MODE);
          Intent result = new Intent();
          result.putExtra("Expression", newExpression.toParseString());
          // if (name != null && !name.equals("")) {
          // result.putExtra("name", name);
          // }
          setResult(RESULT_OK, result);
          finish();
        } catch (ExpressionParseException e) {
          // TODO: improve this
          Toast.makeText(getApplicationContext(), "Failed!",
              Toast.LENGTH_LONG).show();
        }

      }
    });

  }

  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK) {
      switch (requestCode) {
      case LEFT:
        ((Button) findViewById(R.id.left)).setText(data
            .getStringExtra("Expression"));
        leftActive = true;
        break;
      case RIGHT:
        ((Button) findViewById(R.id.right)).setText(data
            .getStringExtra("Expression"));
        rightActive = true;
        break;
      case OPERATOR:
        ((Button) findViewById(R.id.operator)).setText(data
            .getStringExtra("Operator"));
        operatorActive = true;
        break;
      default:
        break;
      }
      findViewById(R.id.ok).setEnabled(
          leftActive && rightActive && operatorActive);
    }
  }

}




Java Source Code List

interdroid.swan.ExpressionListener.java
interdroid.swan.ExpressionManager.java
interdroid.swan.SensorConfigurationException.java
interdroid.swan.SensorInfo.java
interdroid.swan.SwanException.java
interdroid.swan.TriStateExpressionListener.java
interdroid.swan.ValueExpressionListener.java
interdroid.swan.crossdevice.Converter.java
interdroid.swan.crossdevice.CrossDeviceReceiver.java
interdroid.swan.crossdevice.Pusher.java
interdroid.swan.crossdevice.Registry.java
interdroid.swan.crossdevice.SwanGCMConstants.java
interdroid.swan.crossdevice.SwanLakeActivity.java
interdroid.swan.engine.EvaluationEngineReceiver.java
interdroid.swan.engine.EvaluationEngineService.java
interdroid.swan.engine.EvaluationManager.java
interdroid.swan.engine.ExpressionViewerActivity.java
interdroid.swan.engine.QueuedExpression.java
interdroid.swan.engine.SensorSetupFailedException.java
interdroid.swan.engine.SensorViewerActivity.java
interdroid.swan.engine.TextProgressBar.java
interdroid.swan.sensors.AbstractConfigurationActivity.java
interdroid.swan.sensors.AbstractCuckooSensor.java
interdroid.swan.sensors.AbstractMemorySensor.java
interdroid.swan.sensors.AbstractSensorBase.java
interdroid.swan.sensors.AbstractVdbSensor.java
interdroid.swan.sensors.MonitorThread.java
interdroid.swan.sensors.SensorInterface.java
interdroid.swan.sensors.TimeSensor.java
interdroid.swan.sensors.impl.BatterySensor.java
interdroid.swan.sensors.impl.BluetoothSensor.java
interdroid.swan.sensors.impl.CalendarSensor.java
interdroid.swan.sensors.impl.CallSensor.java
interdroid.swan.sensors.impl.GyroscopeSensor.java
interdroid.swan.sensors.impl.IntentSensor.java
interdroid.swan.sensors.impl.LightSensor.java
interdroid.swan.sensors.impl.LocationSensor.java
interdroid.swan.sensors.impl.LogCatSensor.java
interdroid.swan.sensors.impl.MagnetometerSensor.java
interdroid.swan.sensors.impl.MovementSensor.java
interdroid.swan.sensors.impl.PolarHeartRate.java
interdroid.swan.sensors.impl.PressureSensor.java
interdroid.swan.sensors.impl.ProximitySensor.java
interdroid.swan.sensors.impl.ScreenSensor.java
interdroid.swan.sensors.impl.SignalStrengthSensor.java
interdroid.swan.sensors.impl.SmartLocationSensor.java
interdroid.swan.sensors.impl.SoundSensor.java
interdroid.swan.sensors.impl.TemperatureSensor.java
interdroid.swan.sensors.impl.TwitterSensor.java
interdroid.swan.sensors.impl.WifiSensor.java
interdroid.swan.sensors.impl.package-info.java
interdroid.swan.swansong.BinaryLogicOperator.java
interdroid.swan.swansong.ComparatorResult.java
interdroid.swan.swansong.Comparator.java
interdroid.swan.swansong.ComparisonExpression.java
interdroid.swan.swansong.ConstantValueExpression.java
interdroid.swan.swansong.ExpressionFactory.java
interdroid.swan.swansong.ExpressionParseException.java
interdroid.swan.swansong.Expression.java
interdroid.swan.swansong.HistoryReductionMode.java
interdroid.swan.swansong.LogicExpression.java
interdroid.swan.swansong.LogicOperator.java
interdroid.swan.swansong.MathOperator.java
interdroid.swan.swansong.MathValueExpression.java
interdroid.swan.swansong.ParseableEnum.java
interdroid.swan.swansong.Parseable.java
interdroid.swan.swansong.Result.java
interdroid.swan.swansong.SensorValueExpression.java
interdroid.swan.swansong.TimestampedValue.java
interdroid.swan.swansong.TriStateExpression.java
interdroid.swan.swansong.TriState.java
interdroid.swan.swansong.UnaryLogicOperator.java
interdroid.swan.swansong.ValueExpression.java
interdroid.swan.ui.EnterConstantDialog.java
interdroid.swan.ui.ExpressionBuilderActivity.java
interdroid.swan.ui.LaunchService.java
interdroid.swan.ui.MergeExpressionDialog.java
interdroid.swan.ui.NewExpressionDialog.java
interdroid.swan.ui.NewMathExpressionDialog.java
interdroid.swan.ui.SelectComparatorDialog.java
interdroid.swan.ui.SelectExpressionDialog.java
interdroid.swan.ui.SelectOperatorDialog.java
interdroid.swan.ui.SelectSensorDialog.java
interdroid.swan.ui.SelectTypedValueDialog.java
interdroid.swan.ui.package-info.java
interdroid.swan.util.SeekBarPreference.java
interdroid.swan.util.TimePreference.java