1 | package 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 | }
|
---|