|
|
|
@@ -25,6 +25,7 @@ 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;
|
|
|
|
@@ -92,7 +93,7 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi |
|
|
|
private TextView scaVTxtFld;
|
|
|
|
private TextView scaHTxtFld;
|
|
|
|
private TextView scVertScaleRngTxtFld;
|
|
|
|
private TextView scVertSkalaMiddleTxtFld;
|
|
|
|
private TextView scVertScaleMiddleTxtFld;
|
|
|
|
private TextView scEvSValue;
|
|
|
|
|
|
|
|
private IArcherySetup selectedArcherySetup;
|
|
|
|
@@ -125,11 +126,14 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi |
|
|
|
|
|
|
|
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));
|
|
|
|
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));
|
|
|
|
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();
|
|
|
|
|
|
|
|
@@ -190,7 +194,7 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi |
|
|
|
this.scaVTxtFld = (TextView) findViewById(R.id.scaVTxtFld);
|
|
|
|
this.scaHTxtFld = (TextView) findViewById(R.id.scaHTxtFld);
|
|
|
|
this.scVertScaleRngTxtFld = (TextView) findViewById(R.id.scVertScaleRngTxtFld);
|
|
|
|
this.scVertSkalaMiddleTxtFld = (TextView) findViewById(R.id.scVertSkalaMiddleTxtFld);
|
|
|
|
this.scVertScaleMiddleTxtFld = (TextView) findViewById(R.id.scVertSkalaMiddleTxtFld);
|
|
|
|
this.scEvSValue = (TextView) findViewById(R.id.scEvSValue);
|
|
|
|
}
|
|
|
|
|
|
|
|
@@ -200,7 +204,8 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi |
|
|
|
this.scRiserSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onItemSelected(final AdapterView<?> parent, final View view, final int position, final long id) {
|
|
|
|
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()));
|
|
|
|
@@ -220,7 +225,8 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi |
|
|
|
this.scSightSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onItemSelected(final AdapterView<?> parent, final View view, final int position, final long id) {
|
|
|
|
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>();
|
|
|
|
@@ -231,10 +237,9 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi |
|
|
|
}
|
|
|
|
|
|
|
|
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.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,
|
|
|
|
@@ -242,13 +247,14 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi |
|
|
|
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.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.scHeVSSpinner.setSelectionByVal(DF.format(RBSMainActivity.this.selectedArcherySetup.getSightHorSetting()));
|
|
|
|
}
|
|
|
|
RBSMainActivity.this.scaVTxtFld.setText(DF.format(sight.getAV()));
|
|
|
|
RBSMainActivity.this.scaHTxtFld.setText(DF.format(sight.getAH()));
|
|
|
|
@@ -256,16 +262,15 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi |
|
|
|
+ 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.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,
|
|
|
|
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("");
|
|
|
|
@@ -455,6 +460,10 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi |
|
|
|
showDialog(DLG_CHOOSE_ARCHERYSETUP);
|
|
|
|
return true;
|
|
|
|
|
|
|
|
case R.id.doCalculation:
|
|
|
|
calculate();
|
|
|
|
return true;
|
|
|
|
|
|
|
|
case R.id.moreItems:
|
|
|
|
this.showInfoMenu = true;
|
|
|
|
closeOptionsMenu();
|
|
|
|
@@ -581,7 +590,7 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi |
|
|
|
this.calcAccuracyCboBox.setSelectionByVal(archerySetup.getCalcPrecision().toString());
|
|
|
|
this.scRiserSpinner.setSelectedRiser(archerySetup.getRiser());
|
|
|
|
this.scSightSpinner.setSelectedSight(archerySetup.getSight());
|
|
|
|
this.scVertSkalaMiddleTxtFld.setText(archerySetup.getSightVertSkalaMiddle().toString());
|
|
|
|
this.scVertScaleMiddleTxtFld.setText(archerySetup.getSightVertSkalaMiddle().toString());
|
|
|
|
} else {
|
|
|
|
this.arrowDiameterTxtFld.setText("");
|
|
|
|
this.arrowDiameterTxtFld.setText("");
|
|
|
|
@@ -595,8 +604,49 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi |
|
|
|
this.calcAccuracyCboBox.setSelectionByVal("");
|
|
|
|
this.scRiserSpinner.setSelection(0);
|
|
|
|
this.scSightSpinner.setSelection(0);
|
|
|
|
this.scVertSkalaMiddleTxtFld.setText("");
|
|
|
|
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();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|