lose embedded source jars from upstream branch
[debian/openrocket] / android / src / net / sf / openrocket / android / rocket / OpenRocketViewer.java
1 package net.sf.openrocket.android.rocket;\r
2 \r
3 \r
4 import net.sf.openrocket.R;\r
5 import net.sf.openrocket.android.ActivityHelpers;\r
6 import net.sf.openrocket.android.Application;\r
7 import net.sf.openrocket.android.actionbarcompat.ActionBarFragmentActivity;\r
8 import net.sf.openrocket.android.simulation.SimulationChart;\r
9 import net.sf.openrocket.android.simulation.SimulationFragment;\r
10 import net.sf.openrocket.android.simulation.SimulationViewActivity;\r
11 import net.sf.openrocket.android.util.AndroidLogWrapper;\r
12 import net.sf.openrocket.document.Simulation;\r
13 import android.app.AlertDialog;\r
14 import android.content.Intent;\r
15 import android.os.Bundle;\r
16 import android.support.v4.app.Fragment;\r
17 import android.support.v4.app.FragmentManager;\r
18 import android.support.v4.app.FragmentPagerAdapter;\r
19 import android.support.v4.app.FragmentTransaction;\r
20 import android.support.v4.view.ViewPager;\r
21 import android.view.Menu;\r
22 import android.view.MenuInflater;\r
23 import android.view.MenuItem;\r
24 import android.view.View;\r
25 \r
26 public class OpenRocketViewer extends ActionBarFragmentActivity\r
27 implements Simulations.OnSimulationSelectedListener\r
28 {\r
29 \r
30         private Application app;\r
31 \r
32         @Override\r
33         protected void onCreate(Bundle savedInstanceState) {\r
34                 super.onCreate(savedInstanceState);\r
35 \r
36                 app = (Application) this.getApplication();\r
37                 setContentView(R.layout.openrocketviewer);\r
38                 ViewPager viewPager = (ViewPager)findViewById(R.id.pager);\r
39                 viewPager.setAdapter( new OpenRocketViewerPager( this.getSupportFragmentManager()));\r
40                 \r
41                 setTitle(app.getRocketDocument().getRocket().getName());\r
42                 \r
43                 getActionBarHelper().setDisplayHomeAsUpEnabled(true);\r
44                 \r
45         }\r
46         \r
47         @Override\r
48         public boolean onCreateOptionsMenu(Menu menu) {\r
49                 MenuInflater inflater = getMenuInflater();\r
50                 inflater.inflate(R.menu.rocket_viewer_option_menu, menu);\r
51                 return true;\r
52         }\r
53 \r
54         @Override\r
55         public boolean onMenuItemSelected(int featureId, MenuItem item) {\r
56                 AndroidLogWrapper.d(OpenRocketViewer.class,"onMenuItemSelected" + item.getItemId());\r
57                 switch(item.getItemId()) {\r
58                 case android.R.id.home:\r
59                         ActivityHelpers.goHome(this);\r
60                         return true;\r
61                 case R.id.motor_list_menu_option:\r
62                         ActivityHelpers.browseMotors(this);\r
63                         return true;\r
64                 case R.id.preference_menu_option:\r
65                         ActivityHelpers.startPreferences(this);\r
66                         return true;\r
67                 case R.id.menu_about:\r
68                         ActivityHelpers.showAbout(this);\r
69                         return true;\r
70                 }\r
71                 return super.onMenuItemSelected(featureId, item);\r
72         }\r
73 \r
74         @Override\r
75         public void onSimulationSelected(int simulationId) {\r
76                 \r
77                 Simulation sim = app.getRocketDocument().getSimulation(simulationId);\r
78                 // Check if there is data for this simulation.\r
79                 if ( sim.getSimulatedData().getBranchCount() == 0 ) {\r
80                         AlertDialog.Builder builder = new AlertDialog.Builder(this);\r
81                         builder.setMessage("The selected simulation does not have saved data.");\r
82                         builder.setCancelable(true);\r
83                         builder.show();\r
84                         return;\r
85                 }\r
86                 \r
87                 View sidepane = findViewById(R.id.sidepane);\r
88                 if ( /* if multi pane */ sidepane != null ) {\r
89                         SimulationChart chart = new SimulationChart(simulationId);\r
90 \r
91                         Fragment graph = SimulationFragment.newInstance(chart);\r
92 \r
93                         FragmentTransaction ft = getSupportFragmentManager().beginTransaction();\r
94                         ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);\r
95                         // probably only want to update back stack for first time.\r
96                         ft.addToBackStack("simulationplot");\r
97                         ft.replace(R.id.sidepane, graph);\r
98                         ft.show(graph);\r
99                         ft.commit();\r
100 \r
101 \r
102                 } else {\r
103                         Intent i = new Intent(this, SimulationViewActivity.class);\r
104                         i.putExtra("Simulation",simulationId);\r
105                         startActivity(i);\r
106                 }\r
107         }\r
108 \r
109         private class OpenRocketViewerPager extends FragmentPagerAdapter {\r
110 \r
111                 public OpenRocketViewerPager( FragmentManager fm ) {\r
112                         super(fm);\r
113                 }\r
114                 @Override\r
115                 public int getCount() {\r
116                         return 3;\r
117                 }\r
118                 @Override\r
119                 public Fragment getItem( int position ) {\r
120                         switch (position) {\r
121                         case 0:\r
122                                 return new Overview();\r
123                         case 1:\r
124                                 return new Component();\r
125                         case 2:\r
126                                 return new Simulations();\r
127                         }\r
128                         return null;\r
129                 }\r
130                 @Override\r
131                 public CharSequence getPageTitle(int position) {\r
132                         switch (position) {\r
133                         case 0:\r
134                                 return "Overview";\r
135                         case 1:\r
136                                 return "Components";\r
137                         case 2:\r
138                                 return "Simulations";\r
139                         }\r
140                         return null;\r
141                 }\r
142         }\r
143 \r
144 }\r