Project

General

Profile

Download (15.2 KB) Statistics
| Branch: | Revision:

examples / src / main / java / org / distorted / examples / TableOfContents.java @ 43bda3db

1 bc0a685b Leszek Koltunski
///////////////////////////////////////////////////////////////////////////////////////////////////
2
// Copyright 2016 Leszek Koltunski                                                               //
3
//                                                                                               //
4
// This file is part of Distorted.                                                               //
5
//                                                                                               //
6
// Distorted is free software: you can redistribute it and/or modify                             //
7
// it under the terms of the GNU General Public License as published by                          //
8
// the Free Software Foundation, either version 2 of the License, or                             //
9
// (at your option) any later version.                                                           //
10
//                                                                                               //
11
// Distorted is distributed in the hope that it will be useful,                                  //
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
14
// GNU General Public License for more details.                                                  //
15
//                                                                                               //
16
// You should have received a copy of the GNU General Public License                             //
17
// along with Distorted.  If not, see <http://www.gnu.org/licenses/>.                            //
18
///////////////////////////////////////////////////////////////////////////////////////////////////
19
20 5068fa06 Leszek Koltunski
package org.distorted.examples;
21 427ab7bf Leszek Koltunski
22
import java.util.ArrayList;
23
import java.util.HashMap;
24
import java.util.List;
25
import java.util.Map;
26
27
import android.app.Activity;
28
import android.app.ListActivity;
29
import android.content.Intent;
30
import android.os.Bundle;
31
import android.util.SparseArray;
32
import android.view.View;
33
import android.widget.AdapterView;
34
import android.widget.AdapterView.OnItemClickListener;
35
import android.widget.SimpleAdapter;
36
37 7ba38011 Leszek Koltunski
import org.distorted.examples.aroundtheworld.AroundTheWorldActivity;
38 5068fa06 Leszek Koltunski
import org.distorted.examples.monalisa.MonaLisaActivity;
39
import org.distorted.examples.sink.SinkActivity;
40 10d53839 Leszek Koltunski
import org.distorted.examples.projection.ProjectionActivity;
41 5068fa06 Leszek Koltunski
import org.distorted.examples.deform.DeformActivity;
42
import org.distorted.examples.listener.ListenerActivity;
43 f988589e Leszek Koltunski
import org.distorted.examples.dynamic.DynamicActivity;
44 5068fa06 Leszek Koltunski
import org.distorted.examples.girl.GirlActivity;
45 f26ab2fd Leszek Koltunski
import org.distorted.examples.catanddog.CatAndDogActivity;
46 5068fa06 Leszek Koltunski
import org.distorted.examples.movingeffects.MovingEffectsActivity;
47
import org.distorted.examples.olimpic.OlimpicActivity;
48
import org.distorted.examples.differenteffects.DifferentEffectsActivity;
49
import org.distorted.examples.differentbitmaps.DifferentBitmapsActivity;
50 758303a3 Leszek Koltunski
import org.distorted.examples.effectqueue.EffectQueueActivity;
51 5068fa06 Leszek Koltunski
import org.distorted.examples.check.CheckActivity;
52
import org.distorted.examples.bean.BeanActivity;
53
import org.distorted.examples.fbo.FBOActivity;
54
import org.distorted.examples.starwars.StarWarsActivity;
55
import org.distorted.examples.cubes.CubesActivity;
56
import org.distorted.examples.quaternion.QuaternionActivity;
57 db5d943e Leszek Koltunski
import org.distorted.examples.matrix3d.Matrix3DActivity;
58 76a81b6a Leszek Koltunski
import org.distorted.examples.effects3d.Effects3DActivity;
59 862fcd79 Leszek Koltunski
import org.distorted.examples.plainmonalisa.PlainMonaLisaActivity;
60 a2cb31e9 Leszek Koltunski
import org.distorted.examples.save.SaveActivity;
61 175f355d Leszek Koltunski
import org.distorted.examples.flag.FlagActivity;
62 14122c52 Leszek Koltunski
import org.distorted.examples.wind.WindActivity;
63 03a2fd30 Leszek Koltunski
import org.distorted.examples.mirror.MirrorActivity;
64 43bda3db Leszek Koltunski
import org.distorted.examples.blur.BlurActivity;
65 427ab7bf Leszek Koltunski
66
///////////////////////////////////////////////////////////////////////////////////////////////////
67
68
public class TableOfContents extends ListActivity 
69
  {
70
  private static final String ITEM_IMAGE = "item_image";
71
  private static final String ITEM_TITLE = "item_title";
72
  private static final String ITEM_SUBTITLE = "item_subtitle"; 
73
74
///////////////////////////////////////////////////////////////////////////////////////////////////
75
   
76
  @Override
77
  public void onCreate(Bundle savedInstanceState) 
78
   {
79
   super.onCreate(savedInstanceState);
80
   setContentView(R.layout.table_of_contents);
81
      
82 a2cb31e9 Leszek Koltunski
   final List<Map<String, Object>> data = new ArrayList<>();
83
   final SparseArray<Class<? extends Activity>> activityMapping = new SparseArray<>();
84 427ab7bf Leszek Koltunski
      
85
   int i = 0;
86
   
87
   {
88 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
89 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_monalisa);
90
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_monalisa));
91
      item.put(ITEM_SUBTITLE, getText(R.string.example_monalisa_subtitle));
