Project

General

Profile

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

examples / src / main / java / org / distorted / examples / TableOfContents.java @ 4f39a7d1

1
///////////////////////////////////////////////////////////////////////////////////////////////////
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
package org.distorted.examples;
21

    
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
import org.distorted.examples.monalisa.MonaLisaActivity;
38
import org.distorted.examples.sink.SinkActivity;
39
import org.distorted.examples.projection.ProjectionActivity;
40
import org.distorted.examples.deform.DeformActivity;
41
import org.distorted.examples.listener.ListenerActivity;
42
import org.distorted.examples.dynamic.DynamicActivity;
43
import org.distorted.examples.girl.GirlActivity;
44
import org.distorted.examples.catanddog.CatAndDogActivity;
45
import org.distorted.examples.movingeffects.MovingEffectsActivity;
46
import org.distorted.examples.olimpic.OlimpicActivity;
47
import org.distorted.examples.differenteffects.DifferentEffectsActivity;
48
import org.distorted.examples.differentbitmaps.DifferentBitmapsActivity;
49
import org.distorted.examples.effectqueue.EffectQueueActivity;
50
import org.distorted.examples.check.CheckActivity;
51
import org.distorted.examples.bean.BeanActivity;
52
import org.distorted.examples.bitmaptree.BitmapTreeActivity;
53
import org.distorted.examples.starwars.StarWarsActivity;
54
import org.distorted.examples.cubes.CubesActivity;
55
import org.distorted.examples.quaternion.QuaternionActivity;
56
import org.distorted.examples.matrix3d.Matrix3DActivity;
57
import org.distorted.examples.effects3d.Effects3DActivity;
58
import org.distorted.examples.plainmonalisa.PlainMonaLisaActivity;
59
import org.distorted.examples.save.SaveActivity;
60
import org.distorted.examples.flag.FlagActivity;
61
import org.distorted.examples.wind.WindActivity;
62
import org.distorted.examples.aroundtheworld.AroundTheWorldActivity;
63
import org.distorted.examples.mirror.MirrorActivity;
64
import org.distorted.examples.blur.BlurActivity;
65
import org.distorted.examples.multiblur.MultiblurActivity;
66
import org.distorted.examples.triblur.TriblurActivity;
67
import org.distorted.examples.transparency.TransparencyActivity;
68
import org.distorted.examples.postprocesstree.PostprocessTreeActivity;
69
import org.distorted.examples.stencil.StencilActivity;
70
import org.distorted.examples.glow.GlowActivity;
71
import org.distorted.examples.movingglow.MovingGlowActivity;
72
import org.distorted.examples.mali.MaliActivity;
73

    
74
///////////////////////////////////////////////////////////////////////////////////////////////////
75

    
76
public class TableOfContents extends ListActivity 
77
  {
78
  private static final String ITEM_IMAGE = "item_image";
79
  private static final String ITEM_TITLE = "item_title";
80
  private static final String ITEM_SUBTITLE = "item_subtitle"; 
81

    
82
///////////////////////////////////////////////////////////////////////////////////////////////////
83
   
84
  @Override
85
  public void onCreate(Bundle savedInstanceState) 
86
   {
87
   super.onCreate(savedInstanceState);
88
   setContentView(R.layout.table_of_contents);
89
      
90
   final List<Map<String, Object>> data = new ArrayList<>();
91
   final SparseArray<Class<? extends Activity>> activityMapping = new SparseArray<>();
92
      
93
   int i = 0;
94

    
95
   {
96
      final Map<String, Object> item = new HashMap<>();
97
      item.put(ITEM_IMAGE, R.drawable.icon_example_monalisa);
98
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_monalisa));
99
      item.put(ITEM_SUBTITLE, getText(R.string.example_monalisa_subtitle));
100
      data.add(item);
101
      activityMapping.put(i++, MonaLisaActivity.class);        
102
   }
103
      
104
   {
105
      final Map<String, Object> item = new HashMap<>();
106
      item.put(ITEM_IMAGE, R.drawable.icon_example_sink);
107
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_sink));
108
      item.put(ITEM_SUBTITLE, getText(R.string.example_sink_subtitle));
109
      data.add(item);
110
      activityMapping.put(i++, SinkActivity.class);
111
   }
112
   
113
   {
114
      final Map<String, Object> item = new HashMap<>();
115
      item.put(ITEM_IMAGE, R.drawable.icon_example_bean);
116
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_bean));
117
      item.put(ITEM_SUBTITLE, getText(R.string.example_bean_subtitle));
118
      data.add(item);
