LCOV - code coverage report
Current view: top level - libreoffice/sw/source/ui/index - toxmgr.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 255 0.0 %
Date: 2012-12-27 Functions: 0 15 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             :  * 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             : 
      21             : #include <wrtsh.hxx>
      22             : #include <shellres.hxx>
      23             : #include <swwait.hxx>
      24             : #include <view.hxx>
      25             : #include <toxmgr.hxx>
      26             : #include <crsskip.hxx>
      27             : #include <doc.hxx>
      28             : #include <IDocumentUndoRedo.hxx>
      29             : #include <swundo.hxx>
      30             : #include <globals.hrc>
      31             : 
      32             : /*--------------------------------------------------------------------
      33             :     Description: handle indexes with TOXMgr
      34             :  --------------------------------------------------------------------*/
      35             : 
      36             : 
      37           0 : SwTOXMgr::SwTOXMgr(SwWrtShell* pShell):
      38           0 :     pSh(pShell)
      39             : {
      40           0 :     GetTOXMarks();
      41           0 :     SetCurTOXMark(0);
      42           0 : }
      43             : 
      44             : /*--------------------------------------------------------------------
      45             :     Description: handle current TOXMarks
      46             :  --------------------------------------------------------------------*/
      47             : 
      48             : 
      49           0 : sal_uInt16 SwTOXMgr::GetTOXMarks()
      50             : {
      51           0 :     return pSh->GetCurTOXMarks(aCurMarks);
      52             : }
      53             : 
      54             : 
      55           0 : SwTOXMark* SwTOXMgr::GetTOXMark(sal_uInt16 nId)
      56             : {
      57           0 :     if(!aCurMarks.empty())
      58           0 :         return aCurMarks[nId];
      59           0 :     return 0;
      60             : }
      61             : 
      62             : 
      63           0 : void SwTOXMgr::DeleteTOXMark()
      64             : {
      65           0 :     SwTOXMark* pNext = 0;
      66           0 :     if( pCurTOXMark )
      67             :     {
      68           0 :         pNext = (SwTOXMark*)&pSh->GotoTOXMark( *pCurTOXMark, TOX_NXT );
      69           0 :         if( pNext == pCurTOXMark )
      70           0 :             pNext = 0;
      71             : 
      72           0 :         pSh->DeleteTOXMark( pCurTOXMark );
      73           0 :         pSh->SetModified();
      74             :     }
      75             :     // go to next one
      76           0 :     pCurTOXMark = pNext;
      77           0 : }
      78             : 
      79           0 : void    SwTOXMgr::InsertTOXMark(const SwTOXMarkDescription& rDesc)
      80             : {
      81           0 :     SwTOXMark* pMark = 0;
      82           0 :     switch(rDesc.GetTOXType())
      83             :     {
      84             :         case  TOX_CONTENT:
      85             :         {
      86             :             OSL_ENSURE(rDesc.GetLevel() > 0 && rDesc.GetLevel() <= MAXLEVEL,
      87             :                        "invalid InsertTOCMark level");
      88           0 :             pMark = new SwTOXMark(pSh->GetTOXType(TOX_CONTENT, 0));
      89           0 :             pMark->SetLevel( static_cast< sal_uInt16 >(rDesc.GetLevel()) );
      90             : 
      91           0 :             if(rDesc.GetAltStr())
      92           0 :                 pMark->SetAlternativeText(*rDesc.GetAltStr());
      93             :         }
      94           0 :         break;
      95             :         case  TOX_INDEX:
      96             :         {
      97           0 :             pMark = new SwTOXMark(pSh->GetTOXType(TOX_INDEX, 0));
      98             : 
      99           0 :             if( rDesc.GetPrimKey() && rDesc.GetPrimKey()->Len() )
     100             :             {
     101           0 :                 pMark->SetPrimaryKey( *rDesc.GetPrimKey() );
     102           0 :                 if(rDesc.GetPhoneticReadingOfPrimKey())
     103           0 :                     pMark->SetPrimaryKeyReading( *rDesc.GetPhoneticReadingOfPrimKey() );
     104             : 
     105           0 :                 if( rDesc.GetSecKey() && rDesc.GetSecKey()->Len() )
     106             :                 {
     107           0 :                     pMark->SetSecondaryKey( *rDesc.GetSecKey() );
     108           0 :                     if(rDesc.GetPhoneticReadingOfSecKey())
     109           0 :                         pMark->SetSecondaryKeyReading( *rDesc.GetPhoneticReadingOfSecKey() );
     110             :                 }
     111             :             }
     112           0 :             if(rDesc.GetAltStr())
     113           0 :                 pMark->SetAlternativeText(*rDesc.GetAltStr());
     114           0 :             if(rDesc.GetPhoneticReadingOfAltStr())
     115           0 :                 pMark->SetTextReading( *rDesc.GetPhoneticReadingOfAltStr() );
     116           0 :             pMark->SetMainEntry(rDesc.IsMainEntry());
     117             :         }
     118           0 :         break;
     119             :         case  TOX_USER:
     120             :         {
     121             :             OSL_ENSURE(rDesc.GetLevel() > 0 && rDesc.GetLevel() <= MAXLEVEL,
     122             :                        "invalid InsertTOCMark level");
     123           0 :             sal_uInt16 nId = rDesc.GetTOUName() ?
     124           0 :                 GetUserTypeID(*rDesc.GetTOUName()) : 0;
     125           0 :             pMark = new SwTOXMark(pSh->GetTOXType(TOX_USER, nId));
     126           0 :             pMark->SetLevel( static_cast< sal_uInt16 >(rDesc.GetLevel()) );
     127             : 
     128           0 :             if(rDesc.GetAltStr())
     129           0 :                 pMark->SetAlternativeText(*rDesc.GetAltStr());
     130             :         }
     131           0 :         break;
     132             :         default:; //prevent warning
     133             :     }
     134           0 :     pSh->StartAllAction();
     135           0 :     pSh->SwEditShell::Insert(*pMark);
     136           0 :     pSh->EndAllAction();
     137           0 : }
     138             : /*--------------------------------------------------------------------
     139             :     Description: Update of TOXMarks
     140             :  --------------------------------------------------------------------*/
     141             : 
     142             : 
     143           0 : void SwTOXMgr::UpdateTOXMark(const SwTOXMarkDescription& rDesc)
     144             : {
     145             :     OSL_ENSURE(pCurTOXMark, "no current TOXMark");
     146             : 
     147           0 :     pSh->StartAllAction();
     148           0 :     if(pCurTOXMark->GetTOXType()->GetType() == TOX_INDEX)
     149             :     {
     150           0 :         if(rDesc.GetPrimKey() && rDesc.GetPrimKey()->Len() )
     151             :         {
     152           0 :             pCurTOXMark->SetPrimaryKey( *rDesc.GetPrimKey() );
     153           0 :             if(rDesc.GetPhoneticReadingOfPrimKey())
     154           0 :                 pCurTOXMark->SetPrimaryKeyReading( *rDesc.GetPhoneticReadingOfPrimKey() );
     155             :             else
     156           0 :                 pCurTOXMark->SetPrimaryKeyReading( aEmptyStr );
     157             : 
     158           0 :             if( rDesc.GetSecKey() && rDesc.GetSecKey()->Len() )
     159             :             {
     160           0 :                 pCurTOXMark->SetSecondaryKey( *rDesc.GetSecKey() );
     161           0 :                 if(rDesc.GetPhoneticReadingOfSecKey())
     162           0 :                     pCurTOXMark->SetSecondaryKeyReading( *rDesc.GetPhoneticReadingOfSecKey() );
     163             :                 else
     164           0 :                     pCurTOXMark->SetSecondaryKeyReading( aEmptyStr );
     165             :             }
     166             :             else
     167             :             {
     168           0 :                 pCurTOXMark->SetSecondaryKey( aEmptyStr );
     169           0 :                 pCurTOXMark->SetSecondaryKeyReading( aEmptyStr );
     170             :             }
     171             :         }
     172             :         else
     173             :         {
     174           0 :             pCurTOXMark->SetPrimaryKey( aEmptyStr );
     175           0 :             pCurTOXMark->SetPrimaryKeyReading( aEmptyStr );
     176           0 :             pCurTOXMark->SetSecondaryKey( aEmptyStr );
     177           0 :             pCurTOXMark->SetSecondaryKeyReading( aEmptyStr );
     178             :         }
     179           0 :         if(rDesc.GetPhoneticReadingOfAltStr())
     180           0 :             pCurTOXMark->SetTextReading( *rDesc.GetPhoneticReadingOfAltStr() );
     181             :         else
     182           0 :             pCurTOXMark->SetTextReading( aEmptyStr );
     183           0 :         pCurTOXMark->SetMainEntry(rDesc.IsMainEntry());
     184             :     }
     185             :     else
     186           0 :         pCurTOXMark->SetLevel( static_cast< sal_uInt16 >(rDesc.GetLevel()) );
     187             : 
     188           0 :     if(rDesc.GetAltStr())
     189             :     {
     190             :         // JP 26.08.96: Bug 30344 - either the text of a Doc or an alternative test,
     191             :         //                          not both!
     192           0 :         sal_Bool bReplace = pCurTOXMark->IsAlternativeText();
     193           0 :         if( bReplace )
     194           0 :             pCurTOXMark->SetAlternativeText( *rDesc.GetAltStr() );
     195             :         else
     196             :         {
     197           0 :             SwTOXMark aCpy( *pCurTOXMark );
     198           0 :             aCurMarks.clear();
     199           0 :             pSh->DeleteTOXMark(pCurTOXMark);
     200           0 :             aCpy.SetAlternativeText( *rDesc.GetAltStr() );
     201           0 :             pSh->SwEditShell::Insert( aCpy );
     202           0 :             pCurTOXMark = 0;
     203             :         }
     204             :     }
     205           0 :     pSh->SetModified();
     206           0 :     pSh->EndAllAction();
     207             :     // Bug 36207 pCurTOXMark points nowhere here!
     208           0 :     if(!pCurTOXMark)
     209             :     {
     210           0 :         pSh->Left(CRSR_SKIP_CHARS, sal_False, 1, sal_False );
     211           0 :         pSh->GetCurTOXMarks(aCurMarks);
     212           0 :         SetCurTOXMark(0);
     213             :     }
     214           0 : }
     215             : 
     216             : 
     217             : /*--------------------------------------------------------------------
     218             :     Description:    determine UserTypeID
     219             :  --------------------------------------------------------------------*/
     220             : 
     221             : 
     222           0 : sal_uInt16 SwTOXMgr::GetUserTypeID(const String& rStr)
     223             : {
     224           0 :     sal_uInt16 nSize = pSh->GetTOXTypeCount(TOX_USER);
     225           0 :     for(sal_uInt16 i=0; i < nSize; ++i)
     226             :     {
     227           0 :         const SwTOXType* pTmp = pSh->GetTOXType(TOX_USER, i);
     228           0 :         if(pTmp && pTmp->GetTypeName() == rStr)
     229           0 :             return i;
     230             :     }
     231           0 :     SwTOXType aUserType(TOX_USER, rStr);
     232           0 :     pSh->InsertTOXType(aUserType);
     233           0 :     return nSize;
     234             : }
     235             : 
     236             : /*--------------------------------------------------------------------
     237             :     Description: traveling between TOXMarks
     238             :  --------------------------------------------------------------------*/
     239             : 
     240             : 
     241           0 : void SwTOXMgr::NextTOXMark(sal_Bool bSame)
     242             : {
     243             :     OSL_ENSURE(pCurTOXMark, "no current TOXMark");
     244           0 :     if( pCurTOXMark )
     245             :     {
     246           0 :         SwTOXSearch eDir = bSame ? TOX_SAME_NXT : TOX_NXT;
     247           0 :         pCurTOXMark = (SwTOXMark*)&pSh->GotoTOXMark( *pCurTOXMark, eDir );
     248             :     }
     249           0 : }
     250             : 
     251             : 
     252           0 : void SwTOXMgr::PrevTOXMark(sal_Bool bSame)
     253             : {
     254             :     OSL_ENSURE(pCurTOXMark, "no current TOXMark");
     255           0 :     if( pCurTOXMark )
     256             :     {
     257           0 :         SwTOXSearch eDir = bSame ? TOX_SAME_PRV : TOX_PRV;
     258           0 :         pCurTOXMark = (SwTOXMark*)&pSh->GotoTOXMark(*pCurTOXMark, eDir );
     259             :     }
     260           0 : }
     261             : 
     262             : /*--------------------------------------------------------------------
     263             :     Description: insert keyword index
     264             :  --------------------------------------------------------------------*/
     265           0 : const SwTOXBase* SwTOXMgr::GetCurTOX()
     266             : {
     267           0 :     return pSh->GetCurTOX();
     268             : }
     269             : 
     270           0 : const SwTOXType* SwTOXMgr::GetTOXType(TOXTypes eTyp, sal_uInt16 nId) const
     271             : {
     272           0 :     return pSh->GetTOXType(eTyp, nId);
     273             : }
     274             : 
     275           0 : void SwTOXMgr::SetCurTOXMark(sal_uInt16 nId)
     276             : {
     277           0 :     pCurTOXMark = (nId < aCurMarks.size()) ? aCurMarks[nId] : 0;
     278           0 : }
     279             : 
     280           0 : sal_Bool SwTOXMgr::UpdateOrInsertTOX(const SwTOXDescription& rDesc,
     281             :                                     SwTOXBase** ppBase,
     282             :                                     const SfxItemSet* pSet)
     283             : {
     284           0 :     SwWait aWait( *pSh->GetView().GetDocShell(), sal_True );
     285           0 :     sal_Bool bRet = sal_True;
     286           0 :     const SwTOXBase* pCurTOX = ppBase && *ppBase ? *ppBase : GetCurTOX();
     287           0 :     SwTOXBase* pTOX = (SwTOXBase*)pCurTOX;
     288             : 
     289           0 :     SwTOXBase * pNewTOX = NULL;
     290             : 
     291           0 :     if (pTOX)
     292           0 :         pNewTOX = new SwTOXBase(*pTOX);
     293             : 
     294           0 :     TOXTypes eCurTOXType = rDesc.GetTOXType();
     295           0 :     if(pCurTOX && !ppBase && pSh->HasSelection())
     296           0 :         pSh->EnterStdMode();
     297             : 
     298           0 :     switch(eCurTOXType)
     299             :     {
     300             :         case TOX_INDEX :
     301             :         {
     302           0 :             if(!pCurTOX || (ppBase && !(*ppBase)))
     303             :             {
     304           0 :                 const SwTOXType* pType = pSh->GetTOXType(eCurTOXType, 0);
     305           0 :                 SwForm aForm(eCurTOXType);
     306           0 :                 pNewTOX = new SwTOXBase(pType, aForm, nsSwTOXElement::TOX_MARK, pType->GetTypeName());
     307             :             }
     308           0 :             pNewTOX->SetOptions(rDesc.GetIndexOptions());
     309           0 :             pNewTOX->SetMainEntryCharStyle(rDesc.GetMainEntryCharStyle());
     310           0 :             pSh->SetTOIAutoMarkURL(rDesc.GetAutoMarkURL());
     311           0 :             pSh->ApplyAutoMark();
     312             :         }
     313           0 :         break;
     314             :         case TOX_CONTENT :
     315             :         {
     316           0 :             if(!pCurTOX || (ppBase && !(*ppBase)))
     317             :             {
     318           0 :                 const SwTOXType* pType = pSh->GetTOXType(eCurTOXType, 0);
     319           0 :                 SwForm aForm(eCurTOXType);
     320           0 :                 pNewTOX = new SwTOXBase(pType, aForm, rDesc.GetContentOptions(), pType->GetTypeName());
     321             :             }
     322           0 :             pNewTOX->SetCreate(rDesc.GetContentOptions());
     323           0 :             pNewTOX->SetLevel(rDesc.GetLevel());
     324             :         }
     325           0 :         break;
     326             :         case TOX_USER :
     327             :         {
     328           0 :             if(!pCurTOX || (ppBase && !(*ppBase)))
     329             :             {
     330           0 :                 sal_uInt16 nPos  = 0;
     331           0 :                 sal_uInt16 nSize = pSh->GetTOXTypeCount(eCurTOXType);
     332           0 :                 for(sal_uInt16 i=0; rDesc.GetTOUName() && i < nSize; ++i)
     333           0 :                 {   const SwTOXType* pType = pSh->GetTOXType(TOX_USER, i);
     334           0 :                     if(pType->GetTypeName() == *rDesc.GetTOUName())
     335           0 :                     {   nPos = i;
     336           0 :                         break;
     337             :                     }
     338             :                 }
     339           0 :                 const SwTOXType* pType = pSh->GetTOXType(eCurTOXType, nPos);
     340             : 
     341           0 :                 SwForm aForm(eCurTOXType);
     342           0 :                 pNewTOX = new SwTOXBase(pType, aForm, rDesc.GetContentOptions(), pType->GetTypeName());
     343             : 
     344             :             }
     345             :             else
     346             :             {
     347           0 :                 const_cast<SwTOXBase*>( pCurTOX )->SetCreate(rDesc.GetContentOptions());
     348             :             }
     349           0 :             pNewTOX->SetLevelFromChapter(rDesc.IsLevelFromChapter());
     350             :         }
     351           0 :         break;
     352             :         case TOX_OBJECTS:
     353             :         case TOX_TABLES:
     354             :         case TOX_AUTHORITIES:
     355             :         case TOX_ILLUSTRATIONS:
     356             :         {
     357             :             //Special handling for TOX_AUTHORITY
     358           0 :             if(TOX_AUTHORITIES == eCurTOXType)
     359             :             {
     360             :                 SwAuthorityFieldType* pFType = (SwAuthorityFieldType*)
     361           0 :                                                 pSh->GetFldType(RES_AUTHORITY, aEmptyStr);
     362           0 :                 if (!pFType)
     363             :                 {
     364           0 :                     SwAuthorityFieldType const type(pSh->GetDoc());
     365             :                     pFType = static_cast<SwAuthorityFieldType*>(
     366           0 :                                 pSh->InsertFldType(type));
     367             :                 }
     368           0 :                 pFType->SetPreSuffix(rDesc.GetAuthBrackets().GetChar(0),
     369           0 :                     rDesc.GetAuthBrackets().GetChar(1));
     370           0 :                 pFType->SetSequence(rDesc.IsAuthSequence());
     371           0 :                 SwTOXSortKey rArr[3];
     372           0 :                 rArr[0] = rDesc.GetSortKey1();
     373           0 :                 rArr[1] = rDesc.GetSortKey2();
     374           0 :                 rArr[2] = rDesc.GetSortKey3();
     375           0 :                 pFType->SetSortKeys(3, rArr);
     376           0 :                 pFType->SetSortByDocument(rDesc.IsSortByDocument());
     377           0 :                 pFType->SetLanguage(rDesc.GetLanguage());
     378           0 :                 pFType->SetSortAlgorithm(rDesc.GetSortAlgorithm());
     379             : 
     380           0 :                 pFType->UpdateFlds();
     381             :             }
     382             :             // TODO: consider properties of the current TOXType
     383           0 :             if(!pCurTOX || (ppBase && !(*ppBase)))
     384             :             {
     385           0 :                 const SwTOXType* pType = pSh->GetTOXType(eCurTOXType, 0);
     386           0 :                 SwForm aForm(eCurTOXType);
     387             :                 pNewTOX = new SwTOXBase(
     388             :                     pType, aForm,
     389           0 :                     TOX_AUTHORITIES == eCurTOXType ? nsSwTOXElement::TOX_MARK : 0, pType->GetTypeName());
     390             :             }
     391             :             else
     392             :             {
     393           0 :                 if((!ppBase || !(*ppBase)) && pSh->HasSelection())
     394           0 :                     pSh->DelRight();
     395           0 :                 pNewTOX = (SwTOXBase*)pCurTOX;
     396             :             }
     397           0 :             pNewTOX->SetFromObjectNames(rDesc.IsCreateFromObjectNames());
     398           0 :             pNewTOX->SetOLEOptions(rDesc.GetOLEOptions());
     399             :         }
     400           0 :         break;
     401             :     }
     402             : 
     403             : 
     404             :     OSL_ENSURE(pNewTOX, "no TOXBase created!" );
     405           0 :     if(!pNewTOX)
     406           0 :         return sal_False;
     407             : 
     408           0 :     pNewTOX->SetFromChapter(rDesc.IsFromChapter());
     409           0 :     pNewTOX->SetSequenceName(rDesc.GetSequenceName());
     410           0 :     pNewTOX->SetCaptionDisplay(rDesc.GetCaptionDisplay());
     411           0 :     pNewTOX->SetProtected(rDesc.IsReadonly());
     412             : 
     413           0 :     for(sal_uInt16 nLevel = 0; nLevel < MAXLEVEL; nLevel++)
     414           0 :         pNewTOX->SetStyleNames(rDesc.GetStyleNames(nLevel), nLevel);
     415             : 
     416           0 :     if(rDesc.GetTitle())
     417           0 :         pNewTOX->SetTitle(*rDesc.GetTitle());
     418           0 :     if(rDesc.GetForm())
     419           0 :         pNewTOX->SetTOXForm(*rDesc.GetForm());
     420           0 :     pNewTOX->SetLanguage(rDesc.GetLanguage());
     421           0 :     pNewTOX->SetSortAlgorithm(rDesc.GetSortAlgorithm());
     422             : 
     423           0 :     if(!pCurTOX || (ppBase && !(*ppBase)) )
     424             :     {
     425             :         // when ppBase is passed over, TOXBase is only created here
     426             :         // and then inserted in a global document by the dialog
     427           0 :         if(ppBase)
     428           0 :             (*ppBase) = pNewTOX;
     429             :         else
     430             :         {
     431           0 :             pSh->InsertTableOf(*pNewTOX, pSet);
     432           0 :             delete pNewTOX;
     433             :         }
     434             :     }
     435             :     else
     436             :     {
     437           0 :         SwDoc * pDoc = pSh->GetDoc();
     438             : 
     439           0 :         if (pDoc->GetIDocumentUndoRedo().DoesUndo())
     440             :         {
     441           0 :             if (pNewTOX != NULL)
     442             :             {
     443           0 :                 pDoc->GetIDocumentUndoRedo().DelAllUndoObj();
     444             :             }
     445             : 
     446           0 :             pDoc->GetIDocumentUndoRedo().StartUndo(UNDO_TOXCHANGE, NULL);
     447             :         }
     448             : 
     449           0 :         if (pNewTOX != NULL) // => pTOX != NULL
     450           0 :             pDoc->ChgTOX(*pTOX, *pNewTOX);
     451             : 
     452           0 :         bRet = pSh->UpdateTableOf(*pTOX, pSet);
     453             : 
     454           0 :         if (pDoc->GetIDocumentUndoRedo().DoesUndo())
     455             :         {
     456           0 :             pDoc->GetIDocumentUndoRedo().EndUndo(UNDO_TOXCHANGE, NULL);
     457             : 
     458           0 :             if (pNewTOX == NULL)
     459             :             {
     460           0 :                 pDoc->GetIDocumentUndoRedo().DelAllUndoObj();
     461             :             }
     462             :         }
     463             :     }
     464             : 
     465           0 :     return bRet;
     466             : }
     467             : 
     468           0 : void SwTOXDescription::SetSortKeys(SwTOXSortKey eKey1,
     469             :                         SwTOXSortKey eKey2,
     470             :                             SwTOXSortKey eKey3)
     471             : {
     472           0 :     SwTOXSortKey aArr[3];
     473           0 :     sal_uInt16 nPos = 0;
     474           0 :     if(AUTH_FIELD_END > eKey1.eField)
     475           0 :         aArr[nPos++] = eKey1;
     476           0 :     if(AUTH_FIELD_END > eKey2.eField)
     477           0 :         aArr[nPos++] = eKey2;
     478           0 :     if(AUTH_FIELD_END > eKey3.eField)
     479           0 :         aArr[nPos++] = eKey3;
     480             : 
     481           0 :     eSortKey1 = aArr[0];
     482           0 :     eSortKey2 = aArr[1];
     483           0 :     eSortKey3 = aArr[2];
     484           0 : }
     485             : 
     486           0 : void SwTOXDescription::ApplyTo(SwTOXBase& rTOXBase)
     487             : {
     488           0 :     for(sal_uInt16 i = 0; i < MAXLEVEL; i++)
     489           0 :         rTOXBase.SetStyleNames(GetStyleNames(i), i);
     490           0 :     rTOXBase.SetTitle(GetTitle() ? *GetTitle() : aEmptyStr);
     491           0 :     rTOXBase.SetCreate(GetContentOptions());
     492             : 
     493           0 :     if(GetTOXType() == TOX_INDEX)
     494           0 :         rTOXBase.SetOptions(GetIndexOptions());
     495           0 :     if(GetTOXType() != TOX_INDEX)
     496           0 :         rTOXBase.SetLevel(GetLevel());
     497           0 :     rTOXBase.SetFromObjectNames(IsCreateFromObjectNames());
     498           0 :     rTOXBase.SetSequenceName(GetSequenceName());
     499           0 :     rTOXBase.SetCaptionDisplay(GetCaptionDisplay());
     500           0 :     rTOXBase.SetFromChapter(IsFromChapter());
     501           0 :     rTOXBase.SetProtected(IsReadonly());
     502           0 :     rTOXBase.SetOLEOptions(GetOLEOptions());
     503           0 :     rTOXBase.SetLevelFromChapter(IsLevelFromChapter());
     504           0 :     rTOXBase.SetLanguage(eLanguage);
     505           0 :     rTOXBase.SetSortAlgorithm(sSortAlgorithm);
     506             : 
     507           0 : }
     508             : 
     509             : 
     510             : 
     511             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10