92
      data.add(item);
93
      activityMapping.put(i++, MonaLisaActivity.class);        
94
   }
95
      
96
   {
97 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
98 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_sink);
99
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_sink));
100
      item.put(ITEM_SUBTITLE, getText(R.string.example_sink_subtitle));
101
      data.add(item);
102
      activityMapping.put(i++, SinkActivity.class);
103
   }
104
   
105
   {
106 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
107 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_bean);
108
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_bean));
109
      item.put(ITEM_SUBTITLE, getText(R.string.example_bean_subtitle));
110
      data.add(item);
111
      activityMapping.put(i++, BeanActivity.class);
112
   }
113
   
114
   {
115 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
116 10d53839 Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_projection);
117
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_projection));
118
      item.put(ITEM_SUBTITLE, getText(R.string.example_projection_subtitle));
119 427ab7bf Leszek Koltunski
      data.add(item);
120 10d53839 Leszek Koltunski
      activityMapping.put(i++, ProjectionActivity.class);
121 427ab7bf Leszek Koltunski
   }
122
         
123
   {
124 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
125 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_deform);
126
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_deform));
127
      item.put(ITEM_SUBTITLE, getText(R.string.example_deform_subtitle));
128
      data.add(item);
129
      activityMapping.put(i++, DeformActivity.class);
130
   }
131
  
132
   {
133 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
134 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_listener);
135
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_listener));
136
      item.put(ITEM_SUBTITLE, getText(R.string.example_listener_subtitle));
137
      data.add(item);
138
      activityMapping.put(i++, ListenerActivity.class);
139
   }
140
   
141
   {
142 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
143 f988589e Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_dynamic);
144
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_dynamic));
145
      item.put(ITEM_SUBTITLE, getText(R.string.example_dynamic_subtitle));
146 427ab7bf Leszek Koltunski
      data.add(item);
147 f988589e Leszek Koltunski
      activityMapping.put(i++, DynamicActivity.class);
148 427ab7bf Leszek Koltunski
   }
149
   
150
   {
151 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
152 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_girl);
153
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_girl));
154
      item.put(ITEM_SUBTITLE, getText(R.string.example_girl_subtitle));
155
      data.add(item);
156
      activityMapping.put(i++, GirlActivity.class);
157
   }
158
   
159
   {
160 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
161 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_macroblock);
162
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_macroblock));
163
      item.put(ITEM_SUBTITLE, getText(R.string.example_macroblock_subtitle));
164
      data.add(item);
165 f26ab2fd Leszek Koltunski
      activityMapping.put(i++, CatAndDogActivity.class);