119
      activityMapping.put(i++, BeanActivity.class);
120
   }
121
   
122
   {
123
      final Map<String, Object> item = new HashMap<>();
124
      item.put(ITEM_IMAGE, R.drawable.icon_example_projection);
125
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_projection));
126
      item.put(ITEM_SUBTITLE, getText(R.string.example_projection_subtitle));
127
      data.add(item);
128
      activityMapping.put(i++, ProjectionActivity.class);
129
   }
130
         
131
   {
132
      final Map<String, Object> item = new HashMap<>();
133
      item.put(ITEM_IMAGE, R.drawable.icon_example_deform);
134
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_deform));
135
      item.put(ITEM_SUBTITLE, getText(R.string.example_deform_subtitle));
136
      data.add(item);
137
      activityMapping.put(i++, DeformActivity.class);
138
   }
139
  
140
   {
141
      final Map<String, Object> item = new HashMap<>();
142
      item.put(ITEM_IMAGE, R.drawable.icon_example_listener);
143
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_listener));
144
      item.put(ITEM_SUBTITLE, getText(R.string.example_listener_subtitle));
145
      data.add(item);
146
      activityMapping.put(i++, ListenerActivity.class);
147
   }
148
   
149
   {
150
      final Map<String, Object> item = new HashMap<>();
151
      item.put(ITEM_IMAGE, R.drawable.icon_example_dynamic);
152
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_dynamic));
153
      item.put(ITEM_SUBTITLE, getText(R.string.example_dynamic_subtitle));
154
      data.add(item);
155
      activityMapping.put(i++, DynamicActivity.class);
156
   }
157
   
158
   {
159
      final Map<String, Object> item = new HashMap<>();
160
      item.put(ITEM_IMAGE, R.drawable.icon_example_girl);
161
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_girl));
162
      item.put(ITEM_SUBTITLE, getText(R.string.example_girl_subtitle));
163
      data.add(item);
164
      activityMapping.put(i++, GirlActivity.class);
165
   }
166
   
167
   {
168
      final Map<String, Object> item = new HashMap<>();
169
      item.put(ITEM_IMAGE, R.drawable.icon_example_macroblock);
170
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_macroblock));
171
      item.put(ITEM_SUBTITLE, getText(R.string.example_macroblock_subtitle));
172
      data.add(item);
173
      activityMapping.put(i++, CatAndDogActivity.class);
174
   }
175
   
176
   {
177
      final Map<String, Object> item = new HashMap<>();
178
      item.put(ITEM_IMAGE, R.drawable.icon_example_movingeffects);
179
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_movingeffects));
180
      item.put(ITEM_SUBTITLE, getText(R.string.example_movingeffects_subtitle));
181
      data.add(item);
182
      activityMapping.put(i++, MovingEffectsActivity.class);
183
   }
184
   
185
   {
186
      final Map<String, Object> item = new HashMap<>();
187
      item.put(ITEM_IMAGE, R.drawable.icon_example_differenteffects);
188
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_differenteffects));
189
      item.put(ITEM_SUBTITLE, getText(R.string.example_differenteffects_subtitle));
190
      data.add(item);
191
      activityMapping.put(i++, DifferentEffectsActivity.class);
192
   }
193
   
194
   {
195
      final Map<String, Object> item = new HashMap<>();
196
      item.put(ITEM_IMAGE, R.drawable.icon_example_differentbitmaps);
197
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_differentbitmaps));
198
      item.put(ITEM_SUBTITLE, getText(R.string.example_differentbitmaps_subtitle));
199
      data.add(item);
200
      activityMapping.put(i++, DifferentBitmapsActivity.class);
201
   }
202
   
203
   {
204
      final Map<String, Object> item = new HashMap<>();
205
      item.put(ITEM_IMAGE, R.drawable.icon_example_effectqueue);
206
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_effectqueue));
207
      item.put(ITEM_SUBTITLE, getText(R.string.example_effectqueue_subtitle));
208
      data.add(item);
209
      activityMapping.put(i++, EffectQueueActivity.class);
210
   }
211
   
212
   {
213
      final Map<String, Object> item = new HashMap<>();
214
      item.put(ITEM_IMAGE, R.drawable.icon_example_check);
215
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_check));
216
      item.put(ITEM_SUBTITLE, getText(R.string.example_check_subtitle));
217
      data.add(item);
218
      activityMapping.put(i++, CheckActivity.class);
219
   }
220
   
221
   {
222
      final Map<String, Object> item = new HashMap<>();
223
      item.put(ITEM_IMAGE, R.drawable.icon_example_fbo);
224
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_bitmaptree));
225
      item.put(ITEM_SUBTITLE, getText(R.string.example_bitmaptree_subtitle));
