source: code/Website/open-flash-chart/charts/Factory.as

Last change on this file was 7849, checked in by dennisw, 15 years ago
File size: 4.2 KB
Line 
1package charts {
2 import com.serialization.json.JSON;
3
4 public class Factory
5 {
6 private var attach_right:Array;
7
8 public static function MakeChart( json:Object ) : ObjectCollection
9 {
10 var collection:ObjectCollection = new ObjectCollection();
11
12 // multiple bar charts all have the same X values, so
13 // they are grouped around each X value, this tells
14 // ScreenCoords how to group them:
15 var bar_group:Number = 0;
16 var name:String = '';
17 var c:Number=1;
18
19 var elements:Array = json['elements'] as Array;
20
21 for( var i:Number = 0; i < elements.length; i++ )
22 {
23 // tr.ace( elements[i]['type'] );
24
25 switch( elements[i]['type'] ) {
26 case 'bar' :
27 collection.add( new Bar( elements[i], bar_group ) );
28 bar_group++;
29 break;
30
31 case 'line':
32 collection.add( new Line( elements[i] ) );
33 break;
34
35 case 'area':
36 collection.add( new Area( elements[i] ) );
37 break;
38
39 case 'pie':
40 collection.add( new Pie( elements[i] ) );
41 break;
42
43 case 'hbar':
44 collection.add( new HBar( elements[i] ) );
45 bar_group++;
46 break;
47
48 case 'bar_stack':
49 collection.add( new BarStack( elements[i], c, bar_group ) );
50 bar_group++;
51 break;
52
53 case 'scatter':
54 collection.add( new Scatter( elements[i] ) );
55 break;
56
57 case 'scatter_line':
58 collection.add( new ScatterLine( elements[i] ) );
59 break;
60
61 case 'bar_sketch':
62 collection.add( new BarSketch( elements[i], bar_group ) );
63 bar_group++;
64 break;
65
66 case 'bar_glass':
67 collection.add( new BarGlass( elements[i], bar_group ) );
68 bar_group++;
69 break;
70
71 case 'bar_cylinder':
72 collection.add( new BarCylinder( elements[i], bar_group ) );
73 bar_group++;
74 break;
75
76 case 'bar_cylinder_outline':
77 collection.add( new BarCylinderOutline( elements[i], bar_group ) );
78 bar_group++;
79 break;
80
81 case 'bar_dome':
82 collection.add( new BarDome( elements[i], bar_group ) );
83 bar_group++;
84 break;
85
86 case 'bar_round':
87 collection.add( new BarRound( elements[i], bar_group ) );
88 bar_group++;
89 break;
90
91 case 'bar_round_glass':
92 collection.add( new BarRoundGlass( elements[i], bar_group ) );
93 bar_group++;
94 break;
95
96 case 'bar_round3d':
97 collection.add( new BarRound3D( elements[i], bar_group ) );
98 bar_group++;
99 break;
100
101 case 'bar_fade':
102 collection.add( new BarFade( elements[i], bar_group ) );
103 bar_group++;
104 break;
105
106 case 'bar_3d':
107 collection.add( new Bar3D( elements[i], bar_group ) );
108 bar_group++;
109 break;
110
111 case 'bar_filled':
112 collection.add( new BarOutline( elements[i], bar_group ) );
113 bar_group++;
114 break;
115
116 case 'bar_plastic':
117 collection.add( new BarPlastic( elements[i], bar_group ) );
118 bar_group++;
119 break;
120
121 case 'bar_plastic_flat':
122 collection.add( new BarPlasticFlat( elements[i], bar_group ) );
123 bar_group++;
124 break;
125
126 case 'shape':
127 collection.add( new Shape( elements[i] ) );
128 break;
129
130 case 'candle':
131 collection.add( new Candle( elements[i], bar_group ) );
132 bar_group++;
133 break;
134
135 case 'tags':
136 collection.add( new Tags( elements[i] ) );
137 break;
138
139 case 'arrow':
140 collection.add( new Arrow( elements[i] ) );
141 break;
142
143 }
144 }
145 /*
146
147
148 else if ( lv['candle' + name] != undefined )
149 {
150 ob = new BarCandle(lv, c, bar_group);
151 bar_group++;
152 }
153
154 */
155
156 var y2:Boolean = false;
157 var y2lines:Array;
158
159 //
160 // some data sets are attached to the right
161 // Y axis (and min max)
162 //
163// this.attach_right = new Array();
164
165// if( lv.show_y2 != undefined )
166// if( lv.show_y2 != 'false' )
167// if( lv.y2_lines != undefined )
168// {
169// this.attach_right = lv.y2_lines.split(",");
170// }
171
172 collection.groups = bar_group;
173 return collection;
174 }
175 }
176}
Note: See TracBrowser for help on using the repository browser.