1 package net.sf.openrocket.android.rocket;
\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
22 public class Simulations extends Fragment {
\r
24 public interface OnSimulationSelectedListener {
\r
25 public void onSimulationSelected( int simulationId );
\r
28 private ListView simulationList;
\r
29 private OnSimulationSelectedListener listener;
\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
41 public void onAttach(Activity activity) {
\r
42 super.onAttach(activity);
\r
43 if ( activity instanceof OnSimulationSelectedListener ) {
\r
44 listener = (OnSimulationSelectedListener) activity;
\r
49 public void setListener(OnSimulationSelectedListener listener) {
\r
50 this.listener = listener;
\r
54 public void onActivityCreated(Bundle savedInstanceState) {
\r
55 super.onActivityCreated(savedInstanceState);
\r
57 final OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument();
\r
58 AndroidLogWrapper.d(Simulations.class,"activity = {0}", this.getActivity());
\r
60 ArrayAdapter<Simulation> sims = new ArrayAdapter<Simulation>(this.getActivity(),android.R.layout.simple_list_item_2,rocketDocument.getSimulations()) {
\r
63 public View getView(int position, View convertView, ViewGroup parent) {
\r
64 View v = convertView;
\r
66 LayoutInflater li = getActivity().getLayoutInflater();
\r
67 v = li.inflate(android.R.layout.simple_list_item_2,null);
\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
81 simulationList.setOnItemClickListener( new OnItemClickListener() {
\r
83 public void onItemClick(AdapterView l, View v, int position, long id) {
\r
84 if (listener != null ) {
\r
85 listener.onSimulationSelected(position);
\r
90 simulationList.setAdapter(sims);
\r