LCOV - code coverage report
Current view: top level - sc/source/core/tool - defaultsoptions.cxx (source / functions) Hit Total Coverage
Test: commit e02a6cb2c3e2b23b203b422e4e0680877f232636 Lines: 0 79 0.0 %
Date: 2014-04-14 Functions: 0 24 0.0 %
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             : 
      10             : #include <com/sun/star/uno/Any.hxx>
      11             : #include <com/sun/star/uno/Sequence.hxx>
      12             : 
      13             : #include "defaultsoptions.hxx"
      14             : #include "miscuno.hxx"
      15             : #include "global.hxx"
      16             : #include "globstr.hrc"
      17             : 
      18             : using namespace utl;
      19             : using namespace com::sun::star::uno;
      20             : 
      21           0 : TYPEINIT1(ScTpDefaultsItem, SfxPoolItem);
      22             : 
      23           0 : ScDefaultsOptions::ScDefaultsOptions()
      24             : {
      25           0 :     SetDefaults();
      26           0 : }
      27             : 
      28           0 : ScDefaultsOptions::ScDefaultsOptions( const ScDefaultsOptions& rCpy ) :
      29             :     nInitTabCount( rCpy.nInitTabCount ),
      30           0 :     aInitTabPrefix( rCpy.aInitTabPrefix )
      31             : {
      32           0 : }
      33             : 
      34           0 : ScDefaultsOptions::~ScDefaultsOptions()
      35             : {
      36           0 : }
      37             : 
      38           0 : void ScDefaultsOptions::SetDefaults()
      39             : {
      40           0 :     nInitTabCount  = 1;
      41           0 :     aInitTabPrefix = ScGlobal::GetRscString(STR_TABLE_DEF); // Default Prefix "Sheet"
      42           0 : }
      43             : 
      44           0 : ScDefaultsOptions& ScDefaultsOptions::operator=( const ScDefaultsOptions& rCpy )
      45             : {
      46           0 :     nInitTabCount  = rCpy.nInitTabCount;
      47           0 :     aInitTabPrefix = rCpy.aInitTabPrefix;
      48             : 
      49           0 :     return *this;
      50             : }
      51             : 
      52           0 : bool ScDefaultsOptions::operator==( const ScDefaultsOptions& rOpt ) const
      53             : {
      54           0 :     return rOpt.nInitTabCount  == nInitTabCount
      55           0 :         && rOpt.aInitTabPrefix == aInitTabPrefix;
      56             : }
      57             : 
      58           0 : bool ScDefaultsOptions::operator!=( const ScDefaultsOptions& rOpt ) const
      59             : {
      60           0 :     return !(operator==(rOpt));
      61             : }
      62             : 
      63           0 : ScTpDefaultsItem::ScTpDefaultsItem( sal_uInt16 nWhichP, const ScDefaultsOptions& rOpt ) :
      64             :     SfxPoolItem ( nWhichP ),
      65           0 :     theOptions  ( rOpt )
      66             : {
      67           0 : }
      68             : 
      69           0 : ScTpDefaultsItem::ScTpDefaultsItem( const ScTpDefaultsItem& rItem ) :
      70             :     SfxPoolItem ( rItem ),
      71           0 :     theOptions  ( rItem.theOptions )
      72             : {
      73           0 : }
      74             : 
      75           0 : ScTpDefaultsItem::~ScTpDefaultsItem()
      76             : {
      77           0 : }
      78             : 
      79           0 : OUString ScTpDefaultsItem::GetValueText() const
      80             : {
      81           0 :     return OUString("ScTpDefaultsItem");
      82             : }
      83             : 
      84           0 : bool ScTpDefaultsItem::operator==( const SfxPoolItem& rItem ) const
      85             : {
      86             :     OSL_ENSURE( SfxPoolItem::operator==( rItem ), "unequal Which or Type" );
      87             : 
      88           0 :     const ScTpDefaultsItem& rPItem = (const ScTpDefaultsItem&)rItem;
      89           0 :     return ( theOptions == rPItem.theOptions );
      90             : }
      91             : 
      92           0 : SfxPoolItem* ScTpDefaultsItem::Clone( SfxItemPool * ) const
      93             : {
      94           0 :     return new ScTpDefaultsItem( *this );
      95             : }
      96             : 
      97             : #define CFGPATH_FORMULA          "Office.Calc/Defaults"
      98             : 
      99             : #define SCDEFAULTSOPT_TAB_COUNT  0
     100             : #define SCDEFAULTSOPT_TAB_PREFIX 1
     101             : #define SCDEFAULTSOPT_COUNT      2
     102             : 
     103           0 : Sequence<OUString> ScDefaultsCfg::GetPropertyNames()
     104             : {
     105             :     static const char* aPropNames[] =
     106             :     {
     107             :         "Sheet/SheetCount", // SCDEFAULTSOPT_TAB_COUNT
     108             :         "Sheet/SheetPrefix" // SCDEFAULTSOPT_TAB_PREFIX
     109             :     };
     110           0 :     Sequence<OUString> aNames(SCDEFAULTSOPT_COUNT);
     111           0 :     OUString* pNames = aNames.getArray();
     112           0 :     for (int i = 0; i < SCDEFAULTSOPT_COUNT; ++i)
     113           0 :         pNames[i] = OUString::createFromAscii(aPropNames[i]);
     114             : 
     115           0 :     return aNames;
     116             : }
     117             : 
     118           0 : ScDefaultsCfg::ScDefaultsCfg() :
     119           0 :     ConfigItem( OUString( CFGPATH_FORMULA ) )
     120             : {
     121           0 :     OUString aPrefix;
     122             : 
     123           0 :     Sequence<OUString> aNames = GetPropertyNames();
     124           0 :     Sequence<Any> aValues = GetProperties(aNames);
     125           0 :     const Any* pValues = aValues.getConstArray();
     126             :     OSL_ENSURE(aValues.getLength() == aNames.getLength(), "GetProperties failed");
     127           0 :     if(aValues.getLength() == aNames.getLength())
     128             :     {
     129           0 :         sal_Int32 nIntVal = 0;
     130           0 :         for(int nProp = 0; nProp < aNames.getLength(); nProp++)
     131             :         {
     132           0 :             if(pValues[nProp].hasValue())
     133             :             {
     134           0 :                 switch (nProp)
     135             :                 {
     136             :                 case SCDEFAULTSOPT_TAB_COUNT:
     137           0 :                     if (pValues[nProp] >>= nIntVal)
     138           0 :                         SetInitTabCount( static_cast<SCTAB>(nIntVal) );
     139           0 :                     break;
     140             :                 case SCDEFAULTSOPT_TAB_PREFIX:
     141           0 :                     if (pValues[nProp] >>= aPrefix)
     142           0 :                         SetInitTabPrefix(aPrefix);
     143           0 :                     break;
     144             :                 }
     145             :             }
     146             :         }
     147           0 :     }
     148           0 : }
     149             : 
     150           0 : void ScDefaultsCfg::Commit()
     151             : {
     152           0 :     Sequence<OUString> aNames = GetPropertyNames();
     153           0 :     Sequence<Any> aValues(aNames.getLength());
     154           0 :     Any* pValues = aValues.getArray();
     155             : 
     156           0 :     for (int nProp = 0; nProp < aNames.getLength(); ++nProp)
     157             :     {
     158           0 :         switch(nProp)
     159             :         {
     160             :         case SCDEFAULTSOPT_TAB_COUNT:
     161           0 :             pValues[nProp] <<= static_cast<sal_Int32>(GetInitTabCount());
     162           0 :         break;
     163             :         case SCDEFAULTSOPT_TAB_PREFIX:
     164           0 :             pValues[nProp] <<= GetInitTabPrefix();
     165           0 :         break;
     166             :         }
     167             :     }
     168           0 :     PutProperties(aNames, aValues);
     169           0 : }
     170             : 
     171           0 : void ScDefaultsCfg::SetOptions( const ScDefaultsOptions& rNew )
     172             : {
     173           0 :     *(ScDefaultsOptions*)this = rNew;
     174           0 :     SetModified();
     175           0 : }
     176             : 
     177           0 : void ScDefaultsCfg::Notify( const ::com::sun::star::uno::Sequence< OUString >& ) {}
     178             : 
     179             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10