Project

General

Profile

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

examples / src / main / java / org / distorted / examples / TableOfContents.java @ 08f92d82

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.fov.FOVActivity;
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.macroblock.MacroblockActivity;
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.effects2d.Effects2DActivity;
50
import org.distorted.examples.check.CheckActivity;
51
import org.distorted.examples.bean.BeanActivity;
52
import org.distorted.examples.fbo.FBOActivity;
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.vertex3d.Vertex3DActivity;
58
import org.distorted.examples.plainmonalisa.PlainMonaLisaActivity;
59
import org.distorted.examples.save.SaveActivity;
60

    
61
///////////////////////////////////////////////////////////////////////////////////////////////////
62

    
63
public class TableOfContents extends ListActivity 
64
  {
65
  private static final String ITEM_IMAGE = "item_image";
66
  private static final String ITEM_TITLE = "item_title";
67
  private static final String ITEM_SUBTITLE = "item_subtitle"; 
68

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

    
262
   {
263
      final Map<String, Object> item = new HashMap<>();
264
      item.put(ITEM_IMAGE, R.drawable.icon_example_vertex3d);
265
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_vertex3d));
266
      item.put(ITEM_SUBTITLE, getText(R.string.example_vertex3d_subtitle));
267
      data.add(item);
268
      activityMapping.put(i++, Vertex3DActivity.class);
269
   }
270

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

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

    
289
   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});
290
   setListAdapter(dataAdapter);  
291
      
292
   getListView().setOnItemClickListener(new OnItemClickListener() 
293
     {
294
     @Override
295
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
296
      {
297
      final Class<? extends Activity> activityToLaunch = activityMapping.get(position);
298
            
299
      if (activityToLaunch != null)
300
        {
301
        final Intent launchIntent = new Intent(TableOfContents.this, activityToLaunch);
302
        startActivity(launchIntent);
303
        }            
304
      }
305
     });
306
   }  
307
  }
308

    
309
///////////////////////////////////////////////////////////////////////////////////////////////////
    (1-1/1)