lose embedded source jars from upstream branch
[debian/openrocket] / android / src / net / sf / openrocket / android / simulation / SimulationSeriesDialog.java
1 package net.sf.openrocket.android.simulation;\r
2 \r
3 import java.util.ArrayList;\r
4 import java.util.List;\r
5 \r
6 import net.sf.openrocket.R;\r
7 import net.sf.openrocket.android.Application;\r
8 import net.sf.openrocket.document.OpenRocketDocument;\r
9 import net.sf.openrocket.simulation.FlightDataType;\r
10 import android.content.DialogInterface;\r
11 import android.os.Bundle;\r
12 import android.support.v4.app.DialogFragment;\r
13 import android.view.LayoutInflater;\r
14 import android.view.View;\r
15 import android.view.ViewGroup;\r
16 import android.widget.ArrayAdapter;\r
17 import android.widget.Button;\r
18 import android.widget.Spinner;\r
19 import android.widget.TextView;\r
20 \r
21 public class SimulationSeriesDialog extends DialogFragment {\r
22         \r
23         public interface OnConfirmListener {\r
24                 public void onConfirm();\r
25         }\r
26 \r
27         private Spinner series1Spinner;\r
28         private Spinner series2Spinner;\r
29 \r
30         private SimulationChart chart;\r
31         private OnConfirmListener listener;\r
32 \r
33         public static SimulationSeriesDialog newInstance( SimulationChart chart ) {\r
34                 SimulationSeriesDialog d = new SimulationSeriesDialog();\r
35                 d.chart = chart;\r
36                 return d;\r
37         }\r
38 \r
39         public void setOnConfirmListener(OnConfirmListener listener) {\r
40                 this.listener = listener;\r
41         }\r
42 \r
43         @Override\r
44         public void onCreate(Bundle savedInstanceState) {\r
45                 super.onCreate(savedInstanceState);\r
46                 if (savedInstanceState != null ) {\r
47                         chart = (SimulationChart) savedInstanceState.getSerializable("chart");\r
48                 }\r
49         }\r
50 \r
51         @Override\r
52         public void onSaveInstanceState(Bundle arg0) {\r
53                 super.onSaveInstanceState(arg0);\r
54                 arg0.putSerializable("chart", chart);\r
55         }\r
56 \r
57         @Override\r
58         public View onCreateView(final LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {\r
59 \r
60                 View v = inflater.inflate(R.layout.simulation_series_dialog, container, false);\r
61                 \r
62                 OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument();\r
63 \r
64                 Button okButton = (Button) v.findViewById(R.id.simulationOkButton);\r
65                 okButton.setOnClickListener( new View.OnClickListener() {\r
66 \r
67                         @Override\r
68                         public void onClick(View v) {\r
69                                 chart.setSeries1((FlightDataType)series1Spinner.getSelectedItem());\r
70                                 chart.setSeries2((FlightDataType)series2Spinner.getSelectedItem());\r
71 \r
72                                 if ( listener != null ) {\r
73                                         listener.onConfirm();\r
74                                 }\r
75                                 SimulationSeriesDialog.this.dismiss();\r
76                         }\r
77                         \r
78                 });\r
79 \r
80                 series1Spinner = (Spinner) v.findViewById(R.id.simulationSeries1);\r
81                 series2Spinner = (Spinner) v.findViewById(R.id.simulationSeries2);\r
82 \r
83                 List<FlightDataType> selectableSeries = new ArrayList<FlightDataType>();\r
84                 for( FlightDataType fdt : chart.getFlightDataBranch(rocketDocument).getTypes() ) {\r
85                         if ( fdt == FlightDataType.TYPE_TIME ) { \r
86 \r
87                         } else {\r
88                                 selectableSeries.add(fdt);\r
89                         }\r
90                 }\r
91                 ArrayAdapter<FlightDataType> serieses = new ArrayAdapter<FlightDataType>(getActivity(),R.layout.simple_spinner_item,selectableSeries) {\r
92 \r
93                         @Override\r
94                         public View getView(int position, View convertView,     ViewGroup parent) {\r
95                                 View v = convertView;\r
96                                 if ( v == null ) {\r
97                                         LayoutInflater li = inflater;\r
98                                         v = li.inflate(R.layout.simple_spinner_item,null);\r
99                                 }\r
100                                 FlightDataType fdt = this.getItem(position);\r
101                                 ((TextView)v.findViewById(android.R.id.text1)).setText( fdt.toString() );\r
102                                 return v;\r
103                         }\r
104 \r
105                 };\r
106                 series1Spinner.setAdapter(serieses);\r
107                 series2Spinner.setAdapter(serieses);\r
108 \r
109 \r
110                 return v;\r
111         }\r
112 \r
113 }\r