83114c3aacf38af8127d382979477cce072878e8
[debian/openrocket] / android-libraries / ActionBarSherlock / src / com / actionbarsherlock / app / SherlockListActivity.java
1 package com.actionbarsherlock.app;\r
2 \r
3 import android.app.ListActivity;\r
4 import android.content.res.Configuration;\r
5 import android.os.Bundle;\r
6 import android.view.KeyEvent;\r
7 import android.view.View;\r
8 import android.view.Window;\r
9 import android.view.ViewGroup.LayoutParams;\r
10 import com.actionbarsherlock.ActionBarSherlock;\r
11 import com.actionbarsherlock.ActionBarSherlock.OnActionModeFinishedListener;\r
12 import com.actionbarsherlock.ActionBarSherlock.OnActionModeStartedListener;\r
13 import com.actionbarsherlock.ActionBarSherlock.OnCreatePanelMenuListener;\r
14 import com.actionbarsherlock.ActionBarSherlock.OnMenuItemSelectedListener;\r
15 import com.actionbarsherlock.ActionBarSherlock.OnPreparePanelListener;\r
16 import com.actionbarsherlock.view.ActionMode;\r
17 import com.actionbarsherlock.view.Menu;\r
18 import com.actionbarsherlock.view.MenuInflater;\r
19 import com.actionbarsherlock.view.MenuItem;\r
20 \r
21 public abstract class SherlockListActivity extends ListActivity implements OnCreatePanelMenuListener, OnPreparePanelListener, OnMenuItemSelectedListener, OnActionModeStartedListener, OnActionModeFinishedListener {\r
22     private ActionBarSherlock mSherlock;\r
23 \r
24     protected final ActionBarSherlock getSherlock() {\r
25         if (mSherlock == null) {\r
26             mSherlock = ActionBarSherlock.wrap(this, ActionBarSherlock.FLAG_DELEGATE);\r
27         }\r
28         return mSherlock;\r
29     }\r
30 \r
31 \r
32     ///////////////////////////////////////////////////////////////////////////\r
33     // Action bar and mode\r
34     ///////////////////////////////////////////////////////////////////////////\r
35 \r
36     public ActionBar getSupportActionBar() {\r
37         return getSherlock().getActionBar();\r
38     }\r
39 \r
40     public ActionMode startActionMode(ActionMode.Callback callback) {\r
41         return getSherlock().startActionMode(callback);\r
42     }\r
43 \r
44     @Override\r
45     public void onActionModeStarted(ActionMode mode) {}\r
46 \r
47     @Override\r
48     public void onActionModeFinished(ActionMode mode) {}\r
49 \r
50 \r
51     ///////////////////////////////////////////////////////////////////////////\r
52     // General lifecycle/callback dispatching\r
53     ///////////////////////////////////////////////////////////////////////////\r
54 \r
55     @Override\r
56     public void onConfigurationChanged(Configuration newConfig) {\r
57         super.onConfigurationChanged(newConfig);\r
58         getSherlock().dispatchConfigurationChanged(newConfig);\r
59     }\r
60 \r
61     @Override\r
62     protected void onPostResume() {\r
63         super.onPostResume();\r
64         getSherlock().dispatchPostResume();\r
65     }\r
66 \r
67     @Override\r
68     protected void onPause() {\r
69         getSherlock().dispatchPause();\r
70         super.onPause();\r
71     }\r
72 \r
73     @Override\r
74     protected void onStop() {\r
75         getSherlock().dispatchStop();\r
76         super.onStop();\r
77     }\r
78 \r
79     @Override\r
80     protected void onPostCreate(Bundle savedInstanceState) {\r
81         getSherlock().dispatchPostCreate(savedInstanceState);\r
82         super.onPostCreate(savedInstanceState);\r
83     }\r
84 \r
85     @Override\r
86     protected void onTitleChanged(CharSequence title, int color) {\r
87         getSherlock().dispatchTitleChanged(title, color);\r
88         super.onTitleChanged(title, color);\r
89     }\r
90 \r
91     @Override\r
92     public final boolean onMenuOpened(int featureId, android.view.Menu menu) {\r
93         if (getSherlock().dispatchMenuOpened(featureId, menu)) {\r
94             return true;\r
95         }\r
96         return super.onMenuOpened(featureId, menu);\r
97     }\r
98 \r
99     @Override\r
100     public void onPanelClosed(int featureId, android.view.Menu menu) {\r
101         getSherlock().dispatchPanelClosed(featureId, menu);\r
102         super.onPanelClosed(featureId, menu);\r
103     }\r
104 \r
105     @Override\r
106     public boolean dispatchKeyEvent(KeyEvent event) {\r
107         if (getSherlock().dispatchKeyEvent(event)) {\r
108             return true;\r
109         }\r
110         return super.dispatchKeyEvent(event);\r
111     }\r
112 \r
113 \r
114     ///////////////////////////////////////////////////////////////////////////\r
115     // Native menu handling\r
116     ///////////////////////////////////////////////////////////////////////////\r
117 \r
118     public MenuInflater getSupportMenuInflater() {\r
119         return getSherlock().getMenuInflater();\r
120     }\r
121 \r
122     public void invalidateOptionsMenu() {\r
123         getSherlock().dispatchInvalidateOptionsMenu();\r
124     }\r
125 \r
126     public void supportInvalidateOptionsMenu() {\r
127         invalidateOptionsMenu();\r
128     }\r
129 \r
130     @Override\r
131     public final boolean onCreateOptionsMenu(android.view.Menu menu) {\r
132         return getSherlock().dispatchCreateOptionsMenu(menu);\r
133     }\r
134 \r
135     @Override\r
136     public final boolean onPrepareOptionsMenu(android.view.Menu menu) {\r
137         return getSherlock().dispatchPrepareOptionsMenu(menu);\r
138     }\r
139 \r
140     @Override\r
141     public final boolean onOptionsItemSelected(android.view.MenuItem item) {\r
142         return getSherlock().dispatchOptionsItemSelected(item);\r
143     }\r
144 \r
145     @Override\r
146     public void openOptionsMenu() {\r
147         if (!getSherlock().dispatchOpenOptionsMenu()) {\r
148             super.openOptionsMenu();\r
149         }\r
150     }\r
151 \r
152     @Override\r
153     public void closeOptionsMenu() {\r
154         if (!getSherlock().dispatchCloseOptionsMenu()) {\r
155             super.closeOptionsMenu();\r
156         }\r
157     }\r
158 \r
159 \r
160     ///////////////////////////////////////////////////////////////////////////\r
161     // Sherlock menu handling\r
162     ///////////////////////////////////////////////////////////////////////////\r
163 \r
164     @Override\r
165     public boolean onCreatePanelMenu(int featureId, Menu menu) {\r
166         if (featureId == Window.FEATURE_OPTIONS_PANEL) {\r
167             return onCreateOptionsMenu(menu);\r
168         }\r
169         return false;\r
170     }\r
171 \r
172     public boolean onCreateOptionsMenu(Menu menu) {\r
173         return true;\r
174     }\r
175 \r
176     @Override\r
177     public boolean onPreparePanel(int featureId, View view, Menu menu) {\r
178         if (featureId == Window.FEATURE_OPTIONS_PANEL) {\r
179             return onPrepareOptionsMenu(menu);\r
180         }\r
181         return false;\r
182     }\r
183 \r
184     public boolean onPrepareOptionsMenu(Menu menu) {\r
185         return true;\r
186     }\r
187 \r
188     @Override\r
189     public boolean onMenuItemSelected(int featureId, MenuItem item) {\r
190         if (featureId == Window.FEATURE_OPTIONS_PANEL) {\r
191             return onOptionsItemSelected(item);\r
192         }\r
193         return false;\r
194     }\r
195 \r
196     public boolean onOptionsItemSelected(MenuItem item) {\r
197         return false;\r
198     }\r
199 \r
200 \r
201     ///////////////////////////////////////////////////////////////////////////\r
202     // Content\r
203     ///////////////////////////////////////////////////////////////////////////\r
204 \r
205     @Override\r
206     public void addContentView(View view, LayoutParams params) {\r
207         getSherlock().addContentView(view, params);\r
208     }\r
209 \r
210     @Override\r
211     public void setContentView(int layoutResId) {\r
212         getSherlock().setContentView(layoutResId);\r
213     }\r
214 \r
215     @Override\r
216     public void setContentView(View view, LayoutParams params) {\r
217         getSherlock().setContentView(view, params);\r
218     }\r
219 \r
220     @Override\r
221     public void setContentView(View view) {\r
222         getSherlock().setContentView(view);\r
223     }\r
224 \r
225     public void requestWindowFeature(long featureId) {\r
226         getSherlock().requestFeature((int)featureId);\r
227     }\r
228 \r
229 \r
230     ///////////////////////////////////////////////////////////////////////////\r
231     // Progress Indication\r
232     ///////////////////////////////////////////////////////////////////////////\r
233 \r
234     public void setSupportProgress(int progress) {\r
235         getSherlock().setProgress(progress);\r
236     }\r
237 \r
238     public void setSupportProgressBarIndeterminate(boolean indeterminate) {\r
239         getSherlock().setProgressBarIndeterminate(indeterminate);\r
240     }\r
241 \r
242     public void setSupportProgressBarIndeterminateVisibility(boolean visible) {\r
243         getSherlock().setProgressBarIndeterminateVisibility(visible);\r
244     }\r
245 \r
246     public void setSupportProgressBarVisibility(boolean visible) {\r
247         getSherlock().setProgressBarVisibility(visible);\r
248     }\r
249 \r
250     public void setSupportSecondaryProgress(int secondaryProgress) {\r
251         getSherlock().setSecondaryProgress(secondaryProgress);\r
252     }\r
253 }\r