LCOV - code coverage report
Current view: top level - svx/source/dialog - rulritem.cxx (source / functions) Hit Total Coverage
Test: commit c8344322a7af75b84dd3ca8f78b05543a976dfd5 Lines: 143 381 37.5 %
Date: 2015-06-13 12:38:46 Functions: 55 96 57.3 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #include <svx/dialogs.hrc>
      21             : #include "svx/rulritem.hxx"
      22             : #include <tools/mapunit.hxx>
      23             : #include <osl/diagnose.h>
      24             : #include <com/sun/star/awt/Rectangle.hpp>
      25             : #include <com/sun/star/frame/status/LeftRightMargin.hpp>
      26             : #include <com/sun/star/frame/status/UpperLowerMargin.hpp>
      27             : 
      28        6811 : TYPEINIT1_AUTOFACTORY(SvxPagePosSizeItem, SfxPoolItem);
      29       11313 : TYPEINIT1_AUTOFACTORY(SvxLongLRSpaceItem, SfxPoolItem);
      30       11559 : TYPEINIT1_AUTOFACTORY(SvxLongULSpaceItem, SfxPoolItem);
      31        1225 : TYPEINIT1(SvxColumnItem, SfxPoolItem);
      32          96 : TYPEINIT1(SvxObjectItem, SfxPoolItem);
      33             : 
      34             : /* SvxLongLRSpaceItem */
      35             : 
      36         800 : bool SvxLongLRSpaceItem::operator==( const SfxPoolItem& rCmp) const
      37             : {
      38        1600 :     return SfxPoolItem::operator==(rCmp) &&
      39        1584 :         mlLeft  == static_cast<const SvxLongLRSpaceItem &>(rCmp).mlLeft &&
      40        1584 :         mlRight == static_cast<const SvxLongLRSpaceItem &>(rCmp).mlRight;
      41             : }
      42             : 
      43         661 : bool SvxLongLRSpaceItem::QueryValue( ::com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId ) const
      44             : {
      45         661 :     bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
      46         661 :     nMemberId &= ~CONVERT_TWIPS;
      47             : 
      48             :     sal_Int32 nVal;
      49         661 :     switch( nMemberId )
      50             :     {
      51             :         case 0:
      52             :         {
      53         661 :             ::com::sun::star::frame::status::LeftRightMargin aLeftRightMargin;
      54         661 :             aLeftRightMargin.Left = bConvert ? convertTwipToMm100( mlLeft ) : mlLeft;
      55         661 :             aLeftRightMargin.Right = bConvert ? convertTwipToMm100( mlRight ) : mlRight;
      56         661 :             rVal <<= aLeftRightMargin;
      57         661 :             return true;
      58             :         }
      59             : 
      60             :         case MID_LEFT:
      61           0 :             nVal = mlLeft;
      62           0 :             break;
      63             :         case MID_RIGHT:
      64           0 :             nVal = mlRight;
      65           0 :             break;
      66             :         default:
      67             :             OSL_FAIL("Wrong MemberId!");
      68           0 :             return false;
      69             :     }
      70             : 
      71           0 :     if ( bConvert )
      72           0 :         nVal = convertTwipToMm100( nVal );
      73             : 
      74           0 :     rVal <<= nVal;
      75           0 :     return true;
      76             : }
      77             : 
      78           0 : bool SvxLongLRSpaceItem::PutValue( const ::com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId )
      79             : {
      80           0 :     bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
      81           0 :     nMemberId &= ~CONVERT_TWIPS;
      82             : 
      83           0 :     sal_Int32 nVal = 0;
      84           0 :     if ( nMemberId == 0 )
      85             :     {
      86           0 :         ::com::sun::star::frame::status::LeftRightMargin aLeftRightMargin;
      87           0 :         if ( rVal >>= aLeftRightMargin )
      88             :         {
      89           0 :             mlLeft  = bConvert ? convertMm100ToTwip(aLeftRightMargin.Left) : aLeftRightMargin.Left;
      90           0 :             mlRight = bConvert ? convertMm100ToTwip(aLeftRightMargin.Right) : aLeftRightMargin.Right;
      91           0 :             return true;
      92             :         }
      93             :     }
      94           0 :     else if ( rVal >>= nVal )
      95             :     {
      96           0 :         if ( bConvert )
      97           0 :             nVal = convertMm100ToTwip( nVal );
      98             : 
      99           0 :         switch( nMemberId )
     100             :         {
     101             :             case MID_LEFT:
     102           0 :                 mlLeft = nVal;
     103           0 :                 break;
     104             :             case MID_RIGHT:
     105           0 :                 mlRight = nVal;
     106           0 :                 break;
     107             :             default:
     108             :                 OSL_FAIL("Wrong MemberId!");
     109           0 :                 return false;
     110             :         }
     111             : 
     112           0 :         return true;
     113             :     }
     114             : 
     115           0 :     return false;
     116             : }
     117             : 
     118           0 : bool SvxLongLRSpaceItem::GetPresentation(
     119             :                         SfxItemPresentation /*ePres*/,
     120             :                         SfxMapUnit          /*eCoreUnit*/,
     121             :                         SfxMapUnit          /*ePresUnit*/,
     122             :                         OUString&           /*rText*/,
     123             :                         const IntlWrapper*  /*pWrapper*/) const
     124             : {
     125           0 :     return false;
     126             : }
     127             : 
     128        3107 : SfxPoolItem* SvxLongLRSpaceItem::Clone(SfxItemPool *) const
     129             : {
     130        3107 :     return new SvxLongLRSpaceItem(*this);
     131             : }
     132             : 
     133        1782 : SvxLongLRSpaceItem::SvxLongLRSpaceItem(long lLeft, long lRight, sal_uInt16 nId) :
     134             :     SfxPoolItem (nId),
     135             :     mlLeft      (lLeft),
     136        1782 :     mlRight     (lRight)
     137        1782 : {}
     138             : 
     139           0 : SvxLongLRSpaceItem::SvxLongLRSpaceItem() :
     140             :     SfxPoolItem (0),
     141             :     mlLeft      (0),
     142           0 :     mlRight     (0)
     143           0 : {}
     144             : 
     145        3422 : SvxLongLRSpaceItem::SvxLongLRSpaceItem(const SvxLongLRSpaceItem &rCpy) :
     146             :     SfxPoolItem (rCpy),
     147             :     mlLeft      (rCpy.mlLeft),
     148        3422 :     mlRight     (rCpy.mlRight)
     149        3422 : {}
     150             : 
     151             : 
     152             : 
     153           4 : void SvxLongLRSpaceItem::SetLeft(long lArgLeft)
     154             : {
     155           4 :     mlLeft = lArgLeft;
     156           4 : }
     157             : 
     158           4 : void SvxLongLRSpaceItem::SetRight(long lArgRight)
     159             : {
     160           4 :     mlRight = lArgRight;
     161           4 : }
     162             : 
     163             : /* SvxLongULSpaceItem */
     164             : 
     165         818 : bool SvxLongULSpaceItem::operator==( const SfxPoolItem& rCmp) const
     166             : {
     167        1636 :     return SfxPoolItem::operator==(rCmp) &&
     168        1626 :         mlLeft == static_cast<const SvxLongULSpaceItem&>(rCmp).mlLeft &&
     169        1626 :         mlRight == static_cast<const SvxLongULSpaceItem&>(rCmp).mlRight;
     170             : }
     171             : 
     172         675 : bool SvxLongULSpaceItem::QueryValue( ::com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId ) const
     173             : {
     174         675 :     bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
     175         675 :     nMemberId &= ~CONVERT_TWIPS;
     176             : 
     177             :     sal_Int32 nVal;
     178         675 :     switch( nMemberId )
     179             :     {
     180             :         case 0:
     181             :         {
     182         675 :             ::com::sun::star::frame::status::UpperLowerMargin aUpperLowerMargin;
     183         675 :             aUpperLowerMargin.Upper = bConvert ? convertTwipToMm100( mlLeft )  : mlLeft;
     184         675 :             aUpperLowerMargin.Lower = bConvert ? convertTwipToMm100( mlRight ) : mlRight;
     185         675 :             rVal <<= aUpperLowerMargin;
     186         675 :             return true;
     187             :         }
     188             : 
     189             :         case MID_UPPER:
     190           0 :             nVal = mlLeft;
     191           0 :             break;
     192             :         case MID_LOWER:
     193           0 :             nVal = mlRight;
     194           0 :             break;
     195           0 :         default: OSL_FAIL("Wrong MemberId!"); return false;
     196             :     }
     197             : 
     198           0 :     if ( bConvert )
     199           0 :         nVal = convertTwipToMm100( nVal );
     200             : 
     201           0 :     rVal <<= nVal;
     202           0 :     return true;
     203             : }
     204             : 
     205           0 : bool SvxLongULSpaceItem::PutValue( const ::com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId )
     206             : {
     207           0 :     bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
     208           0 :     nMemberId &= ~CONVERT_TWIPS;
     209             : 
     210           0 :     sal_Int32 nVal = 0;
     211           0 :     if ( nMemberId == 0 )
     212             :     {
     213           0 :         ::com::sun::star::frame::status::UpperLowerMargin aUpperLowerMargin;
     214           0 :         if ( rVal >>= aUpperLowerMargin )
     215             :         {
     216           0 :             mlLeft    = bConvert ? convertMm100ToTwip( aUpperLowerMargin.Upper ) : aUpperLowerMargin.Upper;
     217           0 :             mlRight   = bConvert ? convertMm100ToTwip( aUpperLowerMargin.Lower ) : aUpperLowerMargin.Lower;
     218           0 :             return true;
     219             :         }
     220             :     }
     221           0 :     else if ( rVal >>= nVal )
     222             :     {
     223           0 :         if ( bConvert )
     224           0 :             nVal = convertMm100ToTwip( nVal );
     225             : 
     226           0 :         switch( nMemberId )
     227             :         {
     228             :             case MID_UPPER:
     229           0 :                 mlLeft = nVal;
     230           0 :                 break;
     231             :             case MID_LOWER:
     232           0 :                 mlRight = nVal;
     233           0 :                 break;
     234             :             default:
     235             :                 OSL_FAIL("Wrong MemberId!");
     236           0 :                 return false;
     237             :         }
     238             : 
     239           0 :         return true;
     240             :     }
     241             : 
     242           0 :     return false;
     243             : }
     244             : 
     245           0 : bool SvxLongULSpaceItem::GetPresentation(
     246             :                         SfxItemPresentation /*ePres*/,
     247             :                         SfxMapUnit          /*eCoreUnit*/,
     248             :                         SfxMapUnit          /*ePresUnit*/,
     249             :                         OUString&           /*rText*/,
     250             :                         const IntlWrapper*  /*pWrapper*/ ) const
     251             : {
     252           0 :     return false;
     253             : }
     254             : 
     255        3169 : SfxPoolItem* SvxLongULSpaceItem::Clone(SfxItemPool *) const
     256             : {
     257        3169 :     return new SvxLongULSpaceItem(*this);
     258             : }
     259             : 
     260        1817 : SvxLongULSpaceItem::SvxLongULSpaceItem(long lLeft, long lRight, sal_uInt16 nId) :
     261             :     SfxPoolItem (nId),
     262             :     mlLeft       (lLeft),
     263        1817 :     mlRight      (lRight)
     264        1817 : {}
     265             : 
     266        3498 : SvxLongULSpaceItem::SvxLongULSpaceItem(const SvxLongULSpaceItem &rCpy) :
     267             :     SfxPoolItem (rCpy),
     268             :     mlLeft      (rCpy.mlLeft),
     269        3498 :     mlRight     (rCpy.mlRight)
     270        3498 : {}
     271             : 
     272           0 : SvxLongULSpaceItem::SvxLongULSpaceItem() :
     273             :     SfxPoolItem (0),
     274             :     mlLeft      (0),
     275           0 :     mlRight     (0)
     276           0 : {}
     277             : 
     278             : 
     279             : 
     280           1 : void SvxLongULSpaceItem::SetUpper(long lArgLeft)
     281             : {
     282           1 :     mlLeft = lArgLeft;
     283           1 : }
     284             : 
     285           1 : void SvxLongULSpaceItem::SetLower(long lArgRight)
     286             : {
     287           1 :     mlRight = lArgRight;
     288           1 : }
     289             : 
     290             : /* SvxPagePosSizeItem */
     291             : 
     292         324 : bool SvxPagePosSizeItem::operator==( const SfxPoolItem& rCmp) const
     293             : {
     294         648 :     return SfxPoolItem::operator==(rCmp) &&
     295         610 :         aPos == static_cast<const SvxPagePosSizeItem &>(rCmp).aPos &&
     296         894 :             lWidth == static_cast<const SvxPagePosSizeItem &>(rCmp).lWidth  &&
     297         608 :             lHeight == static_cast<const SvxPagePosSizeItem &>(rCmp).lHeight;
     298             : }
     299             : 
     300         352 : bool SvxPagePosSizeItem::QueryValue( ::com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId ) const
     301             : {
     302         352 :     nMemberId &= ~CONVERT_TWIPS;
     303             : 
     304             :     sal_Int32 nVal;
     305         352 :     switch ( nMemberId )
     306             :     {
     307             :         case 0 :
     308             :         {
     309         352 :             com::sun::star::awt::Rectangle aPagePosSize;
     310         352 :             aPagePosSize.X = aPos.X();
     311         352 :             aPagePosSize.Y = aPos.Y();
     312         352 :             aPagePosSize.Width = lWidth;
     313         352 :             aPagePosSize.Height = lHeight;
     314         352 :             rVal <<= aPagePosSize;
     315         352 :             return true;
     316             :         }
     317             : 
     318           0 :         case MID_X: nVal = aPos.X(); break;
     319           0 :         case MID_Y: nVal = aPos.Y(); break;
     320           0 :         case MID_WIDTH: nVal = lWidth; break;
     321           0 :         case MID_HEIGHT: nVal = lHeight; break;
     322             : 
     323           0 :         default: OSL_FAIL("Wrong MemberId!"); return false;
     324             :     }
     325             : 
     326           0 :     rVal <<= nVal;
     327           0 :     return true;
     328             : }
     329             : 
     330           0 : bool SvxPagePosSizeItem::PutValue( const ::com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId )
     331             : {
     332           0 :     nMemberId &= ~CONVERT_TWIPS;
     333             : 
     334           0 :     sal_Int32 nVal = 0;
     335           0 :     if ( nMemberId == 0 )
     336             :     {
     337           0 :         com::sun::star::awt::Rectangle aPagePosSize;
     338           0 :         if ( rVal >>= aPagePosSize )
     339             :         {
     340           0 :             aPos.X() = aPagePosSize.X;
     341           0 :             aPos.Y() = aPagePosSize.Y;
     342           0 :             lWidth   = aPagePosSize.Width;
     343           0 :             lHeight  = aPagePosSize.Height;
     344           0 :             return true;
     345             :         }
     346             :         else
     347           0 :             return false;
     348             :     }
     349           0 :     else if ( rVal >>= nVal )
     350             :     {
     351           0 :         switch ( nMemberId )
     352             :         {
     353           0 :             case MID_X: aPos.X() = nVal; break;
     354           0 :             case MID_Y: aPos.Y() = nVal; break;
     355           0 :             case MID_WIDTH: lWidth = nVal; break;
     356           0 :             case MID_HEIGHT: lHeight = nVal; break;
     357             : 
     358           0 :             default: OSL_FAIL("Wrong MemberId!"); return false;
     359             :         }
     360             : 
     361           0 :         return true;
     362             :     }
     363             : 
     364           0 :     return false;
     365             : }
     366             : 
     367           0 : bool SvxPagePosSizeItem::GetPresentation(
     368             :                         SfxItemPresentation /*ePres*/,
     369             :                         SfxMapUnit          /*eCoreUnit*/,
     370             :                         SfxMapUnit          /*ePresUnit*/,
     371             :                         OUString&           /*rText*/,
     372             :                         const IntlWrapper*  /*pWrapper*/ ) const
     373             : {
     374           0 :     return false;
     375             : }
     376             : 
     377        1344 : SfxPoolItem* SvxPagePosSizeItem::Clone(SfxItemPool *) const
     378             : {
     379        1344 :     return new SvxPagePosSizeItem(*this);
     380             : }
     381             : 
     382         636 : SvxPagePosSizeItem::SvxPagePosSizeItem(const Point &rP, long lW, long lH) :
     383             :     SfxPoolItem (SID_RULER_PAGE_POS),
     384             :     aPos        (rP),
     385             :     lWidth      (lW),
     386         636 :     lHeight     (lH)
     387         636 : {}
     388             : 
     389        2014 : SvxPagePosSizeItem::SvxPagePosSizeItem(const SvxPagePosSizeItem &rCpy) :
     390             :     SfxPoolItem (rCpy),
     391             :     aPos        (rCpy.aPos),
     392             :     lWidth      (rCpy.lWidth),
     393        2014 :     lHeight     (rCpy.lHeight)
     394        2014 : {}
     395             : 
     396           0 : SvxPagePosSizeItem::SvxPagePosSizeItem() :
     397             :     SfxPoolItem (0),
     398             :     aPos        (0, 0),
     399             :     lWidth      (0),
     400           0 :     lHeight     (0)
     401           0 : {}
     402             : 
     403             : /* SvxColumnItem */
     404             : 
     405           4 : bool SvxColumnItem::operator==(const SfxPoolItem& rCmp) const
     406             : {
     407          12 :     if(!SfxPoolItem::operator==(rCmp) ||
     408           8 :        nActColumn != static_cast<const SvxColumnItem&>(rCmp).nActColumn ||
     409           8 :        nLeft != static_cast<const SvxColumnItem&>(rCmp).nLeft ||
     410           8 :        nRight != static_cast<const SvxColumnItem&>(rCmp).nRight ||
     411          12 :        bTable != static_cast<const SvxColumnItem&>(rCmp).bTable ||
     412           4 :        Count() != static_cast<const SvxColumnItem&>(rCmp).Count())
     413           0 :         return false;
     414             : 
     415           4 :     const sal_uInt16 nCount = static_cast<const SvxColumnItem&>(rCmp).Count();
     416          12 :     for(sal_uInt16 i = 0; i < nCount;++i)
     417             :     {
     418           8 :         if( (*this)[i] != static_cast<const SvxColumnItem&>(rCmp)[i] )
     419           0 :             return false;
     420             :     }
     421           4 :     return true;
     422             : }
     423             : 
     424           0 : SvxColumnItem::SvxColumnItem( sal_uInt16 nAct ) :
     425             :     SfxPoolItem (SID_RULER_BORDERS),
     426             :     nLeft       (0),
     427             :     nRight      (0),
     428             :     nActColumn  (nAct),
     429             :     bTable      (false),
     430           0 :     bOrtho      (true)
     431             : 
     432           0 : {}
     433             : 
     434           6 : SvxColumnItem::SvxColumnItem( sal_uInt16 nActCol, sal_uInt16 left, sal_uInt16 right ) :
     435             :     SfxPoolItem (SID_RULER_BORDERS),
     436             :     nLeft       (left),
     437             :     nRight      (right),
     438             :     nActColumn  (nActCol),
     439             :     bTable      (true),
     440           6 :     bOrtho      (true)
     441           6 : {}
     442             : 
     443          12 : SvxColumnItem::SvxColumnItem( const SvxColumnItem& rCopy ) :
     444             :     SfxPoolItem (rCopy),
     445             :     nLeft       (rCopy.nLeft),
     446             :     nRight      (rCopy.nRight),
     447             :     nActColumn  (rCopy.nActColumn),
     448             :     bTable      (rCopy.bTable),
     449          12 :     bOrtho      (rCopy.bOrtho)
     450             : {
     451          12 :     aColumns.resize(rCopy.aColumns.size());
     452          12 :     std::copy(rCopy.aColumns.begin(), rCopy.aColumns.end(), aColumns.begin());
     453          12 : }
     454             : 
     455          30 : SvxColumnItem::~SvxColumnItem()
     456          30 : {}
     457             : 
     458           0 : bool SvxColumnItem::GetPresentation(
     459             :                         SfxItemPresentation /*ePres*/,
     460             :                         SfxMapUnit          /*eCoreUnit*/,
     461             :                         SfxMapUnit          /*ePresUnit*/,
     462             :                         OUString&           /*rText*/,
     463             :                         const IntlWrapper*  /*pWrapper*/ ) const
     464             : {
     465           0 :     return false;
     466             : }
     467             : 
     468          10 : SfxPoolItem* SvxColumnItem::Clone(SfxItemPool* /*pPool*/) const
     469             : {
     470          10 :     return new SvxColumnItem(*this);
     471             : }
     472             : 
     473           0 : const SvxColumnItem& SvxColumnItem::operator=(const SvxColumnItem& rCopy)
     474             : {
     475           0 :     nLeft = rCopy.nLeft;
     476           0 :     nRight = rCopy.nRight;
     477           0 :     bTable = rCopy.bTable;
     478           0 :     nActColumn = rCopy.nActColumn;
     479           0 :     aColumns.resize(rCopy.aColumns.size());
     480             : 
     481           0 :     std::copy(rCopy.aColumns.begin(), rCopy.aColumns.end(), aColumns.begin());
     482             : 
     483           0 :     return *this;
     484             : }
     485             : 
     486           0 : bool SvxColumnItem::CalcOrtho() const
     487             : {
     488           0 :     const sal_uInt16 nCount = Count();
     489             :     DBG_ASSERT(nCount >= 2, "no columns");
     490           0 :     if(nCount < 2)
     491           0 :         return false;
     492             : 
     493           0 :     long nColWidth = (*this)[0].GetWidth();
     494           0 :     for(sal_uInt16 i = 1; i < nCount; ++i) {
     495           0 :         if( (*this)[i].GetWidth() != nColWidth)
     496           0 :             return false;
     497             :     }
     498             :     //!! Wide divider
     499           0 :     return true;
     500             : }
     501             : 
     502           2 : bool SvxColumnItem::QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId ) const
     503             : {
     504           2 :     nMemberId &= ~CONVERT_TWIPS;
     505           2 :     switch ( nMemberId )
     506             :     {
     507             :         case MID_COLUMNARRAY:
     508           0 :             return false;
     509             :         case MID_RIGHT:
     510           0 :             rVal <<= nRight;
     511           0 :             break;
     512             :         case MID_LEFT:
     513           0 :             rVal <<= nLeft;
     514           0 :             break;
     515             :         case MID_ORTHO:
     516           0 :             rVal <<= bOrtho;
     517           0 :             break;
     518             :         case MID_ACTUAL:
     519           0 :             rVal <<= (sal_Int32) nActColumn;
     520           0 :             break;
     521             :         case MID_TABLE:
     522           0 :             rVal <<= bTable;
     523           0 :             break;
     524             :         default:
     525             :             OSL_FAIL("Wrong MemberId!");
     526           2 :             return false;
     527             :     }
     528             : 
     529           0 :     return true;
     530             : }
     531             : 
     532           0 : bool SvxColumnItem::PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId )
     533             : {
     534           0 :     nMemberId &= ~CONVERT_TWIPS;
     535           0 :     sal_Int32 nVal = 0;
     536           0 :     switch ( nMemberId )
     537             :     {
     538             :         case MID_COLUMNARRAY:
     539             :         {
     540           0 :             return false;
     541             :         }
     542             :         case MID_RIGHT:
     543           0 :             rVal >>= nRight;
     544           0 :             break;
     545             :         case MID_LEFT:
     546           0 :             rVal >>= nLeft;
     547           0 :             break;
     548             :         case MID_ORTHO:
     549           0 :             rVal >>= nVal;
     550           0 :             bOrtho = (bool) nVal;
     551           0 :             break;
     552             :         case MID_ACTUAL:
     553           0 :             rVal >>= nVal;
     554           0 :             nActColumn = (sal_uInt16) nVal;
     555           0 :             break;
     556             :         case MID_TABLE:
     557           0 :             rVal >>= nVal;
     558           0 :             bTable = (bool) nVal;
     559           0 :             break;
     560             :         default:
     561             :             OSL_FAIL("Wrong MemberId!");
     562           0 :             return false;
     563             :     }
     564             : 
     565           0 :     return true;
     566             : }
     567             : 
     568          64 : sal_uInt16 SvxColumnItem::Count() const
     569             : {
     570          64 :     return aColumns.size();
     571             : }
     572             : 
     573          50 : SvxColumnDescription& SvxColumnItem::At(sal_uInt16 index)
     574             : {
     575          50 :     return aColumns[index];
     576             : }
     577             : 
     578           6 : SvxColumnDescription& SvxColumnItem::GetActiveColumnDescription()
     579             : {
     580           6 :     return aColumns[GetActColumn()];
     581             : }
     582             : 
     583           0 : SvxColumnDescription& SvxColumnItem::operator[](sal_uInt16 index)
     584             : {
     585           0 :     return aColumns[index];
     586             : }
     587             : 
     588          16 : const SvxColumnDescription& SvxColumnItem::operator[](sal_uInt16 index) const
     589             : {
     590          16 :     return aColumns[index];
     591             : }
     592             : 
     593          12 : void SvxColumnItem::Insert(const SvxColumnDescription &rDesc, sal_uInt16 nPos)
     594             : {
     595          12 :     aColumns.insert(aColumns.begin() + nPos, rDesc);
     596          12 : }
     597             : 
     598          12 : void SvxColumnItem::Append(const SvxColumnDescription &rDesc)
     599             : {
     600          12 :     Insert(rDesc, Count());
     601          12 : }
     602             : 
     603           0 : void SvxColumnItem::SetLeft(long left)
     604             : {
     605           0 :     nLeft = left;
     606           0 : }
     607             : 
     608           0 : void SvxColumnItem::SetRight(long right)
     609             : {
     610           0 :     nRight = right;
     611           0 : }
     612             : 
     613             : 
     614           0 : bool SvxColumnItem::IsFirstAct() const
     615             : {
     616           0 :     return nActColumn == 0;
     617             : }
     618             : 
     619           0 : bool SvxColumnItem::IsLastAct() const
     620             : {
     621           0 :     return nActColumn == Count() - 1;
     622             : }
     623             : 
     624          24 : SvxColumnDescription::SvxColumnDescription() :
     625             :     nStart   (0),
     626             :     nEnd     (0),
     627             :     bVisible (true),
     628             :     nEndMin  (0),
     629          24 :     nEndMax  (0)
     630          24 : {}
     631             : 
     632          18 : SvxColumnDescription::SvxColumnDescription(const SvxColumnDescription &rCopy) :
     633             :     nStart   (rCopy.nStart),
     634             :     nEnd     (rCopy.nEnd),
     635             :     bVisible (rCopy.bVisible),
     636             :     nEndMin  (rCopy.nEndMin),
     637          18 :     nEndMax  (rCopy.nEndMax)
     638          18 : {}
     639             : 
     640           0 : SvxColumnDescription::SvxColumnDescription(long start, long end, bool bVis) :
     641             :     nStart   (start),
     642             :     nEnd     (end),
     643             :     bVisible (bVis),
     644             :     nEndMin  (0),
     645           0 :     nEndMax  (0)
     646           0 : {}
     647             : 
     648          12 : SvxColumnDescription::SvxColumnDescription(long start, long end, long endMin, long endMax, bool bVis) :
     649             :     nStart   (start),
     650             :     nEnd     (end),
     651             :     bVisible (bVis),
     652             :     // fdo#85858 hack: clamp these to smaller value to prevent overflow
     653          24 :     nEndMin(std::min<long>(endMin, std::numeric_limits<unsigned short>::max())),
     654          36 :     nEndMax(std::min<long>(endMax, std::numeric_limits<unsigned short>::max()))
     655          12 : {}
     656             : 
     657           8 : bool SvxColumnDescription::operator==(const SvxColumnDescription& rCmp) const
     658             : {
     659           8 :     return nStart   == rCmp.nStart
     660           8 :         && bVisible == rCmp.bVisible
     661           8 :         && nEnd     == rCmp.nEnd
     662           8 :         && nEndMin  == rCmp.nEndMin
     663          16 :         && nEndMax  == rCmp.nEndMax;
     664             : }
     665             : 
     666           8 : bool SvxColumnDescription::operator!=(const SvxColumnDescription& rCmp) const
     667             : {
     668           8 :     return !operator==(rCmp);
     669             : }
     670             : 
     671           0 : long SvxColumnDescription::GetWidth() const
     672             : {
     673           0 :     return nEnd - nStart;
     674             : }
     675             : 
     676             : /* SvxColumnItem */
     677           0 : void SvxColumnItem::SetOrtho(bool bVal)
     678             : {
     679           0 :     bOrtho = bVal;
     680           0 : }
     681             : 
     682           6 : bool SvxColumnItem::IsConsistent() const
     683             : {
     684           6 :     return nActColumn < aColumns.size();
     685             : }
     686             : 
     687           0 : bool SvxObjectItem::operator==( const SfxPoolItem& rCmp ) const
     688             : {
     689           0 :     return SfxPoolItem::operator==(rCmp) &&
     690           0 :        nStartX == static_cast<const SvxObjectItem&>(rCmp).nStartX &&
     691           0 :        nEndX == static_cast<const SvxObjectItem&>(rCmp).nEndX &&
     692           0 :        nStartY == static_cast<const SvxObjectItem&>(rCmp).nStartY &&
     693           0 :        nEndY == static_cast<const SvxObjectItem&>(rCmp).nEndY &&
     694           0 :        bLimits == static_cast<const SvxObjectItem&>(rCmp).bLimits;
     695             : }
     696             : 
     697           0 : bool SvxObjectItem::GetPresentation(
     698             :                         SfxItemPresentation /*ePres*/,
     699             :                         SfxMapUnit          /*eCoreUnit*/,
     700             :                         SfxMapUnit          /*ePresUnit*/,
     701             :                         OUString&           /*rText*/,
     702             :                         const IntlWrapper*  /*pWrapper*/ ) const
     703             : {
     704           0 :     return false;
     705             : }
     706             : 
     707           0 : SfxPoolItem* SvxObjectItem::Clone(SfxItemPool *) const
     708             : {
     709           0 :     return new SvxObjectItem(*this);
     710             : }
     711             : 
     712           0 : SvxObjectItem::SvxObjectItem( long nSX, long nEX,
     713             :                               long nSY, long nEY, bool limits ) :
     714             :     SfxPoolItem (SID_RULER_OBJECT),
     715             :     nStartX     (nSX),
     716             :     nEndX       (nEX),
     717             :     nStartY     (nSY),
     718             :     nEndY       (nEY),
     719           0 :     bLimits     (limits)
     720           0 : {}
     721             : 
     722           0 : SvxObjectItem::SvxObjectItem( const SvxObjectItem& rCopy ) :
     723             :     SfxPoolItem (rCopy),
     724             :     nStartX     (rCopy.nStartX),
     725             :     nEndX       (rCopy.nEndX),
     726             :     nStartY     (rCopy.nStartY),
     727             :     nEndY       (rCopy.nEndY),
     728           0 :     bLimits     (rCopy.bLimits)
     729           0 : {}
     730             : 
     731           0 : bool SvxObjectItem::QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId ) const
     732             : {
     733           0 :     nMemberId &= ~CONVERT_TWIPS;
     734           0 :     switch (nMemberId)
     735             :     {
     736             :         case MID_START_X:
     737           0 :             rVal <<= nStartX;
     738           0 :             break;
     739             :         case MID_START_Y:
     740           0 :             rVal <<= nStartY;
     741           0 :             break;
     742             :         case MID_END_X:
     743           0 :             rVal <<= nEndX;
     744           0 :             break;
     745             :         case MID_END_Y:
     746           0 :             rVal <<= nEndY;
     747           0 :             break;
     748             :         case MID_LIMIT:
     749           0 :             rVal <<= bLimits;
     750           0 :             break;
     751             :         default:
     752             :             OSL_FAIL( "Wrong MemberId" );
     753           0 :             return false;
     754             :     }
     755             : 
     756           0 :     return true;
     757             : }
     758             : 
     759           0 : bool SvxObjectItem::PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId )
     760             : {
     761           0 :     nMemberId &= ~CONVERT_TWIPS;
     762           0 :     bool bRet = false;
     763           0 :     switch (nMemberId)
     764             :     {
     765             :         case MID_START_X:
     766           0 :             bRet = (rVal >>= nStartX);
     767           0 :             break;
     768             :         case MID_START_Y:
     769           0 :             bRet = (rVal >>= nStartY);
     770           0 :             break;
     771             :         case MID_END_X:
     772           0 :             bRet = (rVal >>= nEndX);
     773           0 :             break;
     774             :         case MID_END_Y:
     775           0 :             bRet = (rVal >>= nEndY);
     776           0 :             break;
     777             :         case MID_LIMIT:
     778           0 :             bRet = (rVal >>= bLimits);
     779           0 :             break;
     780             :         default: OSL_FAIL( "Wrong MemberId" );
     781             :     }
     782             : 
     783           0 :     return bRet;
     784             : }
     785             : 
     786             : 
     787             : 
     788             : 
     789             : 
     790             : 
     791           0 : void SvxObjectItem::SetStartX(long lValue)
     792             : {
     793           0 :     nStartX = lValue;
     794           0 : }
     795             : 
     796           0 : void SvxObjectItem::SetEndX(long lValue)
     797             : {
     798           0 :     nEndX = lValue;
     799           0 : }
     800             : 
     801           0 : void SvxObjectItem::SetStartY(long lValue)
     802             : {
     803           0 :     nStartY = lValue;
     804           0 : }
     805             : 
     806           0 : void SvxObjectItem::SetEndY(long lValue)
     807             : {
     808           0 :     nEndY = lValue;
     809           0 : }
     810             : 
     811             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.11