1 package net.sf.openrocket.android.motor;
\r
3 import net.sf.openrocket.R;
\r
4 import net.sf.openrocket.android.db.ConversionUtils;
\r
5 import net.sf.openrocket.android.db.DbAdapter;
\r
6 import net.sf.openrocket.unit.UnitGroup;
\r
7 import android.os.Bundle;
\r
8 import android.support.v4.app.DialogFragment;
\r
9 import android.view.LayoutInflater;
\r
10 import android.view.View;
\r
11 import android.view.ViewGroup;
\r
12 import android.widget.EditText;
\r
14 public class MotorDetailsFragment extends DialogFragment {
\r
18 EditText delaysField;
\r
20 EditText impulseClassField;
\r
21 EditText diameterField;
\r
22 EditText lengthField;
\r
24 ExtendedThrustCurveMotor motor;
\r
26 public static MotorDetailsFragment newInstance( long motorId ) {
\r
27 MotorDetailsFragment fragment = new MotorDetailsFragment();
\r
28 Bundle b = new Bundle();
\r
29 b.putLong("motorId", motorId);
\r
30 fragment.setArguments(b);
\r
35 public void onCreate(Bundle savedInstanceState) {
\r
36 super.onCreate(savedInstanceState);
\r
37 setStyle(DialogFragment.STYLE_NO_TITLE,getTheme());
\r
40 if ( savedInstanceState != null ) {
\r
41 motorId = savedInstanceState.getLong("motorId");
\r
43 Bundle b = getArguments();
\r
44 motorId = b.getLong("motorId");
\r
46 DbAdapter mDbHelper = new DbAdapter(getActivity());
\r
49 motor = mDbHelper.getMotorDao().fetchMotor(motorId);
\r
50 } catch ( Exception e ) {
\r
56 public void onSaveInstanceState(Bundle arg0) {
\r
57 super.onSaveInstanceState(arg0);
\r
58 arg0.putLong("motorId", motor.getId());
\r
62 public View onCreateView(LayoutInflater inflater, ViewGroup container,
\r
63 Bundle savedInstanceState) {
\r
64 View v = inflater.inflate(R.layout.motor_detail_form, container, false);
\r
65 manuField = (EditText) v.findViewById(R.id.motorDetailsManufacturer);
\r
66 nameField = (EditText) v.findViewById(R.id.motorDetailsName);
\r
67 delaysField = (EditText) v.findViewById(R.id.motorDetailsDelays);
\r
68 caseField = (EditText) v.findViewById(R.id.motorDetailsCaseInfo);
\r
69 impulseClassField = (EditText) v.findViewById(R.id.motorDetailsImpuseClass);
\r
70 diameterField = (EditText) v.findViewById(R.id.motorDetailsDiameter);
\r
71 lengthField = (EditText) v.findViewById(R.id.motorDetailsLength);
\r
73 /* TODO - enable saving.
\r
74 ((Button) v.findViewById(R.id.motorDetailsSaveButton)).setOnClickListener(
\r
75 new View.OnClickListener() {
\r
77 public void onClick(View v) {
\r
78 MotorDetailsFragment.this.saveChanges();
\r
85 private void init( ) {
\r
86 manuField.setText( motor.getManufacturer().getDisplayName());
\r
87 nameField.setText( motor.getDesignation() );
\r
88 delaysField.setText( ConversionUtils.delaysToString(motor.getStandardDelays()) );
\r
89 caseField.setText( motor.getCaseInfo());
\r
90 impulseClassField.setText( motor.getImpulseClass());
\r
91 diameterField.setText( UnitGroup.UNITS_MOTOR_DIMENSIONS.toString(motor.getDiameter()) );
\r
92 lengthField.setText( UnitGroup.UNITS_LENGTH.getUnit("mm").toString(motor.getLength()) );
\r
95 private void saveChanges() {
\r
96 DbAdapter mDbHelper = new DbAdapter(getActivity());
\r
99 mDbHelper.getMotorDao().insertOrUpdateMotor(motor);
\r
100 } catch ( Exception e ) {
\r