1 package net.sf.openrocket.android.simulation;
\r
3 import net.sf.openrocket.R;
\r
4 import net.sf.openrocket.android.CurrentRocketHolder;
\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 android.app.Activity;
\r
9 import android.content.SharedPreferences;
\r
10 import android.os.Bundle;
\r
11 import android.preference.PreferenceManager;
\r
12 import android.support.v4.app.FragmentTransaction;
\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.AdapterView.OnItemLongClickListener;
\r
19 import android.widget.ArrayAdapter;
\r
20 import android.widget.ListView;
\r
22 import com.actionbarsherlock.app.SherlockFragment;
\r
23 import com.actionbarsherlock.view.Menu;
\r
24 import com.actionbarsherlock.view.MenuInflater;
\r
25 import com.actionbarsherlock.view.MenuItem;
\r
27 public class Simulations extends SherlockFragment
\r
28 implements SharedPreferences.OnSharedPreferenceChangeListener
\r
31 private final static String wizardFrag = "wizardFrag";
\r
33 public interface OnSimulationSelectedListener {
\r
34 public void onSimulationSelected( int simulationId );
\r
37 private ListView simulationList;
\r
38 private OnSimulationSelectedListener listener;
\r
41 public View onCreateView(LayoutInflater inflater, ViewGroup container,
\r
42 Bundle savedInstanceState) {
\r
43 setHasOptionsMenu(true);
\r
44 View v = inflater.inflate(R.layout.rocket_simulations, container, false);
\r
45 simulationList = (ListView) v.findViewById(R.id.openrocketviewerSimulationList);
\r
50 public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
\r
51 inflater.inflate(R.menu.rocket_viewer_simulation_option_menu, menu);
\r
55 public boolean onOptionsItemSelected(MenuItem item) {
\r
56 switch (item.getItemId())
\r
62 return super.onOptionsItemSelected(item);
\r
67 public void onAttach(Activity activity) {
\r
68 super.onAttach(activity);
\r
69 if ( activity instanceof OnSimulationSelectedListener ) {
\r
70 listener = (OnSimulationSelectedListener) activity;
\r
75 public void setListener(OnSimulationSelectedListener listener) {
\r
76 this.listener = listener;
\r
80 public void onActivityCreated(Bundle savedInstanceState) {
\r
81 super.onActivityCreated(savedInstanceState);
\r
83 SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
\r
84 prefs.registerOnSharedPreferenceChangeListener(this);
\r
89 public void onResume() {
\r
96 public void onDestroy() {
\r
99 SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
\r
100 prefs.unregisterOnSharedPreferenceChangeListener(this);
\r
104 public void onSharedPreferenceChanged(SharedPreferences arg0, String arg1) {
\r
105 if ( this.isVisible() ) {
\r
111 public void refreshSimulationList() {
\r
115 private void setup() {
\r
116 final OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();
\r
117 AndroidLogWrapper.d(Simulations.class,"activity = {0}", this.getActivity());
\r
119 ArrayAdapter<Simulation> sims = new ArrayAdapter<Simulation>(this.getActivity(),android.R.layout.simple_list_item_2,rocketDocument.getSimulations()) {
\r
122 public View getView(int position, View convertView, ViewGroup parent) {
\r
123 SimulationListItem listItemView = (SimulationListItem) convertView;
\r
125 if (listItemView == null) {
\r
126 listItemView = new SimulationListItem(parent.getContext());
\r
129 Simulation sim = this.getItem(position);
\r
130 listItemView.setSimulation(sim);
\r
132 return listItemView;
\r
136 simulationList.setOnItemClickListener( new OnItemClickListener() {
\r
138 public void onItemClick(AdapterView l, View v, int position, long id) {
\r
139 if (listener != null ) {
\r
140 listener.onSimulationSelected(position);
\r
145 simulationList.setOnItemLongClickListener( new OnItemLongClickListener() {
\r
148 public boolean onItemLongClick(AdapterView<?> parent, View view,
\r
149 int position, long id) {
\r
150 final SimulationEditFragment f = SimulationEditFragment.newInstance(position);
\r
151 FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
\r
152 ft.add(f, wizardFrag);
\r
159 simulationList.setAdapter(sims);
\r
163 private void addSimulation() {
\r
164 CurrentRocketHolder.getCurrentRocket().addNewSimulation();
\r