3
class GRAPHAxes implements Iterator {
6
var $axes; // Already created axes
6
var $default_axis; // Default axis
7
var $axes; // Already created axes
8
var $aids; // Sequence of axis ids
8
11
function __construct(REQUEST $props = NULL) {
9
12
if ($props) $this->req = $props;
10
13
else $this->req = new REQUEST();
15
$this->default_axis = false;
12
16
$this->axes = array();
15
function GetAxis($aid) {
16
if (isset($this->axes[$aid])) {
17
return $this->axes[$aid];
19
$axis = new GRAPHAxis($this->req->props, $aid);
21
get information from req
17
$this->aids = array();
20
function GetAxis($aid = false) {
21
if ((!$aid)&&($aid !== 0)) {
22
if (!$this->default_axis) {
23
$this->default_axis = new GRAPHAxis($this->req->props);
25
return $this->default_axis;
27
if (isset($this->axes[$aid])) {
28
return $this->axes[$aid];
30
$axis = new GRAPHAxis($this->req->props, $aid);
32
$this->axes[$aid] = $axis;
39
if ($this->default_axis) return array_merge($this->aids, false);
43
function ListCustomAxes() {
47
function GetAxesNumber() {
48
if ($this->default_axis) return sizeof($this->aids) + 1;
49
return sizeof($this->aids);
53
if ($this->default_axis) $this->cur = 0;
58
return ((!$this->cur)||(isset($this->aids[$this->cur-1])));
63
return $this->axes[$this->aids[$this->cur - 1]];
65
return $this->default_axis;
70
if ($this->default_axis) return $this->cur;
71
else return $this->cur - 1;
79
function Enumerate() {
80
if ($this->default_axis) {
81
$num = sizeof($this->aids) + 1;
83
$num = sizeof($this->aids);
87
foreach ($this as $axis) {
88
$axis->SetPosition($i++, $num);
92
function Normalize() {
93
/* DS: We could like to split default axis in order to prevent overfill
96
foreach ($this as $axis) {