ILIAS  Release_4_2_x_branch Revision 61807
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilChartData.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
12 {
13  protected $type; // [string]
14  protected $label; // [string]
15  protected $data; // [array]
16  protected $line_width; // [int]
17  protected $bar_width; // [float] bar
18  protected $bar_align; // [string] bar
19  protected $bar_horizontal; // [bool] bar
20  protected $radius; // [int] points
21  protected $steps; // [bool] lines
22  protected $fill; // [float]
23  protected $fill_color; // [color/gradient]
24  protected $hidden; // [bool]
25 
31  public function __construct($a_type)
32  {
33  $this->setType($a_type);
34  }
35 
41  public function setType($a_value)
42  {
43  if($this->isValidType($a_value))
44  {
45  $this->type = (string)$a_value;
46  }
47  }
48 
54  public function getType()
55  {
56  return $this->type;
57  }
58 
64  public function setHidden($a_value)
65  {
66  $this->hidden = (bool)$a_value;
67  }
68 
74  public function isHidden()
75  {
76  return $this->hidden;
77  }
78 
85  public function isValidType($a_value)
86  {
87  $all = array("lines", "bars", "points", "pie");
88  if(in_array((string)$a_value, $all))
89  {
90  return true;
91  }
92  return false;
93  }
94 
100  public function setLabel($a_value)
101  {
102  $this->label = (string)$a_value;
103  }
104 
110  public function getLabel()
111  {
112  return $this->label;
113  }
114 
121  public function addPoint($a_x, $a_y = null)
122  {
123  if($a_y !== null)
124  {
125  $this->data[] = array($a_x, $a_y);
126  }
127  else
128  {
129  $this->data[] = $a_x;
130  }
131  }
132 
138  public function getData()
139  {
140  return $this->data;
141  }
142 
148  public function setLineWidth($a_value)
149  {
150  $this->line_width = (int)$a_value;
151  }
152 
158  public function getLineWidth()
159  {
160  return $this->line_width;
161  }
162 
168  public function setLineSteps($a_value)
169  {
170  $this->steps = (bool)$a_value;
171  }
172 
178  public function getLineSteps()
179  {
180  return $this->steps;
181  }
182 
190  public function setBarOptions($a_width, $a_align = "center", $a_horizontal = false)
191  {
192  $this->bar_width = (float)$a_width;
193  if(in_array((string)$a_align, array("center", "left")))
194  {
195  $this->bar_align = (string)$a_align;
196  }
197  $this->bar_horizontal = (bool)$a_horizontal;
198  }
199 
205  public function getBarOptions()
206  {
207  return array("width" => $this->bar_width,
208  "align" => $this->bar_align,
209  "horizontal" => $this->bar_horizontal);
210  }
211 
217  public function setPointRadius($a_value)
218  {
219  $this->radius = (int)$a_value;
220  }
221 
227  public function getPointRadius()
228  {
229  return $this->radius;
230  }
231 
238  public function setFill($a_value, $a_color = null)
239  {
240  $this->fill = $a_value;
241  if(ilChart::isValidColor($a_color))
242  {
243  $this->fill_color = $a_color;
244  }
245  }
246 
252  public function getFill()
253  {
254  return array("fill"=>$this->fill, "color"=>$this->fill_color);
255  }
256 }
257 
258 ?>