Project

General

Profile

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

examples / src / main / java / org / distorted / examples / TableOfContents.java @ 80f37d1b

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.aroundtheworld.AroundTheWorldActivity;
38
import org.distorted.examples.monalisa.MonaLisaActivity;
39
import org.distorted.examples.sink.SinkActivity;
40
import org.distorted.examples.projection.ProjectionActivity;
41
import org.distorted.examples.deform.DeformActivity;
42
import org.distorted.examples.listener.ListenerActivity;
43
import org.distorted.examples.dynamic.DynamicActivity;
44
import org.distorted.examples.girl.GirlActivity;
45
import org.distorted.examples.catanddog.CatAndDogActivity;
46
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
import org.distorted.examples.effectqueue.EffectQueueActivity;
51
import org.distorted.examples.check.CheckActivity;
52
import org.distorted.examples.bean.BeanActivity;
53
import org.distorted.examples.bitmaptree.BitmapTreeActivity;
54
import org.distorted.examples.starwars.StarWarsActivity;
55
import org.distorted.examples.cubes.CubesActivity;
56
import org.distorted.examples.quaternion.QuaternionActivity;
57
import org.distorted.examples.matrix3d.Matrix3DActivity;
58
import org.distorted.examples.effects3d.Effects3DActivity;
59
import org.distorted.examples.plainmonalisa.PlainMonaLisaActivity;
60
import org.distorted.examples.save.SaveActivity;
61
import org.distorted.examples.flag.FlagActivity;
62
import org.distorted.examples.wind.WindActivity;
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.stencil.StencilActivity;
68
import org.distorted.examples.glow.GlowActivity;
69
import org.distorted.examples.movingglow.MovingGlowActivity;
70

    
71
///////////////////////////////////////////////////////////////////////////////////////////////////
72

    
73
public class TableOfContents extends ListActivity 
74
  {
75
  private static final String ITEM_IMAGE = "item_image";
76
  private static final String ITEM_TITLE = "item_title";
77
  private static final String ITEM_SUBTITLE = "item_subtitle"; 
78

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

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

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

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

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

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

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

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

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

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

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

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

    
362
   {
363
      final Map<String, Object> item = new HashMap<>();
364
      item.put(ITEM_IMAGE, R.drawable.icon_example_stencil);
365
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_stencil));
366
      item.put(ITEM_SUBTITLE, getText(R.string.example_stencil_subtitle));
367
      data.add(item);
368
      activityMapping.put(i++, StencilActivity.class);
369
   }
370

    
371
   {
372
      final Map<String, Object> item = new HashMap<>();
373
      item.put(ITEM_IMAGE, R.drawable.icon_example_glow);
374
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_glow));
375
      item.put(ITEM_SUBTITLE, getText(R.string.example_glow_subtitle));
376
      data.add(item);
377
      activityMapping.put(i++, GlowActivity.class);
378
   }
379

    
380
   {
381
      final Map<String, Object> item = new HashMap<>();
382
      item.put(ITEM_IMAGE, R.drawable.icon_example_movingglow);
383
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_moving_glow));
384
      item.put(ITEM_SUBTITLE, getText(R.string.example_moving_glow_subtitle));
385
      data.add(item);
386
      activityMapping.put(i++, MovingGlowActivity.class);
387
   }
388

    
389
   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});
390
   setListAdapter(dataAdapter);  
391
      
392
   getListView().setOnItemClickListener(new OnItemClickListener() 
393
     {
394
     @Override
395
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
396
      {
397
      final Class<? extends Activity> activityToLaunch = activityMapping.get(position);
398
            
399
      if (activityToLaunch != null)
400
        {
401
        final Intent launchIntent = new Intent(TableOfContents.this, activityToLaunch);
402
        startActivity(launchIntent);
403
        }            
404
      }
405
     });
406
   }  
407
  }
408

    
409
///////////////////////////////////////////////////////////////////////////////////////////////////
    (1-1/1)