Change all calls to android.util.Log to use the AndroidLogWrapper class since it...
[debian/openrocket] / android / src / net / sf / openrocket / android / rocket / Simulations.java
1 package net.sf.openrocket.android.rocket;\r
2 \r
3 import net.sf.openrocket.R;\r
4 import net.sf.openrocket.android.Application;\r
5 import net.sf.openrocket.android.util.AndroidLogWrapper;\r
6 import net.sf.openrocket.document.OpenRocketDocument;\r
7 import net.sf.openrocket.document.Simulation;\r
8 import net.sf.openrocket.unit.Unit;\r
9 import net.sf.openrocket.unit.UnitGroup;\r
10 import android.app.Activity;\r
11 import android.os.Bundle;\r
12 import android.support.v4.app.Fragment;\r
13 import android.view.LayoutInflater;\r
14 import android.view.View;\r
15 import android.view.ViewGroup;\r
16 import android.widget.AdapterView;\r
17 import android.widget.AdapterView.OnItemClickListener;\r
18 import android.widget.ArrayAdapter;\r
19 import android.widget.ListView;\r
20 import android.widget.TextView;\r
21 \r
22 public class Simulations extends Fragment {\r
23 \r
24         public interface OnSimulationSelectedListener {\r
25                 public void onSimulationSelected( int simulationId );\r
26         }\r
27         \r
28         private ListView simulationList;\r
29         private OnSimulationSelectedListener listener;\r
30 \r
31         @Override\r
32         public View onCreateView(LayoutInflater inflater, ViewGroup container,\r
33                         Bundle savedInstanceState) {\r
34                 View v = inflater.inflate(R.layout.rocket_simulations, container, false);\r
35                 simulationList = (ListView) v.findViewById(R.id.openrocketviewerSimulationList);\r
36 \r
37                 return v;\r
38         }\r
39 \r
40         @Override\r
41         public void onAttach(Activity activity) {\r
42                 super.onAttach(activity);\r
43                 if ( activity instanceof OnSimulationSelectedListener ) {\r
44                         listener = (OnSimulationSelectedListener) activity;\r
45                 }\r
46         }\r
47 \r
48 \r
49         public void setListener(OnSimulationSelectedListener listener) {\r
50                 this.listener = listener;\r
51         }\r
52 \r
53         @Override\r
54         public void onActivityCreated(Bundle savedInstanceState) {\r
55                 super.onActivityCreated(savedInstanceState);\r
56 \r
57                 final OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument();\r
58                 AndroidLogWrapper.d(Simulations.class,"activity = {0}", this.getActivity());\r
59 \r
60                 ArrayAdapter<Simulation> sims = new ArrayAdapter<Simulation>(this.getActivity(),android.R.layout.simple_list_item_2,rocketDocument.getSimulations()) {\r
61 \r
62                         @Override\r
63                         public View getView(int position, View convertView,     ViewGroup parent) {\r
64                                 View v = convertView;\r
65                                 if ( v == null ) {\r
66                                         LayoutInflater li = getActivity().getLayoutInflater();\r
67                                         v = li.inflate(android.R.layout.simple_list_item_2,null);\r
68                                 }\r
69                                 Simulation sim = this.getItem(position);\r
70                                 ((TextView)v.findViewById(android.R.id.text1)).setText( sim.getName() );\r
71                                 StringBuilder sb = new StringBuilder();\r
72                                 sb.append("motors: ").append(sim.getConfiguration().getMotorConfigurationDescription());\r
73                                 Unit distanceUnit = UnitGroup.UNITS_DISTANCE.getDefaultUnit();\r
74                                 sb.append(" apogee: ").append( distanceUnit.toStringUnit(sim.getSimulatedData().getMaxAltitude()));\r
75                                 sb.append(" time: ").append(sim.getSimulatedData().getFlightTime()).append("s");\r
76                                 ((TextView)v.findViewById(android.R.id.text2)).setText( sb.toString() );\r
77                                 return v;\r
78                         }\r
79 \r
80                 };\r
81                 simulationList.setOnItemClickListener( new OnItemClickListener() {\r
82                         @Override\r
83                         public void onItemClick(AdapterView l, View v, int position, long id) {\r
84                                 if (listener != null ) {\r
85                                         listener.onSimulationSelected(position);\r
86                                 }\r
87                         }\r
88 \r
89                 });\r
90                 simulationList.setAdapter(sims);\r
91 \r
92         }\r
93 \r
94 }\r