Project

General

Profile

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

examples / src / main / java / org / distorted / examples / TableOfContents.java @ f338550a

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

    
67
///////////////////////////////////////////////////////////////////////////////////////////////////
68

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

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

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

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

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

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

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

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

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

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

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

    
349
   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});
350
   setListAdapter(dataAdapter);  
351
      
352
   getListView().setOnItemClickListener(new OnItemClickListener() 
353
     {
354
     @Override
355
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
356
      {
357
      final Class<? extends Activity> activityToLaunch = activityMapping.get(position);
358
            
359
      if (activityToLaunch != null)
360
        {
361
        final Intent launchIntent = new Intent(TableOfContents.this, activityToLaunch);
362
        startActivity(launchIntent);
363
        }            
364
      }
365
     });
366
   }  
367
  }
368

    
369
///////////////////////////////////////////////////////////////////////////////////////////////////
    (1-1/1)