| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652 |
- package ch.spherIC.recurvebowsight;
-
- import android.app.Activity;
- import android.app.Dialog;
-
- import android.content.Intent;
-
- import android.os.Bundle;
- import android.os.Handler;
-
- import android.view.Gravity;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.MotionEvent;
- import android.view.View;
-
- import android.view.View.OnTouchListener;
-
- import android.widget.AdapterView;
-
- import android.widget.AdapterView.OnItemSelectedListener;
-
- import android.widget.ArrayAdapter;
- import android.widget.LinearLayout;
- import android.widget.ListView;
- import android.widget.ScrollView;
- import android.widget.TextView;
- import android.widget.Toast;
- import android.widget.ViewFlipper;
-
- import ch.spherIC.recurvebowsight.components.FontArrayAdapter;
- import ch.spherIC.recurvebowsight.components.RiserSpinner;
- import ch.spherIC.recurvebowsight.components.SightSpinner;
- import ch.spherIC.recurvebowsight.components.XSpinner;
- import ch.spherIC.recurvebowsight.components.XTextView;
- import ch.spherIC.recurvebowsight.database.RBSDatabaseHelper;
- import ch.spherIC.recurvebowsight.database.dao.RiserDao;
- import ch.spherIC.recurvebowsight.database.dao.SightDao;
- import ch.spherIC.recurvebowsight.dialog.ChooseArcherySetupDlg.ChooseArcherySetupDlgDismissListener;
- import ch.spherIC.recurvebowsight.model.IArcherySetup;
- import ch.spherIC.recurvebowsight.model.IRiser;
- import ch.spherIC.recurvebowsight.model.ISight;
- import ch.spherIC.recurvebowsight.model.Riser;
- import ch.spherIC.recurvebowsight.model.Sight;
-
- import java.text.DecimalFormat;
-
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.StringTokenizer;
-
-
- public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDismissListener {
-
- public static final DecimalFormat DF = new DecimalFormat("0.###");
-
- public static final int DLG_CHOOSE_ARCHERYSETUP = 0;
- public static final int DLG_USERGUIDE_PARAMS = 1;
- public static final int DLG_USERGUIDE_SIGHT = 2;
- public static final int DLG_ABOUT = 3;
-
- private static final int MIN_DISTANCE = 50;
-
- private ViewFlipper viewFlipper;
- private ScrollView paramsScrollView;
- private ScrollView sightCfgScrollView;
- private float lastX;
- private ListView listView1;
- private XTextView txtViewParams;
- private XTextView txtViewResults;
- private XTextView txtViewSight;
-
- private TextView arrowDiameterTxtFld;
- private TextView arrowCwTxtFld;
- private TextView arrowWeightTxtFld;
- private TextView bowPulloutTxtFld;
- private TextView arrowV0TxtFld;
- private TextView airTemperatureTxtFld;
- private TextView airRelativeHumidityTxtFld;
- private TextView shootingDistanzTxtFld;
- private TextView arrowNockHeightTxtFld;
- private TextView targetCenterHeightTxtFld;
- private XSpinner calcTimeIntervalCboBox;
- private XSpinner calcAccuracyCboBox;
-
- private RiserSpinner scRiserSpinner;
- private TextView scVvisHTxtFld;
- private TextView scVvisVTxtFld;
- private SightSpinner scSightSpinner;
- private XSpinner scHeVSSpinner;
- private TextView scHeVSTxtFld;
- private TextView scaVTxtFld;
- private TextView scaHTxtFld;
- private TextView scVertScaleRngTxtFld;
- private TextView scVertScaleMiddleTxtFld;
- private TextView scEvSValue;
-
- private IArcherySetup selectedArcherySetup;
-
- private Activity riserSightConfigActivity;
-
- private boolean showInfoMenu;
- // private Menu optionsMenu;
-
- @Override
- public void onCreate(final Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.rbs_main);
-
- UnitConverter.setApplication(getApplication());
- RBSDatabaseHelper.setContext(this);
- RBSDatabaseHelper.getInstance().initializeDB();
-
- initializeComponents();
- addTouchListeners();
-
- xTextViewUp(this.txtViewParams);
-
- this.calcTimeIntervalCboBox.setAdapter(new FontArrayAdapter<String>(this, R.layout.rbs_spinner,
- getResources().getStringArray(R.array.CalculationTimeIntervals),
- this.calcTimeIntervalCboBox));
- this.calcAccuracyCboBox.setAdapter(new FontArrayAdapter<String>(this, R.layout.rbs_spinner,
- getResources().getStringArray(R.array.CalculationAccuracies),
- this.calcAccuracyCboBox));
-
- List<IRiser> risers = RiserDao.getInstance().loadAll();
- risers.add(0, new Riser(-999, getResources().getString(R.string.caption_NoSelection), "", null, null, null));
- this.scRiserSpinner.setAdapter(new FontArrayAdapter<IRiser>(this, R.layout.rbs_spinner, risers,
- this.scRiserSpinner));
-
- List<ISight> sights = SightDao.getInstance().loadAll();
- sights.add(0,
- new Sight(-999, getResources().getString(R.string.caption_NoSelection), "", null, null, "", null, null));
- this.scSightSpinner.setAdapter(new FontArrayAdapter<ISight>(this, R.layout.rbs_spinner, sights,
- this.scSightSpinner));
-
- addRiserAndSightSpinnerListeners();
-
-
- // ************************************************************************
- // ** TEST WEISE AB HIER***************************************************
- // ************************************************************************
- this.listView1 = (ListView) findViewById(R.id.listView1);
-
- String[] values = new String[] { "Riser", "Sight", "General Config" };
-
- final ArrayList<String> list = new ArrayList<String>(Arrays.asList(values));
- final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
- this.listView1.setAdapter(adapter);
- this.listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
-
- @Override
- public void onItemClick(final AdapterView<?> parent, final View view, final int position,
- final long id) {
- final String item = (String) parent.getItemAtPosition(position);
- if (item.equals("Riser")) {
- Intent intent = new Intent(RBSMainActivity.this, RiserSightConfigurationActivity.class);
- startActivity(intent);
- }
- }
- });
-
- }
-
- private void initializeComponents() {
-
- this.viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
- this.paramsScrollView = (ScrollView) findViewById(R.id.paramsScrollView);
- this.sightCfgScrollView = (ScrollView) findViewById(R.id.sightCfgScrollView);
- this.txtViewParams = (XTextView) findViewById(R.id.viewParams);
- this.txtViewResults = (XTextView) findViewById(R.id.viewResults);
- this.txtViewSight = (XTextView) findViewById(R.id.viewSight);
-
- this.arrowDiameterTxtFld = (TextView) findViewById(R.id.arrowDiameterTxtFld);
- this.arrowCwTxtFld = (TextView) findViewById(R.id.arrowCwTxtFld);
- this.arrowWeightTxtFld = (TextView) findViewById(R.id.arrowWeightTxtFld);
- this.bowPulloutTxtFld = (TextView) findViewById(R.id.bowPulloutTxtFld);
- this.arrowV0TxtFld = (TextView) findViewById(R.id.arrowV0TxtFld);
- this.airTemperatureTxtFld = (TextView) findViewById(R.id.airTemperatureTxtFld);
- this.airRelativeHumidityTxtFld = (TextView) findViewById(R.id.airRelativeHumidityTxtFld);
- this.shootingDistanzTxtFld = (TextView) findViewById(R.id.shootingDistanzTxtFld);
- this.arrowNockHeightTxtFld = (TextView) findViewById(R.id.arrowNockHeightTxtFld);
- this.targetCenterHeightTxtFld = (TextView) findViewById(R.id.targetCenterHeightTxtFld);
- this.calcTimeIntervalCboBox = (XSpinner) findViewById(R.id.deltaTimeCboBox);
- this.calcAccuracyCboBox = (XSpinner) findViewById(R.id.calcPrecisionCboBox);
-
- this.scRiserSpinner = (RiserSpinner) findViewById(R.id.scRiserSpinner);
- this.scVvisHTxtFld = (TextView) findViewById(R.id.scVvisHTxtFld);
- this.scVvisVTxtFld = (TextView) findViewById(R.id.scVvisVTxtFld);
- this.scSightSpinner = (SightSpinner) findViewById(R.id.scSightSpinner);
- this.scHeVSSpinner = (XSpinner) findViewById(R.id.scHeVSSpinner);
- this.scHeVSTxtFld = (TextView) findViewById(R.id.scHeVSTxtFld);
- this.scaVTxtFld = (TextView) findViewById(R.id.scaVTxtFld);
- this.scaHTxtFld = (TextView) findViewById(R.id.scaHTxtFld);
- this.scVertScaleRngTxtFld = (TextView) findViewById(R.id.scVertScaleRngTxtFld);
- this.scVertScaleMiddleTxtFld = (TextView) findViewById(R.id.scVertSkalaMiddleTxtFld);
- this.scEvSValue = (TextView) findViewById(R.id.scEvSValue);
- }
-
-
- private void addRiserAndSightSpinnerListeners() {
-
- this.scRiserSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
-
- @Override
- public void onItemSelected(final AdapterView<?> parent, final View view, final int position,
- final long id) {
- IRiser riser = RBSMainActivity.this.scRiserSpinner.getSelectedRiser();
- if (riser.getId() != -999) {
- RBSMainActivity.this.scVvisHTxtFld.setText(DF.format(riser.getVVisH()));
- RBSMainActivity.this.scVvisVTxtFld.setText(DF.format(riser.getVVisV()));
- } else {
- RBSMainActivity.this.scVvisHTxtFld.setText("");
- RBSMainActivity.this.scVvisVTxtFld.setText("");
- }
- RBSMainActivity.this.scVvisHTxtFld.setEnabled(riser.getId() == -999);
- RBSMainActivity.this.scVvisVTxtFld.setEnabled(riser.getId() == -999);
- }
-
- @Override
- public void onNothingSelected(final AdapterView<?> parent) { }
- });
-
- this.scSightSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
-
- @Override
- public void onItemSelected(final AdapterView<?> parent, final View view, final int position,
- final long id) {
- ISight sight = RBSMainActivity.this.scSightSpinner.getSelectedSight();
- if (sight.getId() != -999) {
- List<String> listHeVis = new ArrayList<String>();
- String heVis = sight.getHeVis();
- StringTokenizer t = new StringTokenizer(heVis, ",");
- while (t.hasMoreTokens()) {
- listHeVis.add(t.nextToken());
- }
-
- RBSMainActivity.this.scHeVSTxtFld.setVisibility(View.INVISIBLE);
- RBSMainActivity.this.scHeVSTxtFld.setLayoutParams(new LinearLayout.LayoutParams(RBSMainActivity.this.scHeVSTxtFld.getLayoutParams().width,
- RBSMainActivity.this.scHeVSTxtFld.getLayoutParams().height,
- 0f));
- RBSMainActivity.this.scHeVSSpinner.setVisibility(View.VISIBLE);
-
- LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(RBSMainActivity.this.scHeVSSpinner.getLayoutParams().width,
- RBSMainActivity.this.scHeVSSpinner.getLayoutParams().height,
- 1f);
- params.gravity = Gravity.FILL_VERTICAL;
- RBSMainActivity.this.scHeVSSpinner.setLayoutParams(params);
- RBSMainActivity.this.scHeVSSpinner.setAdapter(new FontArrayAdapter<String>(RBSMainActivity.this,
- R.layout.rbs_spinner,
- listHeVis,
- RBSMainActivity.this.scHeVSSpinner));
- RBSMainActivity.this.scHeVSSpinner.setSelection(0);
- if (RBSMainActivity.this.selectedArcherySetup != null
- && RBSMainActivity.this.selectedArcherySetup.getSight().getId() == sight.getId()) {
- RBSMainActivity.this.scHeVSSpinner.setSelectionByVal(DF.format(RBSMainActivity.this.selectedArcherySetup.getSightHorSetting()));
- }
- RBSMainActivity.this.scaVTxtFld.setText(DF.format(sight.getAV()));
- RBSMainActivity.this.scaHTxtFld.setText(DF.format(sight.getAH()));
- RBSMainActivity.this.scVertScaleRngTxtFld.setText(DF.format(sight.getVertSkalaRangeMin()) + "-"
- + DF.format(sight.getVertSkalaRangeMax()));
- } else {
- RBSMainActivity.this.scHeVSSpinner.setVisibility(View.INVISIBLE);
- RBSMainActivity.this.scHeVSSpinner.setLayoutParams(new LinearLayout.LayoutParams(RBSMainActivity.this.scHeVSSpinner.getLayoutParams().width,
- RBSMainActivity.this.scHeVSSpinner.getLayoutParams().height,
- 0f));
- RBSMainActivity.this.scHeVSTxtFld.setVisibility(View.VISIBLE);
- RBSMainActivity.this.scHeVSTxtFld.setLayoutParams(new LinearLayout.LayoutParams(RBSMainActivity.this.scHeVSTxtFld.getLayoutParams().width,
- RBSMainActivity.this.scHeVSTxtFld.getLayoutParams().height,
- 1f));
- RBSMainActivity.this.scHeVSSpinner.setAdapter(new FontArrayAdapter<String>(RBSMainActivity.this,
- R.layout.rbs_spinner,
- new ArrayList<String>(),
- RBSMainActivity.this.scHeVSSpinner));
- RBSMainActivity.this.scaVTxtFld.setText("");
- RBSMainActivity.this.scaHTxtFld.setText("");
- RBSMainActivity.this.scVertScaleRngTxtFld.setText("");
- }
-
- RBSMainActivity.this.scaVTxtFld.setEnabled(sight.getId() == -999);
- RBSMainActivity.this.scaHTxtFld.setEnabled(sight.getId() == -999);
- RBSMainActivity.this.scVertScaleRngTxtFld.setEnabled(sight.getId() == -999);
- }
-
- @Override
- public void onNothingSelected(final AdapterView<?> parent) { }
- });
- }
-
- private void addTouchListeners() {
-
- // Scrollview muss den Swipe selbst handeln
- this.paramsScrollView.setOnTouchListener(new OnTouchListener() {
-
- private float downX, downY, upX, upY;
-
- @Override
- public boolean onTouch(final View v, final MotionEvent event) {
-
- switch (event.getAction()) {
-
- case MotionEvent.ACTION_DOWN: {
- this.downX = event.getX();
- this.downY = event.getY();
- }
-
- case MotionEvent.ACTION_UP: {
- this.upX = event.getX();
- this.upY = event.getY();
-
- float deltaX = this.upX - this.downX;
- float deltaY = this.upY - this.downY;
-
- // swipe from right to left ?
- if (deltaX < 0 && Math.abs(deltaX) > MIN_DISTANCE && Math.abs(deltaY) < MIN_DISTANCE) {
-
- // set the required Animation type to ViewFlipper
- // The Next screen will come in form Right and current Screen will go OUT to Left
- RBSMainActivity.this.viewFlipper.setInAnimation(RBSMainActivity.this, R.anim.in_from_right);
- RBSMainActivity.this.viewFlipper.setOutAnimation(RBSMainActivity.this, R.anim.out_to_left);
-
- // Show The Next Screen
- RBSMainActivity.this.viewFlipper.showNext();
- deactivateXTextView(RBSMainActivity.this.txtViewParams);
- xTextViewUp(RBSMainActivity.this.txtViewResults);
- deactivateXTextView(RBSMainActivity.this.txtViewSight);
- }
- }
-
- }
-
- return false;
- }
- });
-
- // Scrollview muss den Swipe selbst handeln
- this.sightCfgScrollView.setOnTouchListener(new OnTouchListener() {
-
- private float downX, downY, upX, upY;
-
- @Override
- public boolean onTouch(final View v, final MotionEvent event) {
-
- switch (event.getAction()) {
-
- case MotionEvent.ACTION_DOWN: {
- this.downX = event.getX();
- this.downY = event.getY();
- }
-
- case MotionEvent.ACTION_UP: {
- this.upX = event.getX();
- this.upY = event.getY();
-
- float deltaX = this.upX - this.downX;
- float deltaY = this.upY - this.downY;
-
- // swipe from left to right?
- if (deltaX > 0 && Math.abs(deltaX) > MIN_DISTANCE && Math.abs(deltaY) < MIN_DISTANCE) {
-
- // set the required Animation type to ViewFlipper
- // The Next screen will come in form Right and current Screen will go OUT to Left
- RBSMainActivity.this.viewFlipper.setInAnimation(RBSMainActivity.this, R.anim.in_from_left);
- RBSMainActivity.this.viewFlipper.setOutAnimation(RBSMainActivity.this, R.anim.out_to_right);
-
- // Show The Next Screen
- RBSMainActivity.this.viewFlipper.showPrevious();
- deactivateXTextView(RBSMainActivity.this.txtViewSight);
- xTextViewUp(RBSMainActivity.this.txtViewResults);
- deactivateXTextView(RBSMainActivity.this.txtViewParams);
- }
- }
-
- }
-
- return false;
- }
- });
-
-
- // Touchlistener für die oberen 3 Tabs
- OnTouchListener tabListener = new OnTouchListener() {
-
- @Override
- public boolean onTouch(final View v, final MotionEvent event) {
-
- switch (event.getAction()) {
-
- case MotionEvent.ACTION_DOWN: {
- deactivateXTextView(RBSMainActivity.this.txtViewParams);
- deactivateXTextView(RBSMainActivity.this.txtViewResults);
- deactivateXTextView(RBSMainActivity.this.txtViewSight);
- xTextViewDown((XTextView) v);
- return true;
- }
-
- case MotionEvent.ACTION_UP: {
-
- RBSMainActivity.this.viewFlipper.setInAnimation(RBSMainActivity.this, R.anim.in_from_right);
- RBSMainActivity.this.viewFlipper.setOutAnimation(RBSMainActivity.this, R.anim.out_to_left);
-
- if (v == RBSMainActivity.this.txtViewParams) {
- if (RBSMainActivity.this.viewFlipper.getDisplayedChild() != 0) {
- RBSMainActivity.this.viewFlipper.setDisplayedChild(0);
- }
- } else if (v == RBSMainActivity.this.txtViewResults) {
- if (RBSMainActivity.this.viewFlipper.getDisplayedChild() != 1) {
- RBSMainActivity.this.viewFlipper.setDisplayedChild(1);
- }
- } else {
- if (RBSMainActivity.this.viewFlipper.getDisplayedChild() != 2) {
- RBSMainActivity.this.viewFlipper.setDisplayedChild(2);
- }
- }
-
- xTextViewUp((XTextView) v);
- return true;
- }
-
- }
-
- return false;
- }
- };
-
- // Touchlistener an Tabs anhängen
- this.txtViewParams.setOnTouchListener(tabListener);
- this.txtViewResults.setOnTouchListener(tabListener);
- this.txtViewSight.setOnTouchListener(tabListener);
- }
-
-
- @Override
- public boolean onPrepareOptionsMenu(final Menu menu) {
-
- int size = menu.size();
- for (int i = size - 1; i >= 0; i--) {
- menu.removeItem(menu.getItem(i).getItemId());
- }
-
- if (this.showInfoMenu) {
- this.showInfoMenu = false;
- getMenuInflater().inflate(R.menu.rbs_info_menu, menu);
- } else {
- getMenuInflater().inflate(R.menu.rbs_main, menu);
- }
-
- return true;
- }
-
-
- @Override
- public boolean onOptionsItemSelected(final MenuItem item) {
-
- // Handle item selection
- switch (item.getItemId()) {
-
- case R.id.chooseConfiguration:
- showDialog(DLG_CHOOSE_ARCHERYSETUP);
- return true;
-
- case R.id.doCalculation:
- calculate();
- return true;
-
- case R.id.moreItems:
- this.showInfoMenu = true;
- closeOptionsMenu();
-
- new Handler().post(new Runnable() {
- @Override
- public void run() {
- openOptionsMenu();
- }
- });
-
-
-
- return true;
-
- default:
- return super.onOptionsItemSelected(item);
- }
- }
-
-
- @Override
- public boolean onTouchEvent(final MotionEvent touchevent) {
- switch (touchevent.getAction()) {
-
- // when user first touches the screen to swap
- case MotionEvent.ACTION_DOWN: {
- this.lastX = touchevent.getX();
- break;
- }
-
- case MotionEvent.ACTION_UP: {
- float currentX = touchevent.getX();
-
- // if right to left swipe on screen
- if (this.lastX > currentX) {
- if (this.viewFlipper.getDisplayedChild() == 2) {
- break;
- }
-
- // set the required Animation type to ViewFlipper
- // The Next screen will come in form Right and current Screen will go OUT to Left
- this.viewFlipper.setInAnimation(this, R.anim.in_from_right);
- this.viewFlipper.setOutAnimation(this, R.anim.out_to_left);
-
- // Show The Next Screen
- this.viewFlipper.showNext();
-
- } else if (this.lastX < currentX) { // if left to right swipe on screen
-
- // If no more View/Child to flip
- if (this.viewFlipper.getDisplayedChild() == 0) {
- break;
- }
-
- // set the required Animation type to ViewFlipper
- // The Next screen will come in form Left and current Screen will go OUT to Right
- this.viewFlipper.setInAnimation(this, R.anim.in_from_left);
- this.viewFlipper.setOutAnimation(this, R.anim.out_to_right);
-
- // Show the previous Screen
- this.viewFlipper.showPrevious();
- }
-
- deactivateXTextView(RBSMainActivity.this.txtViewParams);
- deactivateXTextView(RBSMainActivity.this.txtViewResults);
- deactivateXTextView(RBSMainActivity.this.txtViewSight);
-
- switch (this.viewFlipper.getDisplayedChild()) {
- case 0:
- xTextViewUp(this.txtViewParams);
- break;
- case 1:
- xTextViewUp(this.txtViewResults);
- break;
- case 2:
- xTextViewUp(this.txtViewSight);
- break;
- default:
- break;
- }
-
- break;
- }
- }
- return false;
- }
-
-
- private void xTextViewDown(final XTextView view) {
- view.setDrawborderColor(getResources().getColor(R.color.android_blue_dark));
- view.setTextColor(getResources().getColor(R.color.android_blue_dark));
- }
-
- private void xTextViewUp(final XTextView view) {
- view.setDrawborderColor(getResources().getColor(R.color.android_blue));
- view.setTextColor(getResources().getColor(R.color.android_blue));
- }
-
- private void deactivateXTextView(final XTextView view) {
- view.setDrawborderColor(getResources().getColor(R.color.white));
- view.setTextColor(getResources().getColor(R.color.white));
-
- }
-
- @Override
- protected Dialog onCreateDialog(final int id) {
- return DialogFactory.createDialog(id, this);
- }
-
- @Override
- public void onArcherySetupDlgDismissed(final IArcherySetup archerySetup) {
- this.selectedArcherySetup = archerySetup;
- if (archerySetup != null) {
- if (archerySetup.getId() != -999) {
- this.arrowDiameterTxtFld.setText(archerySetup.getArrowDiameter().toString());
- this.arrowCwTxtFld.setText(archerySetup.getArrowCw().toString());
- this.arrowWeightTxtFld.setText(archerySetup.getArrowWeight().toString());
- this.bowPulloutTxtFld.setText(archerySetup.getBowPullout().toString());
- this.arrowV0TxtFld.setText(archerySetup.getArrowV0().toString());
- this.arrowNockHeightTxtFld.setText(archerySetup.getArrowNockHeight().toString());
- this.targetCenterHeightTxtFld.setText(archerySetup.getArrowCenterHeight().toString());
- this.calcTimeIntervalCboBox.setSelectionByVal(archerySetup.getDeltaTime().toString());
- this.calcAccuracyCboBox.setSelectionByVal(archerySetup.getCalcPrecision().toString());
- this.scRiserSpinner.setSelectedRiser(archerySetup.getRiser());
- this.scSightSpinner.setSelectedSight(archerySetup.getSight());
- this.scVertScaleMiddleTxtFld.setText(archerySetup.getSightVertSkalaMiddle().toString());
- } else {
- this.arrowDiameterTxtFld.setText("");
- this.arrowDiameterTxtFld.setText("");
- this.arrowCwTxtFld.setText("");
- this.arrowWeightTxtFld.setText("");
- this.bowPulloutTxtFld.setText("");
- this.arrowV0TxtFld.setText("");
- this.arrowNockHeightTxtFld.setText("");
- this.targetCenterHeightTxtFld.setText("");
- this.calcTimeIntervalCboBox.setSelectionByVal("");
- this.calcAccuracyCboBox.setSelectionByVal("");
- this.scRiserSpinner.setSelection(0);
- this.scSightSpinner.setSelection(0);
- this.scVertScaleMiddleTxtFld.setText("");
- }
- }
- }
-
- private boolean allParamFieldsValid() {
-
- return !this.arrowDiameterTxtFld.getText().toString().isEmpty()
- && !this.arrowCwTxtFld.getText().toString().isEmpty()
- && !this.arrowWeightTxtFld.getText().toString().isEmpty()
- && !this.bowPulloutTxtFld.getText().toString().isEmpty()
- && !this.arrowV0TxtFld.getText().toString().isEmpty()
- && !this.airTemperatureTxtFld.getText().toString().isEmpty()
- && !this.airRelativeHumidityTxtFld.getText().toString().isEmpty()
- && !this.shootingDistanzTxtFld.getText().toString().isEmpty()
- && !this.arrowNockHeightTxtFld.getText().toString().isEmpty()
- && !this.targetCenterHeightTxtFld.getText().toString().isEmpty()
- && this.calcTimeIntervalCboBox.getSelectedItem() != null
- && this.calcAccuracyCboBox.getSelectedItem() != null
- && !this.scVvisHTxtFld.getText().toString().isEmpty()
- && !this.scVvisVTxtFld.getText().toString().isEmpty()
- && !this.scaHTxtFld.getText().toString().isEmpty()
- && !this.scaVTxtFld.getText().toString().isEmpty()
- && !this.scVertScaleRngTxtFld.getText().toString().isEmpty()
- && !this.scVertScaleMiddleTxtFld.getText().toString().isEmpty()
- && ((this.scHeVSSpinner.getVisibility() == View.VISIBLE && this.scHeVSSpinner.getSelectedItem() != null)
- || (this.scHeVSTxtFld.getVisibility() == View.VISIBLE && !this.scHeVSTxtFld.getText().toString().isEmpty()))
- && !this.scVertScaleMiddleTxtFld.getText().toString().isEmpty();
- }
-
- /**
- * Startet die Berechnung wenn alle notwendigen Felder gefüllt sind.
- */
- private void calculate() {
-
- if (allParamFieldsValid()) {
- // CALCULATION!!
- } else {
- Toast toast = Toast.makeText(this, getResources().getString(R.string.caption_FillAllMandatoryFields), Toast.LENGTH_LONG);
- toast.setGravity(Gravity.CENTER, 0, 0);
- toast.show();
- }
- }
-
-
- }
|