Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*************************************************************************
3 : : *
4 : : * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 : : *
6 : : * Copyright 2000, 2010 Oracle and/or its affiliates.
7 : : *
8 : : * OpenOffice.org - a multi-platform office productivity suite
9 : : *
10 : : * This file is part of OpenOffice.org.
11 : : *
12 : : * OpenOffice.org is free software: you can redistribute it and/or modify
13 : : * it under the terms of the GNU Lesser General Public License version 3
14 : : * only, as published by the Free Software Foundation.
15 : : *
16 : : * OpenOffice.org is distributed in the hope that it will be useful,
17 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 : : * GNU Lesser General Public License version 3 for more details
20 : : * (a copy is included in the LICENSE file that accompanied this code).
21 : : *
22 : : * You should have received a copy of the GNU Lesser General Public License
23 : : * version 3 along with OpenOffice.org. If not, see
24 : : * <http://www.openoffice.org/license.html>
25 : : * for a copy of the LGPLv3 License.
26 : : *
27 : : ************************************************************************/
28 : :
29 : : #include <tools/string.hxx>
30 : :
31 : : #include <svx/dialogs.hrc>
32 : : #include "svx/rulritem.hxx"
33 : : #include <com/sun/star/awt/Rectangle.hpp>
34 : : #include <com/sun/star/frame/status/LeftRightMargin.hpp>
35 : : #include <com/sun/star/frame/status/UpperLowerMargin.hpp>
36 : :
37 : : //------------------------------------------------------------------------
38 : :
39 [ + + ][ - + ]: 8338 : TYPEINIT1_AUTOFACTORY(SvxPagePosSizeItem, SfxPoolItem);
[ # # ]
40 [ + + ][ - + ]: 5834 : TYPEINIT1_AUTOFACTORY(SvxLongLRSpaceItem, SfxPoolItem);
[ # # ]
41 [ + + ][ - + ]: 5792 : TYPEINIT1_AUTOFACTORY(SvxLongULSpaceItem, SfxPoolItem);
[ # # ]
42 [ + + ][ - + ]: 157 : TYPEINIT1(SvxColumnItem, SfxPoolItem);
43 [ + + ][ - + ]: 43 : TYPEINIT1(SvxObjectItem, SfxPoolItem);
44 : :
45 : : //------------------------------------------------------------------------
46 : :
47 : 158 : int SvxLongLRSpaceItem::operator==( const SfxPoolItem& rCmp) const
48 : : {
49 : 158 : return SfxPoolItem::operator==(rCmp) &&
50 : : lLeft==((const SvxLongLRSpaceItem &)rCmp).lLeft &&
51 [ + + ][ + - ]: 158 : lRight==((const SvxLongLRSpaceItem &)rCmp).lRight;
[ + - ]
52 : : }
53 : :
54 : :
55 : : //------------------------------------------------------------------------
56 : :
57 : 0 : String SvxLongLRSpaceItem::GetValueText() const
58 : : {
59 : 0 : return String();
60 : : }
61 : :
62 : : #define TWIP_TO_MM100(TWIP) ((TWIP) >= 0 ? (((TWIP)*127L+36L)/72L) : (((TWIP)*127L-36L)/72L))
63 : : #define MM100_TO_TWIP(MM100) ((MM100) >= 0 ? (((MM100)*72L+63L)/127L) : (((MM100)*72L-63L)/127L))
64 : :
65 : 0 : bool SvxLongLRSpaceItem::QueryValue( ::com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId ) const
66 : : {
67 : 0 : sal_Bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
68 : 0 : nMemberId &= ~CONVERT_TWIPS;
69 : :
70 : : sal_Int32 nVal;
71 [ # # # # ]: 0 : switch( nMemberId )
72 : : {
73 : : case 0:
74 : : {
75 : 0 : ::com::sun::star::frame::status::LeftRightMargin aLeftRightMargin;
76 [ # # ][ # # ]: 0 : aLeftRightMargin.Left = bConvert ? TWIP_TO_MM100( lLeft ) : lLeft;
77 [ # # ][ # # ]: 0 : aLeftRightMargin.Right = bConvert ? TWIP_TO_MM100( lRight ) : lRight;
78 [ # # ]: 0 : rVal <<= aLeftRightMargin;
79 : 0 : return sal_True;
80 : : }
81 : :
82 : 0 : case MID_LEFT: nVal = lLeft; break;
83 : 0 : case MID_RIGHT: nVal = lRight; break;
84 : 0 : default: OSL_FAIL("Wrong MemberId!"); return false;
85 : : }
86 : :
87 [ # # ]: 0 : if ( bConvert )
88 [ # # ]: 0 : nVal = TWIP_TO_MM100( nVal );
89 : :
90 [ # # ]: 0 : rVal <<= nVal;
91 : 0 : return true;
92 : : }
93 : :
94 : : // -----------------------------------------------------------------------
95 : 0 : bool SvxLongLRSpaceItem::PutValue( const ::com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId )
96 : : {
97 : 0 : sal_Bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
98 : 0 : nMemberId &= ~CONVERT_TWIPS;
99 : :
100 : 0 : sal_Int32 nVal = 0;
101 [ # # ]: 0 : if ( nMemberId == 0 )
102 : : {
103 : 0 : ::com::sun::star::frame::status::LeftRightMargin aLeftRightMargin;
104 [ # # ][ # # ]: 0 : if ( rVal >>= aLeftRightMargin )
105 : : {
106 [ # # ][ # # ]: 0 : lLeft = bConvert ? MM100_TO_TWIP( aLeftRightMargin.Left ) : aLeftRightMargin.Left;
107 [ # # ][ # # ]: 0 : lRight = bConvert ? MM100_TO_TWIP( aLeftRightMargin.Right ) : aLeftRightMargin.Right;
108 : 0 : return true;
109 : : }
110 : : }
111 [ # # ]: 0 : else if ( rVal >>= nVal )
112 : : {
113 [ # # ]: 0 : if ( bConvert )
114 [ # # ]: 0 : nVal = MM100_TO_TWIP( nVal );
115 : :
116 [ # # # ]: 0 : switch( nMemberId )
117 : : {
118 : 0 : case MID_LEFT: lLeft = nVal; break;
119 : 0 : case MID_RIGHT: lRight = nVal; break;
120 : 0 : default: OSL_FAIL("Wrong MemberId!"); return false;
121 : : }
122 : :
123 : 0 : return true;
124 : : }
125 : :
126 : 0 : return false;
127 : : }
128 : :
129 : : //------------------------------------------------------------------------
130 : :
131 : 0 : SfxItemPresentation SvxLongLRSpaceItem::GetPresentation
132 : : (
133 : : SfxItemPresentation /*ePres*/,
134 : : SfxMapUnit /*eCoreUnit*/,
135 : : SfxMapUnit /*ePresUnit*/,
136 : : String& /*rText*/, const IntlWrapper *
137 : : ) const
138 : : {
139 : :
140 : 0 : return SFX_ITEM_PRESENTATION_NONE;
141 : : }
142 : :
143 : : //------------------------------------------------------------------------
144 : :
145 : 2147 : SfxPoolItem* SvxLongLRSpaceItem::Clone(SfxItemPool *) const
146 : : {
147 [ + - ]: 2147 : return new SvxLongLRSpaceItem(*this);
148 : : }
149 : :
150 : : //------------------------------------------------------------------------
151 : :
152 : 809 : SvxLongLRSpaceItem::SvxLongLRSpaceItem(long lL, long lR, sal_uInt16 nId)
153 : : : SfxPoolItem(nId),
154 : : lLeft(lL),
155 : 809 : lRight(lR)
156 : 809 : {}
157 : :
158 : : //------------------------------------------------------------------------
159 : :
160 : 0 : SvxLongLRSpaceItem::SvxLongLRSpaceItem() :
161 : : SfxPoolItem( 0 ),
162 : : lLeft( 0 ),
163 : 0 : lRight( 0 )
164 : 0 : {}
165 : :
166 : : //------------------------------------------------------------------------
167 : :
168 : 2712 : SvxLongLRSpaceItem::SvxLongLRSpaceItem(const SvxLongLRSpaceItem &rCpy)
169 : : : SfxPoolItem(rCpy),
170 : : lLeft(rCpy.lLeft),
171 : 2712 : lRight(rCpy.lRight)
172 : 2712 : {}
173 : :
174 : : //------------------------------------------------------------------------
175 : :
176 : 152 : int SvxLongULSpaceItem::operator==( const SfxPoolItem& rCmp) const
177 : : {
178 : 152 : return SfxPoolItem::operator==(rCmp) &&
179 : : lLeft==((const SvxLongULSpaceItem &)rCmp).lLeft &&
180 [ + + ][ + - ]: 152 : lRight==((const SvxLongULSpaceItem &)rCmp).lRight;
[ + - ]
181 : : }
182 : :
183 : :
184 : : //------------------------------------------------------------------------
185 : :
186 : 0 : String SvxLongULSpaceItem::GetValueText() const
187 : : {
188 : 0 : return String();
189 : : }
190 : :
191 : 0 : bool SvxLongULSpaceItem::QueryValue( ::com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId ) const
192 : : {
193 : 0 : sal_Bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
194 : 0 : nMemberId &= ~CONVERT_TWIPS;
195 : :
196 : : sal_Int32 nVal;
197 [ # # # # ]: 0 : switch( nMemberId )
198 : : {
199 : : case 0:
200 : : {
201 : 0 : ::com::sun::star::frame::status::UpperLowerMargin aUpperLowerMargin;
202 [ # # ][ # # ]: 0 : aUpperLowerMargin.Upper = bConvert ? TWIP_TO_MM100( lLeft ) : lLeft;
203 [ # # ][ # # ]: 0 : aUpperLowerMargin.Lower = bConvert ? TWIP_TO_MM100( lRight ) : lRight;
204 [ # # ]: 0 : rVal <<= aUpperLowerMargin;
205 : 0 : return true;
206 : : }
207 : :
208 : 0 : case MID_UPPER: nVal = lLeft; break;
209 : 0 : case MID_LOWER: nVal = lRight; break;
210 : 0 : default: OSL_FAIL("Wrong MemberId!"); return false;
211 : : }
212 : :
213 [ # # ]: 0 : if ( bConvert )
214 [ # # ]: 0 : nVal = TWIP_TO_MM100( nVal );
215 : :
216 [ # # ]: 0 : rVal <<= nVal;
217 : 0 : return true;
218 : : }
219 : :
220 : : // -----------------------------------------------------------------------
221 : 0 : bool SvxLongULSpaceItem::PutValue( const ::com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId )
222 : : {
223 : 0 : sal_Bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
224 : 0 : nMemberId &= ~CONVERT_TWIPS;
225 : :
226 : 0 : sal_Int32 nVal = 0;
227 [ # # ]: 0 : if ( nMemberId == 0 )
228 : : {
229 : 0 : ::com::sun::star::frame::status::UpperLowerMargin aUpperLowerMargin;
230 [ # # ][ # # ]: 0 : if ( rVal >>= aUpperLowerMargin )
231 : : {
232 [ # # ][ # # ]: 0 : lLeft = bConvert ? MM100_TO_TWIP( aUpperLowerMargin.Upper ) : aUpperLowerMargin.Upper;
233 [ # # ][ # # ]: 0 : lRight = bConvert ? MM100_TO_TWIP( aUpperLowerMargin.Lower ) : aUpperLowerMargin.Lower;
234 : 0 : return true;
235 : : }
236 : : }
237 [ # # ]: 0 : else if ( rVal >>= nVal )
238 : : {
239 [ # # ]: 0 : if ( bConvert )
240 [ # # ]: 0 : nVal = MM100_TO_TWIP( nVal );
241 : :
242 [ # # # ]: 0 : switch( nMemberId )
243 : : {
244 : 0 : case MID_UPPER: lLeft = nVal; break;
245 : 0 : case MID_LOWER: lRight = nVal; break;
246 : 0 : default: OSL_FAIL("Wrong MemberId!"); return false;
247 : : }
248 : :
249 : 0 : return true;
250 : : }
251 : :
252 : 0 : return false;
253 : : }
254 : :
255 : : //------------------------------------------------------------------------
256 : :
257 : 0 : SfxItemPresentation SvxLongULSpaceItem::GetPresentation
258 : : (
259 : : SfxItemPresentation /*ePres*/,
260 : : SfxMapUnit /*eCoreUnit*/,
261 : : SfxMapUnit /*ePresUnit*/,
262 : : String& /*rText*/, const IntlWrapper *
263 : : ) const
264 : : {
265 : 0 : return SFX_ITEM_PRESENTATION_NONE;
266 : : }
267 : :
268 : : //------------------------------------------------------------------------
269 : :
270 : 2139 : SfxPoolItem* SvxLongULSpaceItem::Clone(SfxItemPool *) const
271 : : {
272 [ + - ]: 2139 : return new SvxLongULSpaceItem(*this);
273 : : }
274 : :
275 : : //------------------------------------------------------------------------
276 : :
277 : 809 : SvxLongULSpaceItem::SvxLongULSpaceItem(long lL, long lR, sal_uInt16 nId)
278 : : : SfxPoolItem(nId),
279 : : lLeft(lL),
280 : 809 : lRight(lR)
281 : 809 : {}
282 : :
283 : : //------------------------------------------------------------------------
284 : :
285 : 2702 : SvxLongULSpaceItem::SvxLongULSpaceItem(const SvxLongULSpaceItem &rCpy)
286 : : : SfxPoolItem(rCpy),
287 : : lLeft(rCpy.lLeft),
288 : 2702 : lRight(rCpy.lRight)
289 : 2702 : {}
290 : :
291 : : //------------------------------------------------------------------------
292 : :
293 : 0 : SvxLongULSpaceItem::SvxLongULSpaceItem() :
294 : : SfxPoolItem( 0 ),
295 : : lLeft( 0 ),
296 : 0 : lRight( 0 )
297 : 0 : {}
298 : :
299 : : //------------------------------------------------------------------------
300 : :
301 : 174 : int SvxPagePosSizeItem::operator==( const SfxPoolItem& rCmp) const
302 : : {
303 : 174 : return SfxPoolItem::operator==(rCmp) &&
304 : 174 : aPos == ((const SvxPagePosSizeItem &)rCmp).aPos &&
305 : : lWidth == ((const SvxPagePosSizeItem &)rCmp).lWidth &&
306 [ + + ][ + + ]: 348 : lHeight == ((const SvxPagePosSizeItem &)rCmp).lHeight;
[ + - + + ]
307 : : }
308 : :
309 : 0 : bool SvxPagePosSizeItem::QueryValue( ::com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId ) const
310 : : {
311 : 0 : nMemberId &= ~CONVERT_TWIPS;
312 : :
313 : : sal_Int32 nVal;
314 [ # # # # : 0 : switch ( nMemberId )
# # ]
315 : : {
316 : : case 0 :
317 : : {
318 : 0 : com::sun::star::awt::Rectangle aPagePosSize;
319 : 0 : aPagePosSize.X = aPos.X();
320 : 0 : aPagePosSize.Y = aPos.Y();
321 : 0 : aPagePosSize.Width = lWidth;
322 : 0 : aPagePosSize.Height = lHeight;
323 [ # # ]: 0 : rVal <<= aPagePosSize;
324 : 0 : return true;
325 : : }
326 : :
327 : 0 : case MID_X: nVal = aPos.X(); break;
328 : 0 : case MID_Y: nVal = aPos.Y(); break;
329 : 0 : case MID_WIDTH: nVal = lWidth; break;
330 : 0 : case MID_HEIGHT: nVal = lHeight; break;
331 : :
332 : 0 : default: OSL_FAIL("Wrong MemberId!"); return false;
333 : : }
334 : :
335 [ # # ]: 0 : rVal <<= nVal;
336 : 0 : return true;
337 : : }
338 : :
339 : 0 : bool SvxPagePosSizeItem::PutValue( const ::com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId )
340 : : {
341 : 0 : nMemberId &= ~CONVERT_TWIPS;
342 : :
343 : 0 : sal_Int32 nVal = 0;
344 [ # # ]: 0 : if ( nMemberId == 0 )
345 : : {
346 : 0 : com::sun::star::awt::Rectangle aPagePosSize;
347 [ # # ][ # # ]: 0 : if ( rVal >>= aPagePosSize )
348 : : {
349 : 0 : aPos.X() = aPagePosSize.X;
350 : 0 : aPos.Y() = aPagePosSize.Y;
351 : 0 : lWidth = aPagePosSize.Width;
352 : 0 : lHeight = aPagePosSize.Height;
353 : 0 : return sal_True;
354 : : }
355 : : else
356 : 0 : return sal_False;
357 : : }
358 [ # # ]: 0 : else if ( rVal >>= nVal )
359 : : {
360 [ # # # # : 0 : switch ( nMemberId )
# ]
361 : : {
362 : 0 : case MID_X: aPos.X() = nVal; break;
363 : 0 : case MID_Y: aPos.Y() = nVal; break;
364 : 0 : case MID_WIDTH: lWidth = nVal; break;
365 : 0 : case MID_HEIGHT: lHeight = nVal; break;
366 : :
367 : 0 : default: OSL_FAIL("Wrong MemberId!"); return sal_False;
368 : : }
369 : :
370 : 0 : return true;
371 : : }
372 : :
373 : 0 : return false;
374 : : }
375 : :
376 : : //------------------------------------------------------------------------
377 : :
378 : 0 : String SvxPagePosSizeItem::GetValueText() const
379 : : {
380 : 0 : return String();
381 : : }
382 : :
383 : : //------------------------------------------------------------------------
384 : :
385 : 0 : SfxItemPresentation SvxPagePosSizeItem::GetPresentation
386 : : (
387 : : SfxItemPresentation /*ePres*/,
388 : : SfxMapUnit /*eCoreUnit*/,
389 : : SfxMapUnit /*ePresUnit*/,
390 : : String& /*rText*/, const IntlWrapper *
391 : : ) const
392 : : {
393 : 0 : return SFX_ITEM_PRESENTATION_NONE;
394 : : }
395 : :
396 : : //------------------------------------------------------------------------
397 : :
398 : 2189 : SfxPoolItem* SvxPagePosSizeItem::Clone(SfxItemPool *) const
399 : : {
400 [ + - ]: 2189 : return new SvxPagePosSizeItem(*this);
401 : : }
402 : :
403 : : //------------------------------------------------------------------------
404 : :
405 : 815 : SvxPagePosSizeItem::SvxPagePosSizeItem(const Point &rP, long lW, long lH)
406 : : : SfxPoolItem(SID_RULER_PAGE_POS),
407 : : aPos(rP),
408 : : lWidth(lW),
409 : 815 : lHeight(lH)
410 : 815 : {}
411 : :
412 : : //------------------------------------------------------------------------
413 : :
414 : 3349 : SvxPagePosSizeItem::SvxPagePosSizeItem(const SvxPagePosSizeItem &rCpy)
415 : : : SfxPoolItem(rCpy),
416 : : aPos(rCpy.aPos),
417 : : lWidth(rCpy.lWidth),
418 : 3349 : lHeight(rCpy.lHeight)
419 : 3349 : {}
420 : :
421 : : //------------------------------------------------------------------------
422 : :
423 : 0 : SvxPagePosSizeItem::SvxPagePosSizeItem()
424 : : : SfxPoolItem( 0 ),
425 : : aPos( 0, 0 ),
426 : : lWidth( 0 ),
427 : 0 : lHeight( 0 )
428 : 0 : {}
429 : :
430 : : //------------------------------------------------------------------------
431 : :
432 : 6 : int SvxColumnItem::operator==(const SfxPoolItem& rCmp) const
433 : : {
434 [ + - ][ + - ]: 12 : if(!SfxPoolItem::operator==(rCmp) ||
[ + - ][ + - ]
[ + - - + ]
[ - + ]
435 : : nActColumn != ((const SvxColumnItem&)rCmp).nActColumn ||
436 : : nLeft != ((const SvxColumnItem&)rCmp).nLeft ||
437 : : nRight != ((const SvxColumnItem&)rCmp).nRight ||
438 : : bTable != ((const SvxColumnItem&)rCmp).bTable ||
439 : 6 : Count() != ((const SvxColumnItem&)rCmp).Count())
440 : 0 : return sal_False;
441 : :
442 : 6 : const sal_uInt16 nCount = ((const SvxColumnItem&)rCmp).Count();
443 [ + + ]: 18 : for(sal_uInt16 i = 0; i < nCount;++i) {
444 [ - + ]: 12 : if( (*this)[i] != ((const SvxColumnItem&)rCmp)[i] )
445 : 0 : return sal_False;
446 : : }
447 : 6 : return sal_True;
448 : : }
449 : :
450 : : //------------------------------------------------------------------------
451 : :
452 : 0 : String SvxColumnItem::GetValueText() const
453 : : {
454 : 0 : return String();
455 : : }
456 : :
457 : : //------------------------------------------------------------------------
458 : :
459 : 0 : SfxItemPresentation SvxColumnItem::GetPresentation
460 : : (
461 : : SfxItemPresentation /*ePres*/,
462 : : SfxMapUnit /*eCoreUnit*/,
463 : : SfxMapUnit /*ePresUnit*/,
464 : : String& /*rText*/, const IntlWrapper *
465 : : ) const
466 : : {
467 : 0 : return SFX_ITEM_PRESENTATION_NONE;
468 : : }
469 : :
470 : : //------------------------------------------------------------------------
471 : :
472 : 18 : SfxPoolItem* SvxColumnItem::Clone( SfxItemPool * ) const
473 : : {
474 [ + - ]: 18 : return new SvxColumnItem(*this);
475 : : }
476 : :
477 : : //------------------------------------------------------------------------
478 : :
479 : 0 : SvxColumnItem::SvxColumnItem( sal_uInt16 nAct ) :
480 : :
481 : : SfxPoolItem( SID_RULER_BORDERS ),
482 : :
483 : : nLeft ( 0 ),
484 : : nRight ( 0 ),
485 : : nActColumn ( nAct ),
486 : : bTable ( sal_False ),
487 [ # # ]: 0 : bOrtho (sal_True )
488 : :
489 : : {
490 : 0 : }
491 : :
492 : : //------------------------------------------------------------------------
493 : :
494 : 10 : SvxColumnItem::SvxColumnItem( sal_uInt16 nActCol, sal_uInt16 left, sal_uInt16 right ) :
495 : :
496 : : SfxPoolItem( SID_RULER_BORDERS ),
497 : :
498 : : nLeft ( left ),
499 : : nRight ( right ),
500 : : nActColumn ( nActCol ),
501 : : bTable ( sal_True ),
502 [ + - ]: 10 : bOrtho ( sal_True )
503 : : {
504 : 10 : }
505 : :
506 : 22 : SvxColumnItem::SvxColumnItem( const SvxColumnItem& rCopy ) :
507 : : SfxPoolItem( rCopy ),
508 : : nLeft ( rCopy.nLeft ),
509 : : nRight ( rCopy.nRight ),
510 : : nActColumn( rCopy.nActColumn ),
511 : : bTable ( rCopy.bTable ),
512 [ + - ]: 22 : bOrtho ( rCopy.bOrtho )
513 : : {
514 [ + + ]: 66 : for(size_t i = 0; i < rCopy.Count(); ++i)
515 [ + - ][ + - ]: 44 : aColumns.push_back(rCopy[i]);
516 : 22 : }
517 : :
518 : 32 : SvxColumnItem::~SvxColumnItem()
519 : : {
520 [ - + ]: 54 : }
521 : :
522 : 0 : const SvxColumnItem &SvxColumnItem::operator=(const SvxColumnItem &rCopy)
523 : : {
524 : 0 : nLeft = rCopy.nLeft;
525 : 0 : nRight = rCopy.nRight;
526 : 0 : bTable = rCopy.bTable;
527 : 0 : nActColumn = rCopy.nActColumn;
528 : 0 : aColumns.clear();
529 [ # # ]: 0 : for(size_t i = 0; i < rCopy.Count(); ++i)
530 : 0 : aColumns.push_back(rCopy[i]);
531 : 0 : return *this;
532 : : }
533 : :
534 : 0 : sal_Bool SvxColumnItem::CalcOrtho() const
535 : : {
536 : 0 : const sal_uInt16 nCount = Count();
537 : : DBG_ASSERT(nCount >= 2, "no columns");
538 [ # # ]: 0 : if(nCount < 2)
539 : 0 : return sal_False;
540 : :
541 : 0 : long nColWidth = (*this)[0].GetWidth();
542 [ # # ]: 0 : for(sal_uInt16 i = 1; i < nCount; ++i) {
543 [ # # ]: 0 : if( (*this)[i].GetWidth() != nColWidth)
544 : 0 : return sal_False;
545 : : }
546 : : //!! Wide divider
547 : 0 : return sal_True;
548 : : }
549 : :
550 : : //------------------------------------------------------------------------
551 : :
552 : 0 : bool SvxColumnItem::QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId ) const
553 : : {
554 : 0 : nMemberId &= ~CONVERT_TWIPS;
555 [ # # # # : 0 : switch ( nMemberId )
# # # ]
556 : : {
557 : : case MID_COLUMNARRAY:
558 : : {
559 : 0 : return false;
560 : : }
561 : 0 : case MID_RIGHT: rVal <<= nRight; break;
562 : 0 : case MID_LEFT: rVal <<= nLeft; break;
563 [ # # ]: 0 : case MID_ORTHO: rVal <<= (sal_Bool) bOrtho; break;
564 [ # # ]: 0 : case MID_ACTUAL: rVal <<= (sal_Int32) nActColumn; break;
565 [ # # ]: 0 : case MID_TABLE: rVal <<= (sal_Bool) bTable; break;
566 : 0 : default: OSL_FAIL("Wrong MemberId!"); return sal_False;
567 : : }
568 : :
569 : 0 : return true;
570 : : }
571 : :
572 : 0 : bool SvxColumnItem::PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId )
573 : : {
574 : 0 : nMemberId &= ~CONVERT_TWIPS;
575 : 0 : sal_Int32 nVal = 0;
576 [ # # # # : 0 : switch ( nMemberId )
# # # ]
577 : : {
578 : : case MID_COLUMNARRAY:
579 : : {
580 : 0 : return false;
581 : : }
582 : 0 : case MID_RIGHT: rVal >>= nRight; break;
583 : 0 : case MID_LEFT: rVal >>= nLeft; break;
584 : 0 : case MID_ORTHO: rVal >>= nVal; bOrtho = (sal_Bool) nVal; break;
585 : 0 : case MID_ACTUAL: rVal >>= nVal; nActColumn = (sal_uInt16) nVal; break;
586 : 0 : case MID_TABLE: rVal >>= nVal; bTable = (sal_Bool) nVal; break;
587 : 0 : default: OSL_FAIL("Wrong MemberId!"); return sal_False;
588 : : }
589 : :
590 : 0 : return true;
591 : : }
592 : :
593 : : //------------------------------------------------------------------------
594 : :
595 : 0 : int SvxObjectItem::operator==( const SfxPoolItem& rCmp ) const
596 : : {
597 : 0 : return SfxPoolItem::operator==(rCmp) &&
598 : : nStartX == ((const SvxObjectItem&)rCmp).nStartX &&
599 : : nEndX == ((const SvxObjectItem&)rCmp).nEndX &&
600 : : nStartY == ((const SvxObjectItem&)rCmp).nStartY &&
601 : : nEndY == ((const SvxObjectItem&)rCmp).nEndY &&
602 [ # # ][ # # ]: 0 : bLimits == ((const SvxObjectItem&)rCmp).bLimits;
[ # # ][ # # ]
[ # # ][ # # ]
603 : : }
604 : :
605 : : //------------------------------------------------------------------------
606 : :
607 : 0 : String SvxObjectItem::GetValueText() const
608 : : {
609 : 0 : return String();
610 : : }
611 : :
612 : : //------------------------------------------------------------------------
613 : :
614 : 0 : SfxItemPresentation SvxObjectItem::GetPresentation
615 : : (
616 : : SfxItemPresentation /*ePres*/,
617 : : SfxMapUnit /*eCoreUnit*/,
618 : : SfxMapUnit /*ePresUnit*/,
619 : : String& /*rText*/, const IntlWrapper *
620 : : ) const
621 : : {
622 : 0 : return SFX_ITEM_PRESENTATION_NONE;
623 : : }
624 : :
625 : : //------------------------------------------------------------------------
626 : :
627 : 3 : SfxPoolItem* SvxObjectItem::Clone(SfxItemPool *) const
628 : : {
629 [ + - ]: 3 : return new SvxObjectItem(*this);
630 : : }
631 : :
632 : : //------------------------------------------------------------------------
633 : :
634 : 1 : SvxObjectItem::SvxObjectItem( long nSX, long nEX,
635 : : long nSY, long nEY, sal_Bool limits ) :
636 : :
637 : : SfxPoolItem( SID_RULER_OBJECT ),
638 : :
639 : : nStartX ( nSX ),
640 : : nEndX ( nEX ),
641 : : nStartY ( nSY ),
642 : : nEndY ( nEY ),
643 : 1 : bLimits ( limits )
644 : :
645 : : {
646 : 1 : }
647 : :
648 : : //------------------------------------------------------------------------
649 : :
650 : 5 : SvxObjectItem::SvxObjectItem( const SvxObjectItem& rCopy ) :
651 : :
652 : : SfxPoolItem( rCopy ),
653 : :
654 : : nStartX ( rCopy.nStartX ),
655 : : nEndX ( rCopy.nEndX ),
656 : : nStartY ( rCopy.nStartY ),
657 : : nEndY ( rCopy.nEndY ),
658 : 5 : bLimits ( rCopy.bLimits )
659 : :
660 : : {
661 : 5 : }
662 : :
663 : 0 : bool SvxObjectItem::QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId ) const
664 : : {
665 : 0 : nMemberId &= ~CONVERT_TWIPS;
666 [ # # # # : 0 : switch ( nMemberId )
# # ]
667 : : {
668 : 0 : case MID_START_X : rVal <<= nStartX; break;
669 : 0 : case MID_START_Y : rVal <<= nStartY; break;
670 : 0 : case MID_END_X : rVal <<= nEndX; break;
671 : 0 : case MID_END_Y : rVal <<= nEndY; break;
672 : 0 : case MID_LIMIT : rVal <<= bLimits; break;
673 : : default:
674 : : OSL_FAIL( "Wrong MemberId" );
675 : 0 : return sal_False;
676 : : }
677 : :
678 : 0 : return true;
679 : : }
680 : :
681 : 0 : bool SvxObjectItem::PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId )
682 : : {
683 : 0 : nMemberId &= ~CONVERT_TWIPS;
684 : 0 : bool bRet = false;
685 [ # # # # : 0 : switch ( nMemberId )
# # ]
686 : : {
687 : 0 : case MID_START_X : bRet = (rVal >>= nStartX); break;
688 : 0 : case MID_START_Y : bRet = (rVal >>= nStartY); break;
689 : 0 : case MID_END_X : bRet = (rVal >>= nEndX); break;
690 : 0 : case MID_END_Y : bRet = (rVal >>= nEndY); break;
691 : 0 : case MID_LIMIT : bRet = (rVal >>= bLimits); break;
692 : : default: OSL_FAIL( "Wrong MemberId" );
693 : : }
694 : :
695 : 0 : return bRet;
696 : : }
697 : :
698 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|