[7849] | 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 | }
|
---|