/usr/share/php/Icinga/Chart/Primitive/Styleable.php is in php-icinga 2.1.0-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | <?php
/* Icinga Web 2 | (c) 2013-2015 Icinga Development Team | GPLv2+ */
namespace Icinga\Chart\Primitive;
use DOMElement;
/**
* Base class for stylable drawables
*/
class Styleable
{
/**
* The stroke width to use
*
* @var int
*/
public $strokeWidth = 0;
/**
* The stroke color to use
*
* @var string
*/
public $strokeColor = '#000';
/**
* The fill color to use
*
* @var string
*/
public $fill = 'none';
/**
* Additional styles to be appended to the style attribute
*
* @var string
*/
public $additionalStyle = '';
/**
* The id of this element
*
* @var string
*/
public $id = null;
/**
* Additional attributes to be set
*
* @var array
*/
public $attributes = array();
/**
* Set the stroke width for this drawable
*
* @param string $width The stroke with with unit
*
* @return $this Fluid interface
*/
public function setStrokeWidth($width)
{
$this->strokeWidth = $width;
return $this;
}
/**
* Set the color for the stroke or none for no stroke
*
* @param string $color The color to set for the stroke
*
* @return $this Fluid interface
*/
public function setStrokeColor($color)
{
$this->strokeColor = $color ? $color : 'none';
return $this;
}
/**
* Set additional styles for this drawable
*
* @param string $styles The styles to set additionally
*
* @return $this Fluid interface
*/
public function setAdditionalStyle($styles)
{
$this->additionalStyle = $styles;
return $this;
}
/**
* Set the fill for this styleable
*
* @param string $color The color to use for filling or null to use no fill
*
* @return $this Fluid interface
*/
public function setFill($color = null)
{
$this->fill = $color ? $color : 'none';
return $this;
}
/**
* Set the id for this element
*
* @param string $id The id to set for this element
*
* @return $this Fluid interface
*/
public function setId($id)
{
$this->id = $id;
return $this;
}
/**
* Return the content of the style attribute as a string
*
* @return string A string containing styles
*/
public function getStyle()
{
$base = sprintf("fill: %s; stroke: %s;stroke-width: %s;", $this->fill, $this->strokeColor, $this->strokeWidth);
$base .= ';' . $this->additionalStyle . ';';
return $base;
}
/**
* Add an additional attribute to this element
*/
public function setAttribute($key, $value)
{
$this->attributes[$key] = $value;
}
/**
* Apply attribute to a DOMElement
*
* @param DOMElement $el Element to apply attributes
*/
protected function applyAttributes(DOMElement $el)
{
foreach ($this->attributes as $name => $value) {
$el->setAttribute($name, $value);
}
}
}
|