| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269 |
- /**
- * Copyright (C) 2005-2012 XELOG AG
- */
- package ch.spherIC.recurvebowsight.configuration;
-
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.app.Dialog;
-
- import android.content.DialogInterface;
-
- import android.content.pm.ActivityInfo;
-
- import android.database.sqlite.SQLiteConstraintException;
-
- import android.os.Bundle;
-
- import android.view.Gravity;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
-
- import android.view.View.OnClickListener;
-
- import android.widget.AdapterView;
-
- import android.widget.AdapterView.OnItemSelectedListener;
-
- import android.widget.Button;
- import android.widget.TextView;
- import android.widget.Toast;
-
- import ch.spherIC.recurvebowsight.DialogFactory;
- import ch.spherIC.recurvebowsight.R;
- import ch.spherIC.recurvebowsight.components.FontArrayAdapter;
- import ch.spherIC.recurvebowsight.components.SightSpinner;
- import ch.spherIC.recurvebowsight.database.dao.SightDao;
- import ch.spherIC.recurvebowsight.model.ISight;
- import ch.spherIC.recurvebowsight.model.Sight;
- import ch.spherIC.recurvebowsight.utilities.CompatibilityUtil;
- import ch.spherIC.recurvebowsight.utilities.PlatformUtils;
-
- import java.text.DecimalFormat;
-
- import java.util.List;
-
-
- /**
- * @author FC Smilari
- */
- public class SightConfigurationActivity extends Activity {
-
- public static final DecimalFormat DF = new DecimalFormat("0.##");
-
- private SightSpinner scSightSpinner;
- private TextView scManufacturerTxtFld;
- private TextView scModelTxtFld;
- private TextView sccHeVSTxtFld;
- private TextView sccaVTxtFld;
- private TextView sccaHTxtFld;
- private TextView scVertScaleRngMinTxtFld;
- private TextView scVertScaleRngMaxTxtFld;
- private TextView scPointerOffsetTxtFld;
-
- private Button newBtn;
- private Button saveBtn;
- private Button deleteBtn;
-
- private ISight selectedSight;
-
- @Override
- protected void onCreate(final Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.rbs_sight_config);
- if (CompatibilityUtil.isTablet(getApplicationContext())) {
- setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
- } else {
- setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
- }
-
- initializeComponents();
- addSightSpinnerListener();
- addButtonListeners();
- loadSightSpinner();
- }
-
- private void loadSightSpinner() {
- List<ISight> sights = SightDao.getInstance().loadAll();
- this.scSightSpinner.setAdapter(new FontArrayAdapter<ISight>(this, R.layout.rbs_spinner, sights, this.scSightSpinner));
- }
-
- private void initializeComponents() {
- this.scSightSpinner = (SightSpinner) findViewById(R.id.scSightSpinner);
- this.scManufacturerTxtFld = (TextView) findViewById(R.id.scManufacturerTxtFld);
- this.scModelTxtFld = (TextView) findViewById(R.id.scModelTxtFld);
- this.sccHeVSTxtFld = (TextView) findViewById(R.id.sccHeVSTxtFld);
- this.sccaVTxtFld = (TextView) findViewById(R.id.sccaVTxtFld);
- this.sccaHTxtFld = (TextView) findViewById(R.id.sccaHTxtFld);
- this.scVertScaleRngMinTxtFld = (TextView) findViewById(R.id.scVertScaleRngMinTxtFld);
- this.scVertScaleRngMaxTxtFld = (TextView) findViewById(R.id.scVertScaleRngMaxTxtFld);
- this.scPointerOffsetTxtFld = (TextView) findViewById(R.id.scPointerOffsetTxtFld);
-
- this.newBtn = (Button) findViewById(R.id.scBtnNew);
- this.saveBtn = (Button) findViewById(R.id.scBtnSave);
- this.deleteBtn = (Button) findViewById(R.id.scBtnDelete);
- }
-
- private void addSightSpinnerListener() {
-
- this.scSightSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
-
- @Override
- public void onItemSelected(final AdapterView<?> parent, final View view, final int position,
- final long id) {
- ISight sight = SightConfigurationActivity.this.scSightSpinner.getSelectedSight();
- SightConfigurationActivity.this.scManufacturerTxtFld.setText(sight.getManufacturer());
- SightConfigurationActivity.this.scModelTxtFld.setText(sight.getModel());
- SightConfigurationActivity.this.sccHeVSTxtFld.setText(sight.getHeVis());
- SightConfigurationActivity.this.sccaVTxtFld.setText(DF.format(sight.getAV()));
- SightConfigurationActivity.this.sccaHTxtFld.setText(DF.format(sight.getAH()));
- SightConfigurationActivity.this.scVertScaleRngMinTxtFld.setText(DF.format(sight.getVertSkalaRangeMin()));
- SightConfigurationActivity.this.scVertScaleRngMaxTxtFld.setText(DF.format(sight.getVertSkalaRangeMax()));
- SightConfigurationActivity.this.scPointerOffsetTxtFld.setText(DF.format(sight.getPointerOffset()));
- SightConfigurationActivity.this.selectedSight = sight;
- }
-
- @Override
- public void onNothingSelected(final AdapterView<?> parent) { }
- });
- }
-
-
- private void addButtonListeners() {
-
- this.newBtn.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(final View v) {
- onNewSight();
- }
- });
-
- this.saveBtn.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(final View v) {
- onSaveSight();
- }
- });
-
- this.deleteBtn.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(final View v) {
- onDeleteSight();
- }
- });
- }
-
- /**
- * Löschen.
- */
- protected void onDeleteSight() {
-
- if (this.selectedSight != null) {
-
- android.content.DialogInterface.OnClickListener deleteBtnListener = new android.content.DialogInterface.OnClickListener() {
- @Override
- public void onClick(final DialogInterface dialog, final int which) {
- try {
- SightDao.getInstance().delete(SightConfigurationActivity.this.selectedSight);
- loadSightSpinner();
- } catch (SQLiteConstraintException e) {
- Toast toast = Toast.makeText(SightConfigurationActivity.this,
- getResources().getString(R.string.caption_Cfg_DeleteNotPossible), Toast.LENGTH_LONG);
- toast.setGravity(Gravity.CENTER, 0, 0);
- toast.show();
- }
- }
- };
-
- AlertDialog dlg = PlatformUtils.getDeleteConfirmDialog(this, this.selectedSight.toString(), deleteBtnListener);
- dlg.show();
- }
- }
-
- /**
- * Speichern.
- */
- protected void onSaveSight() {
- if (this.selectedSight != null) {
- if (!this.scManufacturerTxtFld.getText().toString().isEmpty() && !this.scModelTxtFld.getText().toString().isEmpty()
- && !this.sccHeVSTxtFld.getText().toString().isEmpty() && !this.sccaVTxtFld.getText().toString().isEmpty()
- && !this.sccaHTxtFld.getText().toString().isEmpty() && !this.scVertScaleRngMinTxtFld.getText().toString().isEmpty()
- && !this.scVertScaleRngMaxTxtFld.getText().toString().isEmpty()
- && !this.scPointerOffsetTxtFld.getText().toString().isEmpty()) {
-
- this.selectedSight.setManufacturer(this.scManufacturerTxtFld.getText().toString());
- this.selectedSight.setModel(this.scModelTxtFld.getText().toString());
- this.selectedSight.setHeVis(this.sccHeVSTxtFld.getText().toString());
- this.selectedSight.setAV(Double.valueOf(this.sccaVTxtFld.getText().toString()));
- this.selectedSight.setAH(Double.valueOf(this.sccaHTxtFld.getText().toString()));
- this.selectedSight.setVertSkalaRangeMin(Double.valueOf(this.scVertScaleRngMinTxtFld.getText().toString()));
- this.selectedSight.setVertSkalaRangeMax(Double.valueOf(this.scVertScaleRngMaxTxtFld.getText().toString()));
- this.selectedSight.setPointerOffset(Double.valueOf(this.scPointerOffsetTxtFld.getText().toString()));
-
- if (this.selectedSight.getId() > 0) {
- SightDao.getInstance().update(this.selectedSight);
- } else {
- this.selectedSight = SightDao.getInstance().insert(this.selectedSight);
- loadSightSpinner();
- this.scSightSpinner.setSelectedSight(this.selectedSight);
- }
- setResult(1);
- } else {
- Toast toast = Toast.makeText(this, getResources().getString(R.string.caption_Cfg_FillAllMandatoryFields), Toast.LENGTH_LONG);
- toast.setGravity(Gravity.CENTER, 0, 0);
- toast.show();
- }
- }
- }
-
- /**
- * Einfügen.
- */
- @SuppressWarnings("unchecked")
- protected void onNewSight() {
- ISight newSight = new Sight(0, "*", "*", 0d, 0d, "", 0d, 0d, 0d);
- this.selectedSight = newSight;
- ((FontArrayAdapter<ISight>) this.scSightSpinner.getAdapter()).add(newSight);
- this.scSightSpinner.setSelectedSight(newSight);
- this.scManufacturerTxtFld.setText("");
- this.scModelTxtFld.setText("");
- this.sccHeVSTxtFld.setText("");
- this.sccaVTxtFld.setText("");
- this.sccaHTxtFld.setText("");
- this.scVertScaleRngMinTxtFld.setText("");
- this.scVertScaleRngMaxTxtFld.setText("");
- this.scPointerOffsetTxtFld.setText("");
- }
-
- @Override
- public boolean onCreateOptionsMenu(final Menu menu) {
- getMenuInflater().inflate(R.menu.rbs_info_menu, menu);
- return super.onCreateOptionsMenu(menu);
- }
-
- @Override
- public boolean onOptionsItemSelected(final MenuItem item) {
-
- // Handle item selection
- switch (item.getItemId()) {
-
- case R.id.itemAbout:
- showDialog(DialogFactory.DLG_ABOUT);
- return true;
-
- case R.id.itemUserGuide:
- showDialog(DialogFactory.DLG_USERGUIDE_SIGHT_CFG);
- return true;
-
- default:
-
- return super.onOptionsItemSelected(item);
- }
- }
-
- @Override
- protected Dialog onCreateDialog(final int id) {
- return DialogFactory.createDialog(id, this);
- }
- }
|