소스 검색

GUI Funktionen (Berechnung)

master
gitsvn 12 년 전
부모
커밋
15e369a8e9
4개의 변경된 파일82개의 추가작업 그리고 27개의 파일을 삭제
  1. 4
    1
      res/layout/rbs_main.xml
  2. 1
    0
      res/values-de/strings.xml
  3. 1
    0
      res/values/strings.xml
  4. 76
    26
      src/ch/spherIC/recurvebowsight/RBSMainActivity.java

+ 4
- 1
res/layout/rbs_main.xml 파일 보기

@@ -574,7 +574,6 @@
android:layout_width="match_parent"
android:layout_height="40dp"
android:inputType="numberDecimal"
android:text="42"
android:textSize="18sp"
app:txtFont="@string/TitilliumWeb_Regular" />
@@ -782,9 +781,13 @@
android:layout_width="0dp"
android:layout_height="40dp"
android:ems="10"
android:inputType="numberDecimal"
android:paddingBottom="9dp"
android:paddingTop="9dp"
android:textSize="18sp"
android:visibility="invisible"
app:txtFont="@string/TitilliumWeb_Regular" />
</LinearLayout>
</TableRow>

+ 1
- 0
res/values-de/strings.xml 파일 보기

@@ -53,5 +53,6 @@
<string name="caption_Ok">OK</string>
<string name="caption_Cancel">Abbrechen</string>
<string name="caption_NoSelection">Keine Auswahl&#8230;</string>
<string name="caption_FillAllMandatoryFields">Um die Berechnung durchzuführen, müssen alle Parameterfelder abgefüllt sein.</string>
</resources>

+ 1
- 0
res/values/strings.xml 파일 보기

@@ -54,5 +54,6 @@
<string name="caption_Ok">OK</string>
<string name="caption_Cancel">Cancel</string>
<string name="caption_NoSelection">No selection&#8230;</string>
<string name="caption_FillAllMandatoryFields">To start the calculation all parameter fields must be filled.</string>

</resources>

+ 76
- 26
src/ch/spherIC/recurvebowsight/RBSMainActivity.java 파일 보기

@@ -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();
}
}
}

Loading…
취소
저장