226
      data.add(item);
227
      activityMapping.put(i++, BitmapTreeActivity.class);
228
   }
229
      
230
   {
231
      final Map<String, Object> item = new HashMap<>();
232
      item.put(ITEM_IMAGE, R.drawable.icon_example_starwars);
233
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_starwars));
234
      item.put(ITEM_SUBTITLE, getText(R.string.example_starwars_subtitle));
235
      data.add(item);
236
      activityMapping.put(i++, StarWarsActivity.class);
237
   }
238
         
239
   {
240
      final Map<String, Object> item = new HashMap<>();
241
      item.put(ITEM_IMAGE, R.drawable.icon_example_olimpic);
242
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_olimpic));
243
      item.put(ITEM_SUBTITLE, getText(R.string.example_olimpic_subtitle));
244
      data.add(item);
245
      activityMapping.put(i++, OlimpicActivity.class);
246
   }
247
   
248
   {
249
      final Map<String, Object> item = new HashMap<>();
250
      item.put(ITEM_IMAGE, R.drawable.icon_example_quaternion);
251
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_quaternion));
252
      item.put(ITEM_SUBTITLE, getText(R.string.example_quaternion_subtitle));
253
      data.add(item);
254
      activityMapping.put(i++, QuaternionActivity.class);
255
   }
256
   
257
   {
258
      final Map<String, Object> item = new HashMap<>();
259
      item.put(ITEM_IMAGE, R.drawable.icon_example_cubes);
260
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_cubes));
261
      item.put(ITEM_SUBTITLE, getText(R.string.example_cubes_subtitle));
262
      data.add(item);
263
      activityMapping.put(i++, CubesActivity.class);
264
   }
265
   
266
   {
267
      final Map<String, Object> item = new HashMap<>();
268
      item.put(ITEM_IMAGE, R.drawable.icon_example_matrix3d);
269
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_matrix3d));
270
      item.put(ITEM_SUBTITLE, getText(R.string.example_matrix3d_subtitle));
271
      data.add(item);
272
      activityMapping.put(i++, Matrix3DActivity.class);
273
   }
274

    
275
   {
276
      final Map<String, Object> item = new HashMap<>();
277
      item.put(ITEM_IMAGE, R.drawable.icon_example_effects3d);
278
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_effects3d));
279
      item.put(ITEM_SUBTITLE, getText(R.string.example_effects3d_subtitle));
280
      data.add(item);
281
      activityMapping.put(i++, Effects3DActivity.class);
282
   }
283

    
284
   {
285
      final Map<String, Object> item = new HashMap<>();
286
      item.put(ITEM_IMAGE, R.drawable.icon_example_monalisa);
287
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_plainmonalisa));
288
      item.put(ITEM_SUBTITLE, getText(R.string.example_plainmonalisa_subtitle));
289
      data.add(item);
290
      activityMapping.put(i++, PlainMonaLisaActivity.class);
291
   }
292

    
293
   {
294
      final Map<String, Object> item = new HashMap<>();
295
      item.put(ITEM_IMAGE, R.drawable.icon_example_girl);
296
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_save));
297
      item.put(ITEM_SUBTITLE, getText(R.string.example_save_subtitle));
298
      data.add(item);
299
      activityMapping.put(i++, SaveActivity.class);
300
   }
301

    
302
   {
303
      final Map<String, Object> item = new HashMap<>();
304
      item.put(ITEM_IMAGE, R.drawable.icon_example_flag);
305
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_flag));
306
      item.put(ITEM_SUBTITLE, getText(R.string.example_flag_subtitle));
307
      data.add(item);
308
      activityMapping.put(i++, FlagActivity.class);
309
   }
310

    
311
   {
312
      final Map<String, Object> item = new HashMap<>();
313
      item.put(ITEM_IMAGE, R.drawable.icon_example_wind);
314
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_wind));
315
      item.put(ITEM_SUBTITLE, getText(R.string.example_wind_subtitle));
316
      data.add(item);
317
      activityMapping.put(i++, WindActivity.class);
318
   }
319

    
320
   {
321
      final Map<String, Object> item = new HashMap<>();
322
      item.put(ITEM_IMAGE, R.drawable.icon_example_aroundtheworld);
323
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_aroundtheworld));
324
      item.put(ITEM_SUBTITLE, getText(R.string.example_aroundtheworld_subtitle));
325
      data.add(item);
326
      activityMapping.put(i++, AroundTheWorldActivity.class);
327
   }
328

    
329
   {
330
      final Map<String, Object> item = new HashMap<>();
331
      item.put(ITEM_IMAGE, R.drawable.icon_example_mirror);
332
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_mirror));
333
      item.put(ITEM_SUBTITLE, getText(R.string.example_mirror_subtitle));
334
      data.add(item);
335
      activityMapping.put(i++, MirrorActivity.class);
336
   }
337

    
338
   {
339
      final Map<String, Object> item = new HashMap<>();
340
      item.put(ITEM_IMAGE, R.drawable.icon_example_blur);
341
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_blur));
342
      item.put(ITEM_SUBTITLE, getText(R.string.example_blur_subtitle));
343
      data.add(item);
344
      activityMapping.put(i++, BlurActivity.class);
345
   }
346

    
347
   {
348
      final Map<String, Object> item = new HashMap<>();
349
      item.put(ITEM_IMAGE, R.drawable.icon_example_multiblur);
350
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_multiblur));
351
      item.put(ITEM_SUBTITLE, getText(R.string.example_multiblur_subtitle));
352
      data.add(item);
353
      activityMapping.put(i++, MultiblurActivity.class);
354
   }
355

    
356
   {
357
      final Map<String, Object> item = new HashMap<>();
358
      item.put(ITEM_IMAGE, R.drawable.icon_example_triblur);
359
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_triblur));
360
      item.put(ITEM_SUBTITLE, getText(R.string.example_triblur_subtitle));
361
      data.add(item);
362
      activityMapping.put(i++, TriblurActivity.class);
363
   }
364

    
365
   {
366
      final Map<String, Object> item = new HashMap<>();
367
      item.put(ITEM_IMAGE, R.drawable.icon_example_transparency);
368
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_transparency));
369
      item.put(ITEM_SUBTITLE, getText(R.string.example_transparency_subtitle));
370
      data.add(item);
371
      activityMapping.put(i++, TransparencyActivity.class);
372
   }
373

    
374
   {
375
      final Map<String, Object> item = new HashMap<>();
376
      item.put(ITEM_IMAGE, R.drawable.icon_example_postprocesstree);
377
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_postprocesstree));
378
      item.put(ITEM_SUBTITLE, getText(R.string.example_postprocesstree_subtitle));
379
      data.add(item);
380
      activityMapping.put(i++, PostprocessTreeActivity.class);
381
   }
382

    
383
   {
384
      final Map<String, Object> item = new HashMap<>();
385
      item.put(ITEM_IMAGE, R.drawable.icon_example_stencil);
386
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_stencil));
387
      item.put(ITEM_SUBTITLE, getText(R.string.example_stencil_subtitle));
388
      data.add(item);
389
      activityMapping.put(i++, StencilActivity.class);
390
   }
391

    
392
   {
393
      final Map<String, Object> item = new HashMap<>();
394
      item.put(ITEM_IMAGE, R.drawable.icon_example_wip);
395
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_glow));
396
      item.put(ITEM_SUBTITLE, getText(R.string.example_glow_subtitle));
397
      data.add(item);
398
      activityMapping.put(i++, GlowActivity.class);
399
   }
400

    
401
   {
402
      final Map<String, Object> item = new HashMap<>();
403
      item.put(ITEM_IMAGE, R.drawable.icon_example_wip);
404
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_moving_glow));
405
      item.put(ITEM_SUBTITLE, getText(R.string.example_moving_glow_subtitle));
406
      data.add(item);
407
      activityMapping.put(i++, MovingGlowActivity.class);
408
   }
409

    
410
   {
411
      final Map<String, Object> item = new HashMap<>();
412
      item.put(ITEM_IMAGE, R.drawable.icon_example_wip);
413
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_mali));
414
      item.put(ITEM_SUBTITLE, getText(R.string.example_mali_subtitle));
415
      data.add(item);
416
      activityMapping.put(i++, MaliActivity.class);
417
   }
418

    
419
   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});
420
   setListAdapter(dataAdapter);  
421
      
422
   getListView().setOnItemClickListener(new OnItemClickListener() 
423
     {
424
     @Override
425
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
426
      {
427
      final Class<? extends Activity> activityToLaunch = activityMapping.get(position);
428
            
429
      if (activityToLaunch != null)
430
        {
431
        final Intent launchIntent = new Intent(TableOfContents.this, activityToLaunch);
432
        startActivity(launchIntent);
433
        }            
434
      }
435
     });
436
   }  
437
  }
438

    
439
///////////////////////////////////////////////////////////////////////////////////////////////////
    (1-1/1)