Project

General

Profile

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

examples / src / main / java / org / distorted / examples / TableOfContents.java @ 0ab55f0c

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.fbo.FBOActivity;
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.feedback.FeedbackActivity;
67

    
68
///////////////////////////////////////////////////////////////////////////////////////////////////
69

    
70
public class TableOfContents extends ListActivity 
71
  {
72
  private static final String ITEM_IMAGE = "item_image";
73
  private static final String ITEM_TITLE = "item_title";
74
  private static final String ITEM_SUBTITLE = "item_subtitle"; 
75

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

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

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

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

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

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

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

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

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

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

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

    
350
   {
351
      final Map<String, Object> item = new HashMap<>();
352
      item.put(ITEM_IMAGE, R.drawable.icon_example_feedback);
353
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_feedback));
354
      item.put(ITEM_SUBTITLE, getText(R.string.example_feedback_subtitle));
355
      data.add(item);
356
      activityMapping.put(i++, FeedbackActivity.class);
357
   }
358

    
359
   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});
360
   setListAdapter(dataAdapter);  
361
      
362
   getListView().setOnItemClickListener(new OnItemClickListener() 
363
     {
364
     @Override
365
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
366
      {
367
      final Class<? extends Activity> activityToLaunch = activityMapping.get(position);
368
            
369
      if (activityToLaunch != null)
370
        {
371
        final Intent launchIntent = new Intent(TableOfContents.this, activityToLaunch);
372
        startActivity(launchIntent);
373
        }            
374
      }
375
     });
376
   }  
377
  }
378

    
379
///////////////////////////////////////////////////////////////////////////////////////////////////
    (1-1/1)