166 427ab7bf Leszek Koltunski
   }
167
   
168
   {
169 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
170 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_movingeffects);
171
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_movingeffects));
172
      item.put(ITEM_SUBTITLE, getText(R.string.example_movingeffects_subtitle));
173
      data.add(item);
174
      activityMapping.put(i++, MovingEffectsActivity.class);
175
   }
176
   
177
   {
178 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
179 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_differenteffects);
180
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_differenteffects));
181
      item.put(ITEM_SUBTITLE, getText(R.string.example_differenteffects_subtitle));
182
      data.add(item);
183
      activityMapping.put(i++, DifferentEffectsActivity.class);
184
   }
185
   
186
   {
187 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
188 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_differentbitmaps);
189
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_differentbitmaps));
190
      item.put(ITEM_SUBTITLE, getText(R.string.example_differentbitmaps_subtitle));
191
      data.add(item);
192
      activityMapping.put(i++, DifferentBitmapsActivity.class);
193
   }
194
   
195
   {
196 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
197 758303a3 Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_effectqueue);
198
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_effectqueue));
199
      item.put(ITEM_SUBTITLE, getText(R.string.example_effectqueue_subtitle));
200 427ab7bf Leszek Koltunski
      data.add(item);
201 758303a3 Leszek Koltunski
      activityMapping.put(i++, EffectQueueActivity.class);
202 427ab7bf Leszek Koltunski
   }
203
   
204
   {
205 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
206 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_check);
207
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_check));
208
      item.put(ITEM_SUBTITLE, getText(R.string.example_check_subtitle));
209
      data.add(item);
210
      activityMapping.put(i++, CheckActivity.class);
211
   }
212
   
213
   {
214 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
215 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_fbo);
216
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_fbo));
217
      item.put(ITEM_SUBTITLE, getText(R.string.example_fbo_subtitle));
218
      data.add(item);
219
      activityMapping.put(i++, FBOActivity.class);
220
   }
221
      
222
   {
223 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
224 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_starwars);
225
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_starwars));
226
      item.put(ITEM_SUBTITLE, getText(R.string.example_starwars_subtitle));
227
      data.add(item);
228
      activityMapping.put(i++, StarWarsActivity.class);
229
   }
230
         
231
   {
232 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
233 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_olimpic);
234
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_olimpic));
235
      item.put(ITEM_SUBTITLE, getText(R.string.example_olimpic_subtitle));
236
      data.add(item);
237
      activityMapping.put(i++, OlimpicActivity.class);
238
   }
239
   
240
   {
241 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
242 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_quaternion);
243
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_quaternion));
244
      item.put(ITEM_SUBTITLE, getText(R.string.example_quaternion_subtitle));
245
      data.add(item);
246
      activityMapping.put(i++, QuaternionActivity.class);
247
   }
248
   
249
   {
250 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
251 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_cubes);
252
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_cubes));
253
      item.put(ITEM_SUBTITLE, getText(R.string.example_cubes_subtitle));
254
      data.add(item);
255
      activityMapping.put(i++, CubesActivity.class);
256
   }
257
   
258
   {
259 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
260 db5d943e Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_matrix3d);
261
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_matrix3d));
262
      item.put(ITEM_SUBTITLE, getText(R.string.example_matrix3d_subtitle));
263 427ab7bf Leszek Koltunski
      data.add(item);
264 db5d943e Leszek Koltunski
      activityMapping.put(i++, Matrix3DActivity.class);
265 427ab7bf Leszek Koltunski
   }
266 862fcd79 Leszek Koltunski
267 08f92d82 Leszek Koltunski
   {
268
      final Map<String, Object> item = new HashMap<>();
269 76a81b6a Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_effects3d);
270
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_effects3d));
271
      item.put(ITEM_SUBTITLE, getText(R.string.example_effects3d_subtitle));
272 08f92d82 Leszek Koltunski
      data.add(item);
273 76a81b6a Leszek Koltunski
      activityMapping.put(i++, Effects3DActivity.class);
274 df77c72c Leszek Koltunski
   }
275
276 862fcd79 Leszek Koltunski
   {
277 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
278 862fcd79 Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_monalisa);
279
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_plainmonalisa));
280
      item.put(ITEM_SUBTITLE, getText(R.string.example_plainmonalisa_subtitle));
281
      data.add(item);
282
      activityMapping.put(i++, PlainMonaLisaActivity.class);
283
   }
284 a2cb31e9 Leszek Koltunski
285
   {
286
      final Map<String, Object> item = new HashMap<>();
287
      item.put(ITEM_IMAGE, R.drawable.icon_example_girl);
288
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_save));
289
      item.put(ITEM_SUBTITLE, getText(R.string.example_save_subtitle));
290
      data.add(item);
291
      activityMapping.put(i++, SaveActivity.class);
292
   }
293
294 175f355d Leszek Koltunski
   {
295
      final Map<String, Object> item = new HashMap<>();
296
      item.put(ITEM_IMAGE, R.drawable.icon_example_flag);
297
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_flag));
298
      item.put(ITEM_SUBTITLE, getText(R.string.example_flag_subtitle));
299
      data.add(item);
300
      activityMapping.put(i++, FlagActivity.class);
301
   }
302
303 14122c52 Leszek Koltunski
   {
304
      final Map<String, Object> item = new HashMap<>();
305
      item.put(ITEM_IMAGE, R.drawable.icon_example_wind);
306
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_wind));
307
      item.put(ITEM_SUBTITLE, getText(R.string.example_wind_subtitle));
308
      data.add(item);
309
      activityMapping.put(i++, WindActivity.class);
310
   }
311
312 7ba38011 Leszek Koltunski
   {
313
      final Map<String, Object> item = new HashMap<>();
314
      item.put(ITEM_IMAGE, R.drawable.icon_example_aroundtheworld);
315
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_aroundtheworld));
316
      item.put(ITEM_SUBTITLE, getText(R.string.example_aroundtheworld_subtitle));
317
      data.add(item);
318
      activityMapping.put(i++, AroundTheWorldActivity.class);
319
   }
320
321 03a2fd30 Leszek Koltunski
   {
322
      final Map<String, Object> item = new HashMap<>();
323
      item.put(ITEM_IMAGE, R.drawable.icon_example_mirror);
324
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_mirror));
325
      item.put(ITEM_SUBTITLE, getText(R.string.example_mirror_subtitle));
326
      data.add(item);
327
      activityMapping.put(i++, MirrorActivity.class);
328
   }
329
330 43bda3db Leszek Koltunski
   {
331
      final Map<String, Object> item = new HashMap<>();
332
      item.put(ITEM_IMAGE, R.drawable.icon_example_blur);
333
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_blur));
334
      item.put(ITEM_SUBTITLE, getText(R.string.example_blur_subtitle));
335
      data.add(item);
336
      activityMapping.put(i++, BlurActivity.class);
337
   }
338
339 427ab7bf Leszek Koltunski
   final SimpleAdapter dataAdapter = new SimpleAdapter(this, data, R.layout.toc_item, new String[] {ITEM_IMAGE, ITEM_TITLE, ITEM_SUBTITLE}, new int[] {R.id.Image, R.id.Title, R.id.SubTitle});
340
   setListAdapter(dataAdapter);  
341
      
342
   getListView().setOnItemClickListener(new OnItemClickListener() 
343
     {
344
     @Override
345
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
346
      {
347
      final Class<? extends Activity> activityToLaunch = activityMapping.get(position);
348
            
349
      if (activityToLaunch != null)
350
        {
351
        final Intent launchIntent = new Intent(TableOfContents.this, activityToLaunch);
352
        startActivity(launchIntent);
353
        }            
354
      }
355
     });
356
   }  
357
  }
358
359
///////////////////////////////////////////////////////////////////////////////////////////////////