Subversion Repositories Applications.papyrus

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2150 mathias 1
if(!dojo._hasResource["dojox.charting.plot2d.Grid"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
2
dojo._hasResource["dojox.charting.plot2d.Grid"] = true;
3
dojo.provide("dojox.charting.plot2d.Grid");
4
 
5
dojo.require("dojox.charting.Element");
6
dojo.require("dojox.charting.plot2d.common");
7
dojo.require("dojox.lang.functional");
8
 
9
(function(){
10
	var du = dojox.lang.utils;
11
 
12
	dojo.declare("dojox.charting.plot2d.Grid", dojox.charting.Element, {
13
		defaultParams: {
14
			hAxis: "x",			// use a horizontal axis named "x"
15
			vAxis: "y",			// use a vertical axis named "y"
16
			hMajorLines: true,	// draw horizontal major lines
17
			hMinorLines: false,	// draw horizontal minor lines
18
			vMajorLines: true,	// draw vertical major lines
19
			vMinorLines: false,	// draw vertical minor lines
20
			hStripes: "none",	// TBD
21
			vStripes: "none"	// TBD
22
		},
23
		optionalParams: {},	// no optional parameters
24
 
25
		constructor: function(chart, kwArgs){
26
			this.opt = dojo.clone(this.defaultParams);
27
			du.updateWithObject(this.opt, kwArgs);
28
			this.hAxis = this.opt.hAxis;
29
			this.vAxis = this.opt.vAxis;
30
		},
31
		clear: function(){
32
			this._hAxis = null;
33
			this._vAxis = null;
34
			this.dirty = true;
35
			return this;
36
		},
37
		setAxis: function(axis){
38
			if(axis){
39
				this[axis.vertical ? "_vAxis" : "_hAxis"] = axis;
40
			}
41
			return this;
42
		},
43
		addSeries: function(run){
44
			// nothing
45
			return this;
46
		},
47
		calculateAxes: function(dim){
48
			// nothing
49
			return this;
50
		},
51
		getRequiredColors: function(){
52
			return 0;
53
		},
54
		render: function(dim, offsets){
55
			// draw horizontal stripes and lines
56
			if(!this.dirty){ return this; }
57
			this.cleanGroup();
58
			var s = this.group, ta = this.chart.theme.axis,
59
				scaler = this._vAxis.getScaler();
60
			if(this.opt.hMinorLines && scaler.minor.tick){
61
				for(var i = 0; i < scaler.minor.count; ++i){
62
					var y = dim.height - offsets.b - scaler.scale *
63
							(scaler.minor.start - scaler.bounds.lower + i * scaler.minor.tick);
64
					s.createLine({
65
						x1: offsets.l,
66
						y1: y,
67
						x2: dim.width - offsets.r,
68
						y2: y
69
					}).setStroke(ta.minorTick);
70
				}
71
			}
72
			if(this.opt.hMajorLines && scaler.major.tick){
73
				for(var i = 0; i < scaler.major.count; ++i){
74
					var y = dim.height - offsets.b - scaler.scale *
75
							(scaler.major.start - scaler.bounds.lower + i * scaler.major.tick);
76
					s.createLine({
77
						x1: offsets.l,
78
						y1: y,
79
						x2: dim.width - offsets.r,
80
						y2: y
81
					}).setStroke(ta.majorTick);
82
				}
83
			}
84
			// draw vertical stripes and lines
85
			scaler = this._hAxis.getScaler();
86
			if(this.opt.vMinorLines && scaler.minor.tick){
87
				for(var i = 0; i < scaler.minor.count; ++i){
88
					var x = offsets.l + scaler.scale *
89
							(scaler.minor.start - scaler.bounds.lower + i * scaler.minor.tick);
90
					s.createLine({
91
						x1: x,
92
						y1: offsets.t,
93
						x2: x,
94
						y2: dim.height - offsets.b
95
					}).setStroke(ta.minorTick);
96
				}
97
			}
98
			if(this.opt.vMajorLines && scaler.major.tick){
99
				for(var i = 0; i < scaler.major.count; ++i){
100
					var x = offsets.l + scaler.scale *
101
							(scaler.major.start - scaler.bounds.lower + i * scaler.major.tick);
102
					s.createLine({
103
						x1: x,
104
						y1: offsets.t,
105
						x2: x,
106
						y2: dim.height - offsets.b
107
					}).setStroke(ta.majorTick);
108
				}
109
			}
110
			this.dirty = false;
111
			return this;
112
		}
113
	});
114
})();
115
 
116
}