Subversion Repositories eFlore/Applications.cel

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2388 jpm 1
<?php
2
/**
3
 * PHPExcel
4
 *
5
 * Copyright (c) 2006 - 2013 PHPExcel
6
 *
7
 * This library is free software; you can redistribute it and/or
8
 * modify it under the terms of the GNU Lesser General Public
9
 * License as published by the Free Software Foundation; either
10
 * version 2.1 of the License, or (at your option) any later version.
11
 *
12
 * This library is distributed in the hope that it will be useful,
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15
 * Lesser General Public License for more details.
16
 *
17
 * You should have received a copy of the GNU Lesser General Public
18
 * License along with this library; if not, write to the Free Software
19
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
20
 *
21
 * @category   PHPExcel
22
 * @package    PHPExcel
23
 * @copyright  Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
24
 * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
25
 * @version    ##VERSION##, ##DATE##
26
 */
27
 
28
 
29
/**
30
 * PHPExcel_Comment
31
 *
32
 * @category   PHPExcel
33
 * @package    PHPExcel
34
 * @copyright  Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
35
 */
36
class PHPExcel_Comment implements PHPExcel_IComparable
37
{
38
    /**
39
     * Author
40
     *
41
     * @var string
42
     */
43
    private $_author;
44
 
45
    /**
46
     * Rich text comment
47
     *
48
     * @var PHPExcel_RichText
49
     */
50
    private $_text;
51
 
52
    /**
53
     * Comment width (CSS style, i.e. XXpx or YYpt)
54
     *
55
     * @var string
56
     */
57
    private $_width = '96pt';
58
 
59
    /**
60
     * Left margin (CSS style, i.e. XXpx or YYpt)
61
     *
62
     * @var string
63
     */
64
    private $_marginLeft = '59.25pt';
65
 
66
    /**
67
     * Top margin (CSS style, i.e. XXpx or YYpt)
68
     *
69
     * @var string
70
     */
71
    private $_marginTop = '1.5pt';
72
 
73
    /**
74
     * Visible
75
     *
76
     * @var boolean
77
     */
78
    private $_visible = false;
79
 
80
    /**
81
     * Comment height (CSS style, i.e. XXpx or YYpt)
82
     *
83
     * @var string
84
     */
85
    private $_height = '55.5pt';
86
 
87
    /**
88
     * Comment fill color
89
     *
90
     * @var PHPExcel_Style_Color
91
     */
92
    private $_fillColor;
93
 
94
    /**
95
     * Alignment
96
     *
97
     * @var string
98
     */
99
    private $_alignment;
100
 
101
    /**
102
     * Create a new PHPExcel_Comment
103
     *
104
     * @throws PHPExcel_Exception
105
     */
106
    public function __construct()
107
    {
108
        // Initialise variables
109
        $this->_author		= 'Author';
110
        $this->_text		= new PHPExcel_RichText();
111
        $this->_fillColor	= new PHPExcel_Style_Color('FFFFFFE1');
112
        $this->_alignment	= PHPExcel_Style_Alignment::HORIZONTAL_GENERAL;
113
    }
114
 
115
    /**
116
     * Get Author
117
     *
118
     * @return string
119
     */
120
    public function getAuthor() {
121
        return $this->_author;
122
    }
123
 
124
    /**
125
     * Set Author
126
     *
127
     * @param string $pValue
128
     * @return PHPExcel_Comment
129
     */
130
    public function setAuthor($pValue = '') {
131
        $this->_author = $pValue;
132
        return $this;
133
    }
134
 
135
    /**
136
     * Get Rich text comment
137
     *
138
     * @return PHPExcel_RichText
139
     */
140
    public function getText() {
141
        return $this->_text;
142
    }
143
 
144
    /**
145
     * Set Rich text comment
146
     *
147
     * @param PHPExcel_RichText $pValue
148
     * @return PHPExcel_Comment
149
     */
150
    public function setText(PHPExcel_RichText $pValue) {
151
        $this->_text = $pValue;
152
        return $this;
153
    }
154
 
155
    /**
156
     * Get comment width (CSS style, i.e. XXpx or YYpt)
157
     *
158
     * @return string
159
     */
160
    public function getWidth() {
161
        return $this->_width;
162
    }
163
 
164
    /**
165
     * Set comment width (CSS style, i.e. XXpx or YYpt)
166
     *
167
     * @param string $value
168
     * @return PHPExcel_Comment
169
     */
170
    public function setWidth($value = '96pt') {
171
        $this->_width = $value;
172
        return $this;
173
    }
174
 
175
    /**
176
     * Get comment height (CSS style, i.e. XXpx or YYpt)
177
     *
178
     * @return string
179
     */
180
    public function getHeight() {
181
        return $this->_height;
182
    }
183
 
184
    /**
185
     * Set comment height (CSS style, i.e. XXpx or YYpt)
186
     *
187
     * @param string $value
188
     * @return PHPExcel_Comment
189
     */
190
    public function setHeight($value = '55.5pt') {
191
        $this->_height = $value;
192
        return $this;
193
    }
194
 
195
    /**
196
     * Get left margin (CSS style, i.e. XXpx or YYpt)
197
     *
198
     * @return string
199
     */
200
    public function getMarginLeft() {
201
        return $this->_marginLeft;
202
    }
203
 
204
    /**
205
     * Set left margin (CSS style, i.e. XXpx or YYpt)
206
     *
207
     * @param string $value
208
     * @return PHPExcel_Comment
209
     */
210
    public function setMarginLeft($value = '59.25pt') {
211
        $this->_marginLeft = $value;
212
        return $this;
213
    }
214
 
215
    /**
216
     * Get top margin (CSS style, i.e. XXpx or YYpt)
217
     *
218
     * @return string
219
     */
220
    public function getMarginTop() {
221
        return $this->_marginTop;
222
    }
223
 
224
    /**
225
     * Set top margin (CSS style, i.e. XXpx or YYpt)
226
     *
227
     * @param string $value
228
     * @return PHPExcel_Comment
229
     */
230
    public function setMarginTop($value = '1.5pt') {
231
        $this->_marginTop = $value;
232
        return $this;
233
    }
234
 
235
    /**
236
     * Is the comment visible by default?
237
     *
238
     * @return boolean
239
     */
240
    public function getVisible() {
241
        return $this->_visible;
242
    }
243
 
244
    /**
245
     * Set comment default visibility
246
     *
247
     * @param boolean $value
248
     * @return PHPExcel_Comment
249
     */
250
    public function setVisible($value = false) {
251
        $this->_visible = $value;
252
        return $this;
253
    }
254
 
255
    /**
256
     * Get fill color
257
     *
258
     * @return PHPExcel_Style_Color
259
     */
260
    public function getFillColor() {
261
        return $this->_fillColor;
262
    }
263
 
264
    /**
265
     * Set Alignment
266
     *
267
     * @param string $pValue
268
     * @return PHPExcel_Comment
269
     */
270
    public function setAlignment($pValue = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL) {
271
        $this->_alignment = $pValue;
272
        return $this;
273
    }
274
 
275
    /**
276
     * Get Alignment
277
     *
278
     * @return string
279
     */
280
    public function getAlignment() {
281
        return $this->_alignment;
282
    }
283
 
284
    /**
285
     * Get hash code
286
     *
287
     * @return string    Hash code
288
     */
289
    public function getHashCode() {
290
        return md5(
291
              $this->_author
292
            . $this->_text->getHashCode()
293
            . $this->_width
294
            . $this->_height
295
            . $this->_marginLeft
296
            . $this->_marginTop
297
            . ($this->_visible ? 1 : 0)
298
            . $this->_fillColor->getHashCode()
299
            . $this->_alignment
300
            . __CLASS__
301
        );
302
    }
303
 
304
    /**
305
     * Implement PHP __clone to create a deep clone, not just a shallow copy.
306
     */
307
    public function __clone() {
308
        $vars = get_object_vars($this);
309
        foreach ($vars as $key => $value) {
310
            if (is_object($value)) {
311
                $this->$key = clone $value;
312
            } else {
313
                $this->$key = $value;
314
            }
315
        }
316
    }
317
 
318
    /**
319
     * Convert to string
320
     *
321
     * @return string
322
     */
323
    public function __toString() {
324
        return $this->_text->getPlainText();
325
    }
326
 
327
}