LCOV - code coverage report
Current view: top level - sc/source/ui/app - uiitems.cxx (source / functions) Hit Total Coverage
Test: commit 10e77ab3ff6f4314137acd6e2702a6e5c1ce1fae Lines: 60 233 25.8 %
Date: 2014-11-03 Functions: 39 129 30.2 %
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 "uiitems.hxx"
      21             : 
      22             : #include "userlist.hxx"
      23             : #include "dpsave.hxx"
      24             : #include "queryparam.hxx"
      25             : 
      26             : #include <editeng/editobj.hxx>
      27             : 
      28             : // STATIC DATA -----------------------------------------------------------
      29             : 
      30           0 : TYPEINIT1(ScInputStatusItem,    SfxPoolItem);
      31          60 : TYPEINIT1(ScSortItem,           SfxPoolItem);
      32          60 : TYPEINIT1(ScQueryItem,          SfxPoolItem);
      33          60 : TYPEINIT1(ScSubTotalItem,       SfxPoolItem);
      34          60 : TYPEINIT1(ScUserListItem,       SfxPoolItem);
      35          60 : TYPEINIT1(ScConsolidateItem,    SfxPoolItem);
      36          60 : TYPEINIT1(ScPivotItem,          SfxPoolItem);
      37          60 : TYPEINIT1(ScSolveItem,          SfxPoolItem);
      38           0 : TYPEINIT1(ScTabOpItem,          SfxPoolItem);
      39             : 
      40             : 
      41             : /**
      42             :  * Status update for entry field
      43             :  */
      44           0 : ScInputStatusItem::ScInputStatusItem(
      45             :     sal_uInt16 nWhichP, const ScAddress& rCurPos, const ScAddress& rStartPos,
      46             :     const ScAddress& rEndPos, const OUString& rString, const EditTextObject* pData ) :
      47             :     SfxPoolItem ( nWhichP ),
      48             :     aCursorPos  ( rCurPos ),
      49             :     aStartPos   ( rStartPos ),
      50             :     aEndPos     ( rEndPos ),
      51             :     aString     ( rString ),
      52             :     pEditData   ( pData ? pData->Clone() : NULL ),
      53           0 :     mpMisspellRanges(NULL)
      54             : {
      55           0 : }
      56             : 
      57           0 : ScInputStatusItem::ScInputStatusItem( const ScInputStatusItem& rItem ) :
      58             :     SfxPoolItem ( rItem ),
      59             :     aCursorPos  ( rItem.aCursorPos ),
      60             :     aStartPos   ( rItem.aStartPos ),
      61             :     aEndPos     ( rItem.aEndPos ),
      62             :     aString     ( rItem.aString ),
      63           0 :     pEditData   ( rItem.pEditData ? rItem.pEditData->Clone() : NULL ),
      64           0 :     mpMisspellRanges(rItem.mpMisspellRanges)
      65             : {
      66           0 : }
      67             : 
      68           0 : ScInputStatusItem::~ScInputStatusItem()
      69             : {
      70           0 :     delete pEditData;
      71           0 : }
      72             : 
      73           0 : OUString ScInputStatusItem::GetValueText() const
      74             : {
      75           0 :     return OUString("InputStatus");
      76             : }
      77             : 
      78           0 : bool ScInputStatusItem::operator==( const SfxPoolItem& rItem ) const
      79             : {
      80             :     assert(SfxPoolItem::operator==(rItem));
      81             : 
      82           0 :     return (aStartPos  == static_cast<const ScInputStatusItem&>(rItem).aStartPos)
      83           0 :              && (aEndPos    == static_cast<const ScInputStatusItem&>(rItem).aEndPos)
      84           0 :              && (aCursorPos == static_cast<const ScInputStatusItem&>(rItem).aCursorPos)
      85           0 :              && (aString    == static_cast<const ScInputStatusItem&>(rItem).aString);
      86             :              //TODO: Compare Edit data!
      87             : }
      88             : 
      89           0 : SfxPoolItem* ScInputStatusItem::Clone( SfxItemPool * ) const
      90             : {
      91           0 :     return new ScInputStatusItem( *this );
      92             : }
      93             : 
      94           0 : void ScInputStatusItem::SetMisspellRanges( const std::vector<editeng::MisspellRanges>* pRanges )
      95             : {
      96           0 :     mpMisspellRanges = pRanges;
      97           0 : }
      98             : 
      99             : // ScPaintHint was moved to schints.cxx
     100             : 
     101             : /**
     102             :  * Adapt Views when inserting/deleting a table
     103             :  */
     104         272 : ScTablesHint::ScTablesHint(sal_uInt16 nNewId, SCTAB nTable1, SCTAB nTable2) :
     105             :     nId( nNewId ),
     106             :     nTab1( nTable1 ),
     107         272 :     nTab2( nTable2 )
     108             : {
     109         272 : }
     110             : 
     111         272 : ScTablesHint::~ScTablesHint()
     112             : {
     113         272 : }
     114             : 
     115           0 : ScIndexHint::ScIndexHint(sal_uInt16 nNewId, sal_uInt16 nIdx) :
     116             :     nId( nNewId ),
     117           0 :     nIndex( nIdx )
     118             : {
     119           0 : }
     120             : 
     121           0 : ScIndexHint::~ScIndexHint()
     122             : {
     123           0 : }
     124             : 
     125             : /**
     126             :  * Create new EditView for Cursorposition
     127             :  */
     128           0 : ScEditViewHint::ScEditViewHint( ScEditEngineDefaulter* pEngine, const ScAddress& rCurPos ) :
     129             :     pEditEngine( pEngine ),
     130           0 :     aCursorPos( rCurPos )
     131             : {
     132           0 : }
     133             : 
     134           0 : ScEditViewHint::~ScEditViewHint()
     135             : {
     136           0 : }
     137             : 
     138             : /**
     139             :  * Data for the sorting dialog
     140             :  */
     141           0 : ScSortItem::ScSortItem( sal_uInt16              nWhichP,
     142             :                         ScViewData*         ptrViewData,
     143             :                         const ScSortParam*  pSortData ) :
     144             :         SfxPoolItem ( nWhichP ),
     145           0 :         pViewData   ( ptrViewData )
     146             : {
     147           0 :     if ( pSortData ) theSortData = *pSortData;
     148           0 : }
     149             : 
     150          76 : ScSortItem::ScSortItem( sal_uInt16              nWhichP,
     151             :                         const ScSortParam*  pSortData ) :
     152             :         SfxPoolItem ( nWhichP ),
     153          76 :         pViewData   ( NULL )
     154             : {
     155          76 :     if ( pSortData ) theSortData = *pSortData;
     156          76 : }
     157             : 
     158           0 : ScSortItem::ScSortItem( const ScSortItem& rItem ) :
     159             :         SfxPoolItem ( rItem ),
     160             :         pViewData   ( rItem.pViewData ),
     161           0 :         theSortData ( rItem.theSortData )
     162             : {
     163           0 : }
     164             : 
     165          20 : ScSortItem::~ScSortItem()
     166             : {
     167          20 : }
     168             : 
     169           0 : OUString ScSortItem::GetValueText() const
     170             : {
     171           0 :     return OUString("SortItem");
     172             : }
     173             : 
     174           0 : bool ScSortItem::operator==( const SfxPoolItem& rItem ) const
     175             : {
     176             :     assert(SfxPoolItem::operator==(rItem));
     177             : 
     178           0 :     const ScSortItem& rOther = static_cast<const ScSortItem&>(rItem);
     179             : 
     180           0 :     return (   (pViewData   == rOther.pViewData)
     181           0 :             && (theSortData == rOther.theSortData) );
     182             : }
     183             : 
     184           0 : SfxPoolItem* ScSortItem::Clone( SfxItemPool * ) const
     185             : {
     186           0 :     return new ScSortItem( *this );
     187             : }
     188             : 
     189           0 : bool ScSortItem::QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 /* nMemberUd */ ) const
     190             : {
     191             :     // Return empty value as there is no useful conversion
     192           0 :     rVal = com::sun::star::uno::Any();
     193           0 :     return true;
     194             : }
     195             : 
     196             : /**
     197             :  * Data for the Filter dialog
     198             :  */
     199          76 : ScQueryItem::ScQueryItem( sal_uInt16                nWhichP,
     200             :                           ScViewData*           ptrViewData,
     201             :                           const ScQueryParam*   pQueryData ) :
     202             :         SfxPoolItem ( nWhichP ),
     203             :         mpQueryData(NULL),
     204             :         pViewData   ( ptrViewData ),
     205          76 :         bIsAdvanced ( false )
     206             : {
     207          76 :     if (pQueryData)
     208           0 :         mpQueryData.reset(new ScQueryParam(*pQueryData));
     209             :     else
     210          76 :         mpQueryData.reset(new ScQueryParam);
     211          76 : }
     212             : 
     213           0 : ScQueryItem::ScQueryItem( sal_uInt16                nWhichP,
     214             :                           const ScQueryParam*   pQueryData ) :
     215             :         SfxPoolItem ( nWhichP ),
     216             :         mpQueryData(NULL),
     217             :         pViewData   ( NULL ),
     218           0 :         bIsAdvanced ( false )
     219             : {
     220           0 :     if (pQueryData)
     221           0 :         mpQueryData.reset(new ScQueryParam(*pQueryData));
     222             :     else
     223           0 :         mpQueryData.reset(new ScQueryParam);
     224           0 : }
     225             : 
     226           0 : ScQueryItem::ScQueryItem( const ScQueryItem& rItem ) :
     227             :         SfxPoolItem ( rItem ),
     228           0 :         mpQueryData(new ScQueryParam(*rItem.mpQueryData)),
     229             :         pViewData   ( rItem.pViewData ),
     230             :         aAdvSource  ( rItem.aAdvSource ),
     231           0 :         bIsAdvanced ( rItem.bIsAdvanced )
     232             : {
     233           0 : }
     234             : 
     235          20 : ScQueryItem::~ScQueryItem()
     236             : {
     237          20 : }
     238             : 
     239           0 : void ScQueryItem::SetAdvancedQuerySource(const ScRange* pSource)
     240             : {
     241           0 :     if (pSource)
     242             :     {
     243           0 :         aAdvSource = *pSource;
     244           0 :         bIsAdvanced = true;
     245             :     }
     246             :     else
     247           0 :         bIsAdvanced = false;
     248           0 : }
     249             : 
     250           0 : const ScQueryParam& ScQueryItem::GetQueryData() const
     251             : {
     252           0 :     return *mpQueryData;
     253             : }
     254             : 
     255           0 : bool ScQueryItem::GetAdvancedQuerySource(ScRange& rSource) const
     256             : {
     257           0 :     rSource = aAdvSource;
     258           0 :     return bIsAdvanced;
     259             : }
     260             : 
     261           0 : OUString ScQueryItem::GetValueText() const
     262             : {
     263           0 :     return OUString("QueryItem");
     264             : }
     265             : 
     266           0 : bool ScQueryItem::operator==( const SfxPoolItem& rItem ) const
     267             : {
     268             :     assert(SfxPoolItem::operator==(rItem));
     269             : 
     270           0 :     const ScQueryItem& rQueryItem = static_cast<const ScQueryItem&>(rItem);
     271             : 
     272           0 :     return (   (pViewData    == rQueryItem.pViewData)
     273           0 :             && (bIsAdvanced  == rQueryItem.bIsAdvanced)
     274           0 :             && (aAdvSource   == rQueryItem.aAdvSource)
     275           0 :             && (*mpQueryData == *rQueryItem.mpQueryData) );
     276             : }
     277             : 
     278           0 : SfxPoolItem* ScQueryItem::Clone( SfxItemPool * ) const
     279             : {
     280           0 :     return new ScQueryItem( *this );
     281             : }
     282             : 
     283             : /**
     284             :  * Data for the SubTotal dialog
     285             :  */
     286          76 : ScSubTotalItem::ScSubTotalItem( sal_uInt16                  nWhichP,
     287             :                                 ScViewData*             ptrViewData,
     288             :                                 const ScSubTotalParam*  pSubTotalData ) :
     289             :         SfxPoolItem ( nWhichP ),
     290          76 :         pViewData   ( ptrViewData )
     291             : {
     292          76 :     if ( pSubTotalData ) theSubTotalData = *pSubTotalData;
     293          76 : }
     294             : 
     295           0 : ScSubTotalItem::ScSubTotalItem( sal_uInt16                  nWhichP,
     296             :                                 const ScSubTotalParam*  pSubTotalData ) :
     297             :         SfxPoolItem ( nWhichP ),
     298           0 :         pViewData   ( NULL )
     299             : {
     300           0 :     if ( pSubTotalData ) theSubTotalData = *pSubTotalData;
     301           0 : }
     302             : 
     303           0 : ScSubTotalItem::ScSubTotalItem( const ScSubTotalItem& rItem ) :
     304             :         SfxPoolItem     ( rItem ),
     305             :         pViewData       ( rItem.pViewData ),
     306           0 :         theSubTotalData ( rItem.theSubTotalData )
     307             : {
     308           0 : }
     309             : 
     310          20 : ScSubTotalItem::~ScSubTotalItem()
     311             : {
     312          20 : }
     313             : 
     314           0 : OUString ScSubTotalItem::GetValueText() const
     315             : {
     316           0 :     return OUString("SubTotalItem");
     317             : }
     318             : 
     319           0 : bool ScSubTotalItem::operator==( const SfxPoolItem& rItem ) const
     320             : {
     321             :     assert(SfxPoolItem::operator==(rItem));
     322             : 
     323           0 :     const ScSubTotalItem& rSTItem = static_cast<const ScSubTotalItem&>(rItem);
     324             : 
     325           0 :     return (   (pViewData       == rSTItem.pViewData)
     326           0 :             && (theSubTotalData == rSTItem.theSubTotalData) );
     327             : }
     328             : 
     329           0 : SfxPoolItem* ScSubTotalItem::Clone( SfxItemPool * ) const
     330             : {
     331           0 :     return new ScSubTotalItem( *this );
     332             : }
     333             : 
     334           0 : bool ScSubTotalItem::QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 /* nMemberUd */ ) const
     335             : {
     336             :     // Return empty value as there is no useful conversion
     337           0 :     rVal = com::sun::star::uno::Any();
     338           0 :     return true;
     339             : }
     340             : 
     341             : /**
     342             :  * Transporter for the UserLIst dialog
     343             :  */
     344          76 : ScUserListItem::ScUserListItem( sal_uInt16 nWhichP )
     345             :     :   SfxPoolItem ( nWhichP ),
     346          76 :         pUserList   ( NULL )
     347             : {
     348          76 : }
     349             : 
     350           0 : ScUserListItem::ScUserListItem( const ScUserListItem& rItem )
     351           0 :     :   SfxPoolItem ( rItem )
     352             : {
     353           0 :     if ( rItem.pUserList )
     354           0 :         pUserList = new ScUserList( *(rItem.pUserList) );
     355             :     else
     356           0 :         pUserList = NULL;
     357           0 : }
     358             : 
     359          40 : ScUserListItem::~ScUserListItem()
     360             : {
     361          20 :     delete pUserList;
     362          20 : }
     363             : 
     364           0 : OUString ScUserListItem::GetValueText() const
     365             : {
     366           0 :     return OUString("ScUserListItem");
     367             : }
     368             : 
     369           0 : bool ScUserListItem::operator==( const SfxPoolItem& rItem ) const
     370             : {
     371             :     assert(SfxPoolItem::operator==(rItem));
     372             : 
     373           0 :     const ScUserListItem& r = static_cast<const ScUserListItem&>(rItem);
     374           0 :     bool bEqual = false;
     375             : 
     376           0 :     if ( !pUserList || !(r.pUserList) )
     377           0 :         bEqual = ( !pUserList && !(r.pUserList) );
     378             :     else
     379           0 :         bEqual = ( *pUserList == *(r.pUserList) );
     380             : 
     381           0 :     return bEqual;
     382             : }
     383             : 
     384           0 : SfxPoolItem* ScUserListItem::Clone( SfxItemPool * ) const
     385             : {
     386           0 :     return new ScUserListItem( *this );
     387             : }
     388             : 
     389           0 : void ScUserListItem::SetUserList( const ScUserList& rUserList )
     390             : {
     391           0 :     delete pUserList;
     392           0 :     pUserList = new ScUserList( rUserList );
     393           0 : }
     394             : 
     395             : /**
     396             :  * Data for the Consolidate dialog
     397             :  */
     398          76 : ScConsolidateItem::ScConsolidateItem(
     399             :                             sal_uInt16                      nWhichP,
     400             :                             const ScConsolidateParam*   pConsolidateData ) :
     401          76 :         SfxPoolItem ( nWhichP )
     402             : {
     403          76 :     if ( pConsolidateData ) theConsData = *pConsolidateData;
     404          76 : }
     405             : 
     406           0 : ScConsolidateItem::ScConsolidateItem( const ScConsolidateItem& rItem ) :
     407             :         SfxPoolItem ( rItem ),
     408           0 :         theConsData ( rItem.theConsData )
     409             : {
     410           0 : }
     411             : 
     412          20 : ScConsolidateItem::~ScConsolidateItem()
     413             : {
     414          20 : }
     415             : 
     416           0 : OUString ScConsolidateItem::GetValueText() const
     417             : {
     418           0 :     return OUString("ScConsolidateItem");
     419             : }
     420             : 
     421           0 : bool ScConsolidateItem::operator==( const SfxPoolItem& rItem ) const
     422             : {
     423             :     assert(SfxPoolItem::operator==(rItem));
     424             : 
     425           0 :     const ScConsolidateItem& rCItem = static_cast<const ScConsolidateItem&>(rItem);
     426             : 
     427           0 :     return ( theConsData == rCItem.theConsData);
     428             : }
     429             : 
     430           0 : SfxPoolItem* ScConsolidateItem::Clone( SfxItemPool * ) const
     431             : {
     432           0 :     return new ScConsolidateItem( *this );
     433             : }
     434             : 
     435             : /**
     436             :  * Data for the Pivot dialog
     437             :  */
     438          76 : ScPivotItem::ScPivotItem( sal_uInt16 nWhichP, const ScDPSaveData* pData,
     439             :                              const ScRange* pRange, bool bNew ) :
     440          76 :         SfxPoolItem ( nWhichP )
     441             : {
     442             :     // pSaveData must always exist
     443          76 :     if ( pData )
     444           0 :         pSaveData = new ScDPSaveData(*pData);
     445             :     else
     446          76 :         pSaveData = new ScDPSaveData;
     447          76 :     if ( pRange ) aDestRange = *pRange;
     448          76 :     bNewSheet = bNew;
     449          76 : }
     450             : 
     451           0 : ScPivotItem::ScPivotItem( const ScPivotItem& rItem ) :
     452             :         SfxPoolItem ( rItem ),
     453             :         aDestRange  ( rItem.aDestRange ),
     454           0 :         bNewSheet   ( rItem.bNewSheet )
     455             : {
     456             :     assert(rItem.pSaveData && "pSaveData");
     457           0 :     pSaveData = new ScDPSaveData(*rItem.pSaveData);
     458           0 : }
     459             : 
     460          40 : ScPivotItem::~ScPivotItem()
     461             : {
     462          20 :     delete pSaveData;
     463          20 : }
     464             : 
     465           0 : OUString ScPivotItem::GetValueText() const
     466             : {
     467           0 :     return OUString("ScPivotItem");
     468             : }
     469             : 
     470           0 : bool ScPivotItem::operator==( const SfxPoolItem& rItem ) const
     471             : {
     472             :     assert(SfxPoolItem::operator==(rItem));
     473             : 
     474           0 :     const ScPivotItem& rPItem = static_cast<const ScPivotItem&>(rItem);
     475             :     OSL_ENSURE( pSaveData && rPItem.pSaveData, "pSaveData" );
     476           0 :     return ( *pSaveData == *rPItem.pSaveData &&
     477           0 :              aDestRange == rPItem.aDestRange &&
     478           0 :              bNewSheet  == rPItem.bNewSheet );
     479             : }
     480             : 
     481           0 : SfxPoolItem* ScPivotItem::Clone( SfxItemPool * ) const
     482             : {
     483           0 :     return new ScPivotItem( *this );
     484             : }
     485             : 
     486             : /**
     487             :  * Data for the Solver dialog
     488             :  */
     489          76 : ScSolveItem::ScSolveItem( sal_uInt16                nWhichP,
     490             :                           const ScSolveParam*   pSolveData )
     491          76 :     :   SfxPoolItem ( nWhichP )
     492             : {
     493          76 :     if ( pSolveData ) theSolveData = *pSolveData;
     494          76 : }
     495             : 
     496           0 : ScSolveItem::ScSolveItem( const ScSolveItem& rItem )
     497             :     :   SfxPoolItem     ( rItem ),
     498           0 :         theSolveData    ( rItem.theSolveData )
     499             : {
     500           0 : }
     501             : 
     502          20 : ScSolveItem::~ScSolveItem()
     503             : {
     504          20 : }
     505             : 
     506           0 : OUString ScSolveItem::GetValueText() const
     507             : {
     508           0 :     return OUString("ScSolveItem");
     509             : }
     510             : 
     511           0 : bool ScSolveItem::operator==( const SfxPoolItem& rItem ) const
     512             : {
     513             :     assert(SfxPoolItem::operator==(rItem));
     514             : 
     515           0 :     const ScSolveItem& rPItem = static_cast<const ScSolveItem&>(rItem);
     516             : 
     517           0 :     return ( theSolveData == rPItem.theSolveData );
     518             : }
     519             : 
     520           0 : SfxPoolItem* ScSolveItem::Clone( SfxItemPool * ) const
     521             : {
     522           0 :     return new ScSolveItem( *this );
     523             : }
     524             : 
     525             : /**
     526             :  * Data for the TabOp dialog
     527             :  */
     528           0 : ScTabOpItem::ScTabOpItem( sal_uInt16                nWhichP,
     529             :                           const ScTabOpParam*   pTabOpData )
     530           0 :     :   SfxPoolItem ( nWhichP )
     531             : {
     532           0 :     if ( pTabOpData ) theTabOpData = *pTabOpData;
     533           0 : }
     534             : 
     535           0 : ScTabOpItem::ScTabOpItem( const ScTabOpItem& rItem )
     536             :     :   SfxPoolItem     ( rItem ),
     537           0 :         theTabOpData    ( rItem.theTabOpData )
     538             : {
     539           0 : }
     540             : 
     541           0 : ScTabOpItem::~ScTabOpItem()
     542             : {
     543           0 : }
     544             : 
     545           0 : OUString ScTabOpItem::GetValueText() const
     546             : {
     547           0 :     return OUString("ScTabOpItem");
     548             : }
     549             : 
     550           0 : bool ScTabOpItem::operator==( const SfxPoolItem& rItem ) const
     551             : {
     552             :     assert(SfxPoolItem::operator==(rItem));
     553             : 
     554           0 :     const ScTabOpItem& rPItem = static_cast<const ScTabOpItem&>(rItem);
     555             : 
     556           0 :     return ( theTabOpData == rPItem.theTabOpData );
     557             : }
     558             : 
     559           0 : SfxPoolItem* ScTabOpItem::Clone( SfxItemPool * ) const
     560             : {
     561           0 :     return new ScTabOpItem( *this );
     562         228 : }
     563             : 
     564             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10