LCOV - code coverage report
Current view: top level - svx/source/dialog - ctredlin.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 2 750 0.3 %
Date: 2012-08-25 Functions: 2 116 1.7 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 2 991 0.2 %

           Branch data     Line data    Source code
       1                 :            : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2                 :            : /*************************************************************************
       3                 :            :  *
       4                 :            :  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       5                 :            :  *
       6                 :            :  * Copyright 2000, 2010 Oracle and/or its affiliates.
       7                 :            :  *
       8                 :            :  * OpenOffice.org - a multi-platform office productivity suite
       9                 :            :  *
      10                 :            :  * This file is part of OpenOffice.org.
      11                 :            :  *
      12                 :            :  * OpenOffice.org is free software: you can redistribute it and/or modify
      13                 :            :  * it under the terms of the GNU Lesser General Public License version 3
      14                 :            :  * only, as published by the Free Software Foundation.
      15                 :            :  *
      16                 :            :  * OpenOffice.org is distributed in the hope that it will be useful,
      17                 :            :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      18                 :            :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      19                 :            :  * GNU Lesser General Public License version 3 for more details
      20                 :            :  * (a copy is included in the LICENSE file that accompanied this code).
      21                 :            :  *
      22                 :            :  * You should have received a copy of the GNU Lesser General Public License
      23                 :            :  * version 3 along with OpenOffice.org.  If not, see
      24                 :            :  * <http://www.openoffice.org/license.html>
      25                 :            :  * for a copy of the LGPLv3 License.
      26                 :            :  *
      27                 :            :  ************************************************************************/
      28                 :            : 
      29                 :            : #include <vcl/svapp.hxx>
      30                 :            : #include <tools/shl.hxx>
      31                 :            : #include <sfx2/app.hxx>
      32                 :            : #include <sfx2/module.hxx>
      33                 :            : #include <svtools/txtcmp.hxx>
      34                 :            : #include <unotools/charclass.hxx>
      35                 :            : 
      36                 :            : #include <editeng/unolingu.hxx>
      37                 :            : #include <svx/dialmgr.hxx>
      38                 :            : #include "ctredlin.hrc"
      39                 :            : #include <svx/ctredlin.hxx>
      40                 :            : #include "helpid.hrc"
      41                 :            : 
      42                 :            : //============================================================================
      43                 :            : //  Local Defines and Function
      44                 :            : //----------------------------------------------------------------------------
      45                 :            : 
      46                 :            : inline void EnableDisable( Window& rWin, sal_Bool bEnable )
      47                 :            : {
      48                 :            :     if (bEnable)
      49                 :            :         rWin.Enable();
      50                 :            :     else
      51                 :            :         rWin.Disable();
      52                 :            : }
      53                 :            : 
      54                 :            : static long nStaticTabs[]=
      55                 :            : {
      56                 :            :     5,10,65,120,170,220
      57                 :            : };
      58                 :            : 
      59                 :            : #define MIN_DISTANCE    6
      60                 :            : #define WRITER_DATE     2
      61                 :            : #define CALC_DATE       3
      62                 :            : 
      63                 :          0 : RedlinData::RedlinData()
      64                 :            :     :
      65                 :          0 :         aDateTime( DateTime::EMPTY )
      66                 :            : {
      67                 :          0 :     bDisabled=sal_False;
      68                 :          0 :     pData=NULL;
      69                 :          0 : }
      70                 :          0 : RedlinData::~RedlinData()
      71                 :            : {
      72         [ #  # ]:          0 : }
      73                 :            : 
      74                 :            : //============================================================================
      75                 :            : //  class SvxRedlinEntry (Entries for list)
      76                 :            : //----------------------------------------------------------------------------
      77                 :            : 
      78                 :          0 : SvxRedlinEntry::SvxRedlinEntry()
      79                 :          0 :     :SvLBoxEntry()
      80                 :            : {
      81                 :          0 : }
      82                 :            : 
      83                 :          0 : SvxRedlinEntry::~SvxRedlinEntry()
      84                 :            : {
      85                 :          0 :     RedlinData* pRedDat=(RedlinData*) GetUserData();
      86         [ #  # ]:          0 :     if(pRedDat!=NULL)
      87                 :            :     {
      88 [ #  # ][ #  # ]:          0 :         delete pRedDat;
      89                 :            :     }
      90         [ #  # ]:          0 : }
      91                 :            : 
      92                 :            : // Functions in the inserts Items of SvxRedlinTable
      93                 :            : 
      94                 :            : DBG_NAME(SvLBoxColorString);
      95                 :            : 
      96                 :          0 : SvLBoxColorString::SvLBoxColorString( SvLBoxEntry*pEntry,sal_uInt16 nFlags,const XubString& rStr,
      97                 :            :                                     const Color& rCol)
      98                 :            : 
      99         [ #  # ]:          0 : : SvLBoxString( pEntry, nFlags, rStr )
     100                 :            : {
     101                 :            :     DBG_CTOR(SvLBoxColorString,0);
     102                 :          0 :     aPrivColor=rCol;
     103         [ #  # ]:          0 :     SetText( rStr );
     104                 :          0 : }
     105                 :            : 
     106                 :          0 : SvLBoxColorString::SvLBoxColorString()
     107                 :          0 : : SvLBoxString()
     108                 :            : {
     109                 :            :     DBG_CTOR(SvLBoxColorString,0);
     110                 :          0 : }
     111                 :            : 
     112                 :          0 : SvLBoxColorString::~SvLBoxColorString()
     113                 :            : {
     114                 :            :     DBG_DTOR(SvLBoxColorString,0);
     115         [ #  # ]:          0 : }
     116                 :            : 
     117                 :          0 : SvLBoxItem* SvLBoxColorString::Create() const
     118                 :            : {
     119                 :            :     DBG_CHKTHIS(SvLBoxColorString,0);
     120         [ #  # ]:          0 :     return new SvLBoxColorString;
     121                 :            : }
     122                 :            : 
     123                 :          0 : void SvLBoxColorString::Paint( const Point& rPos, SvLBox& rDev,
     124                 :            :                              sal_uInt16 nFlags, SvLBoxEntry* pEntry )
     125                 :            : /* [Description]
     126                 :            : 
     127                 :            :    Paint function of the SvLBoxColorString class. The relevant text with the
     128                 :            :    selected color is drawn in the output device.
     129                 :            : */
     130                 :            : 
     131                 :            : {
     132                 :          0 :     Color aColor=rDev.GetTextColor();
     133                 :          0 :     Color a2Color=aColor;
     134         [ #  # ]:          0 :     if(!(nFlags & SVLISTENTRYFLAG_SELECTED))
     135                 :            :     {
     136         [ #  # ]:          0 :         rDev.SetTextColor(aPrivColor);
     137                 :            :     }
     138         [ #  # ]:          0 :     SvLBoxString::Paint(rPos,rDev,nFlags,pEntry );
     139         [ #  # ]:          0 :     rDev.SetTextColor(a2Color);
     140                 :          0 : }
     141                 :            : 
     142                 :            : //============================================================================
     143                 :            : //  class SvxRedlinTable
     144                 :            : //----------------------------------------------------------------------------
     145                 :            : 
     146                 :          0 : SvxRedlinTable::SvxRedlinTable(SvxSimpleTableContainer& rParent,WinBits nBits)
     147                 :            :     : SvxSimpleTable(rParent,nBits),
     148                 :            :     aDaTiFirst( DateTime::EMPTY ),
     149                 :            :     aDaTiLast( DateTime::EMPTY ),
     150                 :            :     aDaTiFilterFirst( DateTime::EMPTY ),
     151 [ #  # ][ #  # ]:          0 :     aDaTiFilterLast( DateTime::EMPTY )
                 [ #  # ]
     152                 :            : {
     153                 :          0 :     bAuthor=sal_False;
     154                 :          0 :     bDate=sal_False;
     155                 :          0 :     bIsCalc=sal_False;
     156                 :          0 :     bComment=sal_False;
     157                 :          0 :     nDatePos=WRITER_DATE;
     158                 :          0 :     pCommentSearcher=NULL;
     159         [ #  # ]:          0 :     SetNodeDefaultImages();
     160                 :          0 : }
     161                 :            : 
     162 [ #  # ][ #  # ]:          0 : SvxRedlinTable::~SvxRedlinTable()
     163                 :            : {
     164         [ #  # ]:          0 :     if(pCommentSearcher!=NULL)
     165 [ #  # ][ #  # ]:          0 :         delete pCommentSearcher;
     166         [ #  # ]:          0 : }
     167                 :            : 
     168                 :          0 : StringCompare SvxRedlinTable::ColCompare(SvLBoxEntry* pLeft,SvLBoxEntry* pRight)
     169                 :            : {
     170                 :          0 :     StringCompare eCompare=COMPARE_EQUAL;
     171                 :            : 
     172         [ #  # ]:          0 :     if(aColCompareLink.IsSet())
     173                 :            :     {
     174                 :            :         SvSortData aRedlinCompare;
     175                 :          0 :         aRedlinCompare.pLeft=pLeft;
     176                 :          0 :         aRedlinCompare.pRight=pRight;
     177         [ #  # ]:          0 :         eCompare=(StringCompare) aColCompareLink.Call(&aRedlinCompare);
     178                 :            :     }
     179                 :            :     else
     180                 :            :     {
     181         [ #  # ]:          0 :         if(nDatePos==GetSortedCol())
     182                 :            :         {
     183                 :          0 :             RedlinData *pLeftData=(RedlinData *)(pLeft->GetUserData());
     184                 :          0 :             RedlinData *pRightData=(RedlinData *)(pRight->GetUserData());
     185                 :            : 
     186 [ #  # ][ #  # ]:          0 :             if(pLeftData!=NULL && pRightData!=NULL)
     187                 :            :             {
     188         [ #  # ]:          0 :                 if(pLeftData->aDateTime < pRightData->aDateTime)
     189                 :            :                 {
     190                 :          0 :                     eCompare=COMPARE_LESS;
     191                 :            :                 }
     192         [ #  # ]:          0 :                 else if(pLeftData->aDateTime > pRightData->aDateTime)
     193                 :            :                 {
     194                 :          0 :                     eCompare=COMPARE_GREATER;
     195                 :            :                 }
     196                 :            :             }
     197                 :            :             else
     198                 :          0 :                 eCompare=SvxSimpleTable::ColCompare(pLeft,pRight);
     199                 :            :         }
     200                 :            :         else
     201                 :            :         {
     202                 :          0 :             eCompare=SvxSimpleTable::ColCompare(pLeft,pRight);
     203                 :            :         }
     204                 :            : 
     205                 :            :     }
     206                 :            : 
     207                 :          0 :     return eCompare;
     208                 :            : }
     209                 :          0 : void SvxRedlinTable::SetCalcView(sal_Bool bFlag)
     210                 :            : {
     211                 :          0 :     bIsCalc=bFlag;
     212         [ #  # ]:          0 :     if(bFlag)
     213                 :            :     {
     214                 :          0 :         nDatePos=CALC_DATE;
     215                 :            :     }
     216                 :            :     else
     217                 :            :     {
     218                 :          0 :         nDatePos=WRITER_DATE;
     219                 :            :     }
     220                 :          0 : }
     221                 :            : 
     222                 :            : 
     223                 :          0 : void SvxRedlinTable::UpdateFilterTest()
     224                 :            : {
     225         [ #  # ]:          0 :     Date aDateMax( Date::SYSTEM );
     226                 :          0 :     sal_uInt16 nYEAR=aDateMax.GetYear()+100;
     227         [ #  # ]:          0 :     aDateMax.SetYear(nYEAR);
     228                 :          0 :     Date aDateMin(1,1,1989);
     229                 :          0 :     Time aTMin(0);
     230         [ #  # ]:          0 :     Time aTMax(23,59,59);
     231                 :            : 
     232                 :            : 
     233                 :          0 :     DateTime aDTMin(aDateMin);
     234                 :          0 :     DateTime aDTMax(aDateMax);
     235                 :            : 
     236   [ #  #  #  #  :          0 :     switch(nDaTiMode)
                   #  # ]
     237                 :            :     {
     238                 :            :         case FLT_DATE_BEFORE:
     239         [ #  # ]:          0 :                                 aDaTiFilterFirst=aDTMin;
     240         [ #  # ]:          0 :                                 aDaTiFilterLast=aDaTiFirst;
     241                 :          0 :                                 break;
     242                 :            :         case FLT_DATE_SAVE:
     243                 :            :         case FLT_DATE_SINCE:
     244         [ #  # ]:          0 :                                 aDaTiFilterFirst=aDaTiFirst;
     245         [ #  # ]:          0 :                                 aDaTiFilterLast=aDTMax;
     246                 :          0 :                                 break;
     247                 :            :         case FLT_DATE_EQUAL:
     248         [ #  # ]:          0 :                                 aDaTiFilterFirst=aDaTiFirst;
     249         [ #  # ]:          0 :                                 aDaTiFilterLast=aDaTiFirst;
     250                 :          0 :                                 aDaTiFilterFirst.SetTime(aTMin.GetTime());
     251                 :          0 :                                 aDaTiFilterLast.SetTime(aTMax.GetTime());
     252                 :          0 :                                 break;
     253                 :            :         case FLT_DATE_NOTEQUAL:
     254         [ #  # ]:          0 :                                 aDaTiFilterFirst=aDaTiFirst;
     255         [ #  # ]:          0 :                                 aDaTiFilterLast=aDaTiFirst;
     256                 :          0 :                                 aDaTiFilterFirst.SetTime(aTMin.GetTime());
     257                 :          0 :                                 aDaTiFilterLast.SetTime(aTMax.GetTime());
     258                 :          0 :                                 break;
     259                 :            :         case FLT_DATE_BETWEEN:
     260         [ #  # ]:          0 :                                 aDaTiFilterFirst=aDaTiFirst;
     261         [ #  # ]:          0 :                                 aDaTiFilterLast=aDaTiLast;
     262                 :          0 :                                 break;
     263                 :            :     }
     264                 :          0 : }
     265                 :            : 
     266                 :            : 
     267                 :          0 : void SvxRedlinTable::SetFilterDate(sal_Bool bFlag)
     268                 :            : {
     269                 :          0 :     bDate=bFlag;
     270                 :          0 : }
     271                 :            : 
     272                 :          0 : void SvxRedlinTable::SetDateTimeMode(sal_uInt16 nMode)
     273                 :            : {
     274                 :          0 :     nDaTiMode=nMode;
     275                 :          0 : }
     276                 :            : 
     277                 :          0 : void SvxRedlinTable::SetFirstDate(const Date& aDate)
     278                 :            : {
     279                 :          0 :     aDaTiFirst.SetDate(aDate.GetDate());
     280                 :          0 : }
     281                 :            : 
     282                 :          0 : void SvxRedlinTable::SetLastDate(const Date& aDate)
     283                 :            : {
     284                 :          0 :     aDaTiLast.SetDate(aDate.GetDate());
     285                 :          0 : }
     286                 :            : 
     287                 :          0 : void SvxRedlinTable::SetFirstTime(const Time& aTime)
     288                 :            : {
     289                 :          0 :     aDaTiFirst.SetTime(aTime.GetTime());
     290                 :          0 : }
     291                 :            : 
     292                 :          0 : void SvxRedlinTable::SetLastTime(const Time& aTime)
     293                 :            : {
     294                 :          0 :     aDaTiLast.SetTime(aTime.GetTime());
     295                 :          0 : }
     296                 :            : 
     297                 :          0 : void SvxRedlinTable::SetFilterAuthor(sal_Bool bFlag)
     298                 :            : {
     299                 :          0 :     bAuthor=bFlag;
     300                 :          0 : }
     301                 :            : 
     302                 :          0 : void SvxRedlinTable::SetAuthor(const String &aString)
     303                 :            : {
     304                 :          0 :     aAuthor=aString;
     305                 :          0 : }
     306                 :            : 
     307                 :          0 : void SvxRedlinTable::SetFilterComment(sal_Bool bFlag)
     308                 :            : {
     309                 :          0 :     bComment=bFlag;
     310                 :          0 : }
     311                 :            : 
     312                 :          0 : void SvxRedlinTable::SetCommentParams( const utl::SearchParam* pSearchPara )
     313                 :            : {
     314         [ #  # ]:          0 :     if(pSearchPara!=NULL)
     315                 :            :     {
     316 [ #  # ][ #  # ]:          0 :         if(pCommentSearcher!=NULL) delete pCommentSearcher;
     317                 :            : 
     318         [ #  # ]:          0 :         pCommentSearcher=new utl::TextSearch(*pSearchPara, LANGUAGE_SYSTEM );
     319                 :            :     }
     320                 :          0 : }
     321                 :            : 
     322                 :          0 : sal_Bool SvxRedlinTable::IsValidEntry(const String* pAuthorStr,
     323                 :            :                                   const DateTime *pDateTime,const String* pCommentStr)
     324                 :            : {
     325                 :          0 :     bool nTheFlag=true;
     326         [ #  # ]:          0 :     if(bAuthor)
     327                 :            :     {
     328                 :          0 :         nTheFlag = aAuthor.CompareTo(*pAuthorStr)==COMPARE_EQUAL;
     329                 :            :     }
     330 [ #  # ][ #  # ]:          0 :     if(bDate && nTheFlag)
     331                 :            :     {
     332         [ #  # ]:          0 :         if(nDaTiMode!=FLT_DATE_NOTEQUAL)
     333                 :            :         {
     334                 :          0 :             nTheFlag=pDateTime->IsBetween(aDaTiFilterFirst,aDaTiFilterLast);
     335                 :            :         }
     336                 :            :         else
     337                 :            :         {
     338                 :          0 :             nTheFlag=!(pDateTime->IsBetween(aDaTiFilterFirst,aDaTiFilterLast));
     339                 :            :         }
     340                 :            :     }
     341 [ #  # ][ #  # ]:          0 :     if(bComment && nTheFlag)
     342                 :            :     {
     343                 :          0 :         xub_StrLen nStartPos = 0;
     344                 :          0 :         xub_StrLen nEndPos = pCommentStr->Len();
     345                 :            : 
     346         [ #  # ]:          0 :         nTheFlag=pCommentSearcher->SearchFrwrd( *pCommentStr, &nStartPos, &nEndPos);
     347                 :            :     }
     348                 :          0 :     return nTheFlag;
     349                 :            : }
     350                 :            : 
     351                 :          0 : sal_Bool SvxRedlinTable::IsValidEntry(const String* pAuthorStr,const DateTime *pDateTime)
     352                 :            : {
     353                 :          0 :     sal_Bool nTheFlag=sal_True;
     354         [ #  # ]:          0 :     if(bAuthor)
     355                 :            :     {
     356         [ #  # ]:          0 :         if(aAuthor.CompareTo(*pAuthorStr)==COMPARE_EQUAL)
     357                 :          0 :             nTheFlag=sal_True;
     358                 :            :         else
     359                 :          0 :             nTheFlag=sal_False;
     360                 :            :     }
     361 [ #  # ][ #  # ]:          0 :     if(bDate && nTheFlag)
     362                 :            :     {
     363         [ #  # ]:          0 :         if(nDaTiMode!=FLT_DATE_NOTEQUAL)
     364                 :            :         {
     365                 :          0 :             nTheFlag=pDateTime->IsBetween(aDaTiFilterFirst,aDaTiFilterLast);
     366                 :            :         }
     367                 :            :         else
     368                 :            :         {
     369                 :          0 :             nTheFlag=!(pDateTime->IsBetween(aDaTiFilterFirst,aDaTiFilterLast));
     370                 :            :         }
     371                 :            :     }
     372                 :          0 :     return nTheFlag;
     373                 :            : }
     374                 :            : 
     375                 :          0 : sal_Bool SvxRedlinTable::IsValidComment(const String* pCommentStr)
     376                 :            : {
     377                 :          0 :     bool nTheFlag=true;
     378                 :            : 
     379         [ #  # ]:          0 :     if(bComment)
     380                 :            :     {
     381                 :          0 :         xub_StrLen nStartPos = 0;
     382                 :          0 :         xub_StrLen nEndPos = pCommentStr->Len();
     383                 :            : 
     384         [ #  # ]:          0 :         nTheFlag=pCommentSearcher->SearchFrwrd( *pCommentStr, &nStartPos, &nEndPos);
     385                 :            :     }
     386                 :          0 :     return nTheFlag;
     387                 :            : }
     388                 :            : 
     389                 :          0 : SvLBoxEntry* SvxRedlinTable::InsertEntry(const String& rStr,RedlinData *pUserData,
     390                 :            :                                 SvLBoxEntry* pParent,sal_uIntPtr nPos)
     391                 :            : {
     392                 :          0 :     aEntryColor=GetTextColor();
     393         [ #  # ]:          0 :     if(pUserData!=NULL)
     394                 :            :     {
     395         [ #  # ]:          0 :         if(pUserData->bDisabled)
     396                 :          0 :             aEntryColor=Color(COL_GRAY);
     397                 :            :     }
     398                 :            : 
     399         [ #  # ]:          0 :     XubString aStr= rStr;
     400                 :            : 
     401         [ #  # ]:          0 :     XubString aFirstStr( aStr );
     402         [ #  # ]:          0 :     xub_StrLen nEnd = aFirstStr.Search( sal_Unicode( '\t' ) );
     403         [ #  # ]:          0 :     if( nEnd != STRING_NOTFOUND )
     404                 :            :     {
     405         [ #  # ]:          0 :         aFirstStr.Erase( nEnd );
     406         [ #  # ]:          0 :         aCurEntry = aStr;
     407         [ #  # ]:          0 :         aCurEntry.Erase( 0, ++nEnd );
     408                 :            :     }
     409                 :            :     else
     410         [ #  # ]:          0 :         aCurEntry.Erase();
     411                 :            : 
     412 [ #  # ][ #  # ]:          0 :     return SvxSimpleTable::InsertEntry( aFirstStr, pParent, sal_False, nPos, pUserData );
                 [ #  # ]
     413                 :            : 
     414                 :            : }
     415                 :            : 
     416                 :          0 : SvLBoxEntry* SvxRedlinTable::InsertEntry(const String& rStr,RedlinData *pUserData,const Color& aColor,
     417                 :            :                                 SvLBoxEntry* pParent,sal_uIntPtr nPos)
     418                 :            : {
     419                 :          0 :     aEntryColor=aColor;
     420                 :            : 
     421         [ #  # ]:          0 :     XubString aStr= rStr;
     422                 :            : 
     423         [ #  # ]:          0 :     XubString aFirstStr( aStr );
     424         [ #  # ]:          0 :     xub_StrLen nEnd = aFirstStr.Search( sal_Unicode ( '\t' ) );
     425         [ #  # ]:          0 :     if( nEnd != STRING_NOTFOUND )
     426                 :            :     {
     427         [ #  # ]:          0 :         aFirstStr.Erase( nEnd );
     428         [ #  # ]:          0 :         aCurEntry = aStr;
     429         [ #  # ]:          0 :         aCurEntry.Erase( 0, ++nEnd );
     430                 :            :     }
     431                 :            :     else
     432         [ #  # ]:          0 :         aCurEntry.Erase();
     433                 :            : 
     434 [ #  # ][ #  # ]:          0 :     return SvxSimpleTable::InsertEntry( aFirstStr, pParent, sal_False, nPos, pUserData );
                 [ #  # ]
     435                 :            : }
     436                 :            : 
     437                 :          0 : SvLBoxEntry* SvxRedlinTable::CreateEntry() const
     438                 :            : {
     439         [ #  # ]:          0 :     return new SvxRedlinEntry;
     440                 :            : }
     441                 :            : 
     442                 :          0 : void SvxRedlinTable::InitEntry( SvLBoxEntry* pEntry, const XubString& rStr,
     443                 :            :     const Image& rColl, const Image& rExp, SvLBoxButtonKind eButtonKind )
     444                 :            : {
     445                 :            :     SvLBoxButton* pButton;
     446                 :            :     SvLBoxString* pString;
     447                 :            :     SvLBoxContextBmp* pContextBmp;
     448                 :            : 
     449         [ #  # ]:          0 :     if( nTreeFlags & TREEFLAG_CHKBTN )
     450                 :            :     {
     451 [ #  # ][ #  # ]:          0 :         pButton= new SvLBoxButton( pEntry,eButtonKind,0,pCheckButtonData );
     452         [ #  # ]:          0 :         pEntry->AddItem( pButton );
     453                 :            :     }
     454                 :            : 
     455                 :            :     pContextBmp= new SvLBoxContextBmp( pEntry,0, rColl,rExp,
     456 [ #  # ][ #  # ]:          0 :                                      SVLISTENTRYFLAG_EXPANDED);
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
     457         [ #  # ]:          0 :     pEntry->AddItem( pContextBmp );
     458                 :            : 
     459 [ #  # ][ #  # ]:          0 :     pString = new SvLBoxColorString( pEntry, 0, rStr ,aEntryColor);
     460         [ #  # ]:          0 :     pEntry->AddItem( pString );
     461                 :            : 
     462         [ #  # ]:          0 :     XubString aToken;
     463                 :            : 
     464                 :          0 :     xub_Unicode* pCurToken = (xub_Unicode*)aCurEntry.GetBuffer();
     465                 :            :     sal_uInt16 nCurTokenLen;
     466         [ #  # ]:          0 :     xub_Unicode* pNextToken = (xub_Unicode*)GetToken( pCurToken, nCurTokenLen );
     467                 :          0 :     sal_uInt16 nCount = TabCount(); nCount--;
     468                 :            : 
     469         [ #  # ]:          0 :     for( sal_uInt16 nToken = 0; nToken < nCount; nToken++ )
     470                 :            :     {
     471 [ #  # ][ #  # ]:          0 :         if( pCurToken && nCurTokenLen )
     472         [ #  # ]:          0 :             aToken = rtl::OUString(pCurToken, nCurTokenLen);
     473                 :            :         else
     474         [ #  # ]:          0 :             aToken.Erase();
     475                 :            : 
     476 [ #  # ][ #  # ]:          0 :         SvLBoxColorString* pStr = new SvLBoxColorString( pEntry, 0, aToken ,aEntryColor);
     477         [ #  # ]:          0 :         pEntry->AddItem( pStr );
     478                 :            : 
     479                 :          0 :         pCurToken = pNextToken;
     480         [ #  # ]:          0 :         if( pCurToken )
     481         [ #  # ]:          0 :             pNextToken = (xub_Unicode*)GetToken( pCurToken, nCurTokenLen );
     482                 :            :         else
     483                 :          0 :             nCurTokenLen = 0;
     484         [ #  # ]:          0 :     }
     485                 :          0 : }
     486                 :            : 
     487                 :            : 
     488                 :            : 
     489                 :            : 
     490                 :            : //============================================================================
     491                 :            : //  class SvxTPView
     492                 :            : //----------------------------------------------------------------------------
     493                 :            : 
     494                 :          0 : SvxTPView::SvxTPView( Window * pParent)
     495                 :          0 :     : TabPage( pParent, SVX_RES(SID_REDLIN_VIEW_PAGE)),
     496         [ #  # ]:          0 :     m_aViewDataContainer(this, SVX_RES(DG_VIEW)),
     497                 :            :     aViewData(m_aViewDataContainer),
     498         [ #  # ]:          0 :     PbAccept    ( this, SVX_RES(PB_ACCEPT    ) ),
     499         [ #  # ]:          0 :     PbReject    ( this, SVX_RES(PB_REJECT  ) ),
     500         [ #  # ]:          0 :     PbAcceptAll ( this, SVX_RES(PB_ACCEPTALL  ) ),
     501         [ #  # ]:          0 :     PbRejectAll ( this, SVX_RES(PB_REJECTALL  ) ),
     502         [ #  # ]:          0 :     PbUndo      ( this, SVX_RES(PB_UNDO  ) ),
     503         [ #  # ]:          0 :     aTitle1     ( SVX_RES( STR_TITLE1 ) ),      // local resource
     504         [ #  # ]:          0 :     aTitle2     ( SVX_RES( STR_TITLE2 ) ),
     505         [ #  # ]:          0 :     aTitle3     ( SVX_RES( STR_TITLE3 ) ),
     506         [ #  # ]:          0 :     aTitle4     ( SVX_RES( STR_TITLE4 ) ),
     507         [ #  # ]:          0 :     aTitle5     ( SVX_RES( STR_TITLE5 ) ),
     508 [ #  # ][ #  # ]:          0 :     aStrMyName  ( SVX_RES( STR_VIEW) )
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
     509                 :            : {
     510 [ #  # ][ #  # ]:          0 :     aViewData.SetAccessibleName(String(SVX_RES(STR_TREE)));
         [ #  # ][ #  # ]
     511         [ #  # ]:          0 :     FreeResource();
     512                 :            : 
     513         [ #  # ]:          0 :     aViewData.SetHelpId(HID_REDLINING_VIEW_DG_VIEW_TABLE);
     514         [ #  # ]:          0 :     aViewData.SetHeaderBarHelpId(HID_REDLINING_VIEW_DG_VIEW_HEADER);
     515                 :            : 
     516         [ #  # ]:          0 :     aMinSize=GetSizePixel();
     517                 :            : 
     518         [ #  # ]:          0 :     Link aLink=LINK( this, SvxTPView, PbClickHdl);
     519                 :            : 
     520                 :          0 :     PbAccept.SetClickHdl(aLink);
     521                 :          0 :     PbAcceptAll.SetClickHdl(aLink);
     522                 :          0 :     PbReject.SetClickHdl(aLink);
     523                 :          0 :     PbRejectAll.SetClickHdl(aLink);
     524                 :          0 :     PbUndo.SetClickHdl(aLink);
     525                 :            : 
     526         [ #  # ]:          0 :     nDistance=PbAccept.GetSizePixel().Height()+2*MIN_DISTANCE;
     527         [ #  # ]:          0 :     aViewData.SetTabs(nStaticTabs);
     528                 :          0 : }
     529                 :            : 
     530                 :          0 : String SvxTPView::GetMyName() const
     531                 :            : {
     532                 :          0 :     return aStrMyName;
     533                 :            : }
     534                 :            : 
     535                 :          0 : void SvxTPView::Resize()
     536                 :            : {
     537                 :          0 :     Size aSize=GetOutputSizePixel();
     538         [ #  # ]:          0 :     Point aPos = m_aViewDataContainer.GetPosPixel();
     539                 :          0 :     aSize.Height()-=aPos.Y()+nDistance;
     540                 :          0 :     aSize.Width()-=2*aPos.X();
     541                 :            : 
     542                 :          0 :     long newY=aPos.Y()+aSize.Height()+MIN_DISTANCE;
     543         [ #  # ]:          0 :     aPos=PbAccept.GetPosPixel();
     544                 :          0 :     aPos.Y()=newY;
     545         [ #  # ]:          0 :     PbAccept.SetPosPixel(aPos);
     546         [ #  # ]:          0 :     aPos=PbAcceptAll.GetPosPixel();
     547                 :          0 :     aPos.Y()=newY;
     548         [ #  # ]:          0 :     PbAcceptAll.SetPosPixel(aPos);
     549         [ #  # ]:          0 :     aPos=PbReject.GetPosPixel();
     550                 :          0 :     aPos.Y()=newY;
     551         [ #  # ]:          0 :     PbReject.SetPosPixel(aPos);
     552         [ #  # ]:          0 :     aPos=PbRejectAll.GetPosPixel();
     553                 :          0 :     aPos.Y()=newY;
     554         [ #  # ]:          0 :     PbRejectAll.SetPosPixel(aPos);
     555                 :            : 
     556 [ #  # ][ #  # ]:          0 :     if(PbUndo.IsVisible())
     557                 :            :     {
     558         [ #  # ]:          0 :         aPos=PbUndo.GetPosPixel();
     559                 :          0 :         aPos.Y()=newY;
     560         [ #  # ]:          0 :         PbUndo.SetPosPixel(aPos);
     561                 :            :     }
     562         [ #  # ]:          0 :     m_aViewDataContainer.SetSizePixel(aSize);
     563                 :          0 : }
     564                 :            : 
     565                 :          0 : void SvxTPView::InsertWriterHeader()
     566                 :            : {
     567                 :          0 :     rtl::OUString aStrTab('\t');
     568         [ #  # ]:          0 :     String aString(aTitle1);
     569         [ #  # ]:          0 :     aString+=aStrTab;
     570         [ #  # ]:          0 :     aString+=aTitle3;
     571         [ #  # ]:          0 :     aString+=aStrTab;
     572         [ #  # ]:          0 :     aString+=aTitle4;
     573         [ #  # ]:          0 :     aString+=aStrTab;
     574         [ #  # ]:          0 :     aString+=aTitle5;
     575         [ #  # ]:          0 :     aViewData.ClearHeader();
     576 [ #  # ][ #  # ]:          0 :     aViewData.InsertHeaderEntry(aString);
                 [ #  # ]
     577                 :          0 : }
     578                 :            : 
     579                 :          0 : void SvxTPView::InsertCalcHeader()
     580                 :            : {
     581                 :          0 :     rtl::OUString aStrTab('\t');
     582         [ #  # ]:          0 :     String aString(aTitle1);
     583         [ #  # ]:          0 :     aString+=aStrTab;
     584         [ #  # ]:          0 :     aString+=aTitle2;
     585         [ #  # ]:          0 :     aString+=aStrTab;
     586         [ #  # ]:          0 :     aString+=aTitle3;
     587         [ #  # ]:          0 :     aString+=aStrTab;
     588         [ #  # ]:          0 :     aString+=aTitle4;
     589         [ #  # ]:          0 :     aString+=aStrTab;
     590         [ #  # ]:          0 :     aString+=aTitle5;
     591         [ #  # ]:          0 :     aViewData.ClearHeader();
     592 [ #  # ][ #  # ]:          0 :     aViewData.InsertHeaderEntry(aString);
                 [ #  # ]
     593                 :          0 : }
     594                 :            : 
     595                 :          0 : void SvxTPView::EnableAccept(sal_Bool nFlag)
     596                 :            : {
     597                 :          0 :     PbAccept.Enable(nFlag);
     598                 :          0 : }
     599                 :            : 
     600                 :          0 : void SvxTPView::EnableAcceptAll(sal_Bool nFlag)
     601                 :            : {
     602                 :          0 :     PbAcceptAll.Enable(nFlag);
     603                 :          0 : }
     604                 :            : 
     605                 :          0 : void SvxTPView::EnableReject(sal_Bool nFlag)
     606                 :            : {
     607                 :          0 :     PbReject.Enable(nFlag);
     608                 :          0 : }
     609                 :            : 
     610                 :          0 : void SvxTPView::EnableRejectAll(sal_Bool nFlag)
     611                 :            : {
     612                 :          0 :     PbRejectAll.Enable(nFlag);
     613                 :          0 : }
     614                 :            : 
     615                 :          0 : void SvxTPView::ShowUndo(sal_Bool nFlag)
     616                 :            : {
     617                 :          0 :     PbUndo.Show(nFlag);
     618                 :          0 : }
     619                 :            : 
     620                 :          0 : void SvxTPView::EnableUndo(sal_Bool nFlag)
     621                 :            : {
     622                 :          0 :     PbUndo.Enable(nFlag);
     623                 :          0 : }
     624                 :            : 
     625                 :          0 : Size SvxTPView::GetMinSizePixel()
     626                 :            : {
     627                 :          0 :     Size aSize=aMinSize;
     628         [ #  # ]:          0 :     if(PbUndo.IsVisible())
     629                 :            :     {
     630                 :          0 :         sal_uIntPtr nSize=PbUndo.GetSizePixel().Width()
     631         [ #  # ]:          0 :                     +PbUndo.GetPosPixel().X()
     632         [ #  # ]:          0 :                     +PbAccept.GetPosPixel().X();
     633                 :            : 
     634                 :          0 :         aSize.Width()=nSize;
     635                 :            :     }
     636                 :            : 
     637                 :          0 :     return aSize;
     638                 :            : }
     639                 :            : 
     640                 :            : 
     641                 :          0 : SvxRedlinTable* SvxTPView::GetTableControl()
     642                 :            : {
     643                 :          0 :     return &aViewData;
     644                 :            : }
     645                 :            : 
     646                 :          0 : IMPL_LINK( SvxTPView, PbClickHdl, PushButton*, pPushB )
     647                 :            : {
     648         [ #  # ]:          0 :     if(pPushB==&PbAccept)
     649                 :            :     {
     650                 :          0 :         AcceptClickLk.Call(this);
     651                 :            :     }
     652         [ #  # ]:          0 :     else if(pPushB==&PbAcceptAll)
     653                 :            :     {
     654                 :          0 :         AcceptAllClickLk.Call(this);
     655                 :            :     }
     656         [ #  # ]:          0 :     else if(pPushB==&PbReject)
     657                 :            :     {
     658                 :          0 :         RejectClickLk.Call(this);
     659                 :            :     }
     660         [ #  # ]:          0 :     else if(pPushB==&PbRejectAll)
     661                 :            :     {
     662                 :          0 :         RejectAllClickLk.Call(this);
     663                 :            :     }
     664         [ #  # ]:          0 :     else if(pPushB==&PbUndo)
     665                 :            :     {
     666                 :          0 :         UndoClickLk.Call(this);
     667                 :            :     }
     668                 :            : 
     669                 :          0 :     return 0;
     670                 :            : }
     671                 :            : 
     672                 :            : 
     673                 :            : 
     674                 :            : 
     675                 :            : //============================================================================
     676                 :            : //  class SvxTPFilter
     677                 :            : //----------------------------------------------------------------------------
     678                 :            : 
     679                 :          0 : SvxTPFilter::SvxTPFilter( Window * pParent)
     680                 :          0 :     : TabPage( pParent, SVX_RES(SID_REDLIN_FILTER_PAGE)),
     681                 :            :     pRedlinTable(NULL),
     682         [ #  # ]:          0 :     aCbDate     ( this, SVX_RES( CB_DATE ) ),
     683         [ #  # ]:          0 :     aLbDate     ( this, SVX_RES( LB_DATE ) ),
     684         [ #  # ]:          0 :     aDfDate     ( this, SVX_RES( DF_DATE ) ),
     685         [ #  # ]:          0 :     aTfDate     ( this, SVX_RES( TF_DATE ) ),
     686         [ #  # ]:          0 :     aIbClock    ( this, SVX_RES( IB_CLOCK ) ),
     687         [ #  # ]:          0 :     aFtDate2    ( this, SVX_RES( FT_DATE2 ) ),
     688         [ #  # ]:          0 :     aDfDate2    ( this, SVX_RES( DF_DATE2 ) ),
     689         [ #  # ]:          0 :     aTfDate2    ( this, SVX_RES( TF_DATE2 ) ),
     690         [ #  # ]:          0 :     aIbClock2   ( this, SVX_RES( IB_CLOCK2) ),
     691         [ #  # ]:          0 :     aCbAuthor   ( this, SVX_RES( CB_AUTOR ) ),
     692         [ #  # ]:          0 :     aLbAuthor   ( this, SVX_RES( LB_AUTOR ) ),
     693         [ #  # ]:          0 :     aCbRange    ( this, SVX_RES( CB_RANGE ) ),
     694         [ #  # ]:          0 :     aEdRange    ( this, SVX_RES( ED_RANGE ) ),
     695         [ #  # ]:          0 :     aBtnRange   ( this, SVX_RES( BTN_REF ) ),
     696         [ #  # ]:          0 :     aLbAction   ( this, SVX_RES( LB_ACTION ) ),
     697         [ #  # ]:          0 :     aCbComment  ( this, SVX_RES( CB_COMMENT) ),
     698         [ #  # ]:          0 :     aEdComment  ( this, SVX_RES( ED_COMMENT) ),
     699         [ #  # ]:          0 :     aActionStr  (       SVX_RES( STR_ACTION) ),
     700         [ #  # ]:          0 :     aStrMyName  (       SVX_RES( STR_FILTER) ),
     701 [ #  # ][ #  # ]:          0 :     bModified   (sal_False)
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
     702                 :            : {
     703 [ #  # ][ #  # ]:          0 :     aLbDate.SetAccessibleName( String( SVX_RES( STR_DATE_COMBOX) ) );
         [ #  # ][ #  # ]
     704 [ #  # ][ #  # ]:          0 :     aDfDate.SetAccessibleName( String( SVX_RES( STR_DATE_SPIN) ) );
         [ #  # ][ #  # ]
     705 [ #  # ][ #  # ]:          0 :     aTfDate.SetAccessibleName( String( SVX_RES( STR_DATE_TIME_SPIN) ) );
         [ #  # ][ #  # ]
     706 [ #  # ][ #  # ]:          0 :     aDfDate2.SetAccessibleName( String( SVX_RES( STR_DATE_SPIN1) ) );
         [ #  # ][ #  # ]
     707 [ #  # ][ #  # ]:          0 :     aTfDate2.SetAccessibleName( String( SVX_RES( STR_DATE_TIME_SPIN1) ) );
         [ #  # ][ #  # ]
     708 [ #  # ][ #  # ]:          0 :     aLbAuthor.SetAccessibleName(aCbAuthor.GetText());
                 [ #  # ]
     709 [ #  # ][ #  # ]:          0 :     aLbAction.SetAccessibleName( String( SVX_RES( STR_ACTION) ) );
         [ #  # ][ #  # ]
     710 [ #  # ][ #  # ]:          0 :     aEdComment.SetAccessibleName(aCbComment.GetText());
                 [ #  # ]
     711         [ #  # ]:          0 :     FreeResource();
     712                 :            : 
     713         [ #  # ]:          0 :     aDfDate.SetShowDateCentury( sal_True );
     714         [ #  # ]:          0 :     aDfDate2.SetShowDateCentury( sal_True );
     715                 :            : 
     716 [ #  # ][ #  # ]:          0 :     aRangeStr=aCbRange.GetText();
                 [ #  # ]
     717         [ #  # ]:          0 :     aLbDate.SelectEntryPos(0);
     718         [ #  # ]:          0 :     aLbDate.SetSelectHdl( LINK( this, SvxTPFilter, SelDateHdl ) );
     719         [ #  # ]:          0 :     aIbClock.SetClickHdl( LINK( this, SvxTPFilter, TimeHdl) );
     720         [ #  # ]:          0 :     aIbClock2.SetClickHdl( LINK( this, SvxTPFilter,TimeHdl) );
     721         [ #  # ]:          0 :     aBtnRange.SetClickHdl( LINK( this, SvxTPFilter, RefHandle));
     722                 :            : 
     723         [ #  # ]:          0 :     Link aLink=LINK( this, SvxTPFilter, RowEnableHdl) ;
     724                 :          0 :     aCbDate.SetClickHdl(aLink);
     725                 :          0 :     aCbAuthor.SetClickHdl(aLink);
     726                 :          0 :     aCbRange.SetClickHdl(aLink);
     727                 :          0 :     aCbComment.SetClickHdl(aLink);
     728                 :            : 
     729         [ #  # ]:          0 :     Link a2Link=LINK( this, SvxTPFilter, ModifyDate);
     730                 :          0 :     aDfDate.SetModifyHdl(a2Link);
     731                 :          0 :     aTfDate.SetModifyHdl(a2Link);
     732                 :          0 :     aDfDate2.SetModifyHdl(a2Link);
     733                 :          0 :     aTfDate2.SetModifyHdl(a2Link);
     734                 :            : 
     735         [ #  # ]:          0 :     Link a3Link=LINK( this, SvxTPFilter, ModifyHdl);
     736                 :          0 :     aEdRange.SetModifyHdl(a3Link);
     737                 :          0 :     aEdComment.SetModifyHdl(a3Link);
     738                 :          0 :     aLbAction.SetSelectHdl(a3Link);
     739                 :          0 :     aLbAuthor.SetSelectHdl(a3Link);
     740                 :            : 
     741         [ #  # ]:          0 :     RowEnableHdl(&aCbDate);
     742         [ #  # ]:          0 :     RowEnableHdl(&aCbAuthor);
     743         [ #  # ]:          0 :     RowEnableHdl(&aCbRange);
     744         [ #  # ]:          0 :     RowEnableHdl(&aCbComment);
     745                 :            : 
     746         [ #  # ]:          0 :     Date aDate( Date::SYSTEM );
     747         [ #  # ]:          0 :     Time aTime( Time::SYSTEM );
     748         [ #  # ]:          0 :     aDfDate.SetDate(aDate);
     749         [ #  # ]:          0 :     aTfDate.SetTime(aTime);
     750         [ #  # ]:          0 :     aDfDate2.SetDate(aDate);
     751         [ #  # ]:          0 :     aTfDate2.SetTime(aTime);
     752         [ #  # ]:          0 :     HideRange();
     753         [ #  # ]:          0 :     ShowAction();
     754                 :          0 :     bModified=sal_False;
     755                 :            : 
     756         [ #  # ]:          0 :     aLbDate.SetAccessibleRelationLabeledBy(&aCbDate);
     757         [ #  # ]:          0 :     aLbAuthor.SetAccessibleRelationLabeledBy(&aCbAuthor);
     758         [ #  # ]:          0 :     aLbAction.SetAccessibleRelationLabeledBy(&aCbRange);
     759         [ #  # ]:          0 :     aEdRange.SetAccessibleRelationLabeledBy(&aCbRange);
     760         [ #  # ]:          0 :     aBtnRange.SetAccessibleRelationLabeledBy(&aCbRange);
     761         [ #  # ]:          0 :     aEdComment.SetAccessibleRelationLabeledBy(&aCbComment);
     762         [ #  # ]:          0 :     aDfDate2.SetAccessibleRelationLabeledBy(&aDfDate2);
     763         [ #  # ]:          0 :     aTfDate2.SetAccessibleRelationLabeledBy(&aTfDate2);
     764                 :          0 : }
     765                 :            : 
     766                 :          0 : void SvxTPFilter::SetRedlinTable(SvxRedlinTable* pTable)
     767                 :            : {
     768                 :          0 :     pRedlinTable=pTable;
     769                 :          0 : }
     770                 :            : 
     771                 :          0 : String SvxTPFilter::GetMyName() const
     772                 :            : {
     773                 :          0 :     return aStrMyName;
     774                 :            : }
     775                 :            : 
     776                 :          0 : void SvxTPFilter::ShowDateFields(sal_uInt16 nKind)
     777                 :            : {
     778         [ #  # ]:          0 :     String aEmpty;
     779   [ #  #  #  #  :          0 :     switch(nKind)
                #  #  # ]
     780                 :            :     {
     781                 :            :         case FLT_DATE_BEFORE:
     782         [ #  # ]:          0 :                 EnableDateLine1(sal_True);
     783         [ #  # ]:          0 :                 EnableDateLine2(sal_False);
     784                 :          0 :                 break;
     785                 :            :         case FLT_DATE_SINCE:
     786         [ #  # ]:          0 :                 EnableDateLine1(sal_True);
     787         [ #  # ]:          0 :                 EnableDateLine2(sal_False);
     788                 :          0 :                 break;
     789                 :            :         case FLT_DATE_EQUAL:
     790         [ #  # ]:          0 :                 EnableDateLine1(sal_True);
     791         [ #  # ]:          0 :                 aTfDate.Disable();
     792         [ #  # ]:          0 :                 aTfDate.SetText(aEmpty);
     793         [ #  # ]:          0 :                 EnableDateLine2(sal_False);
     794                 :          0 :                 break;
     795                 :            :         case FLT_DATE_NOTEQUAL:
     796         [ #  # ]:          0 :                 EnableDateLine1(sal_True);
     797         [ #  # ]:          0 :                 aTfDate.Disable();
     798         [ #  # ]:          0 :                 aTfDate.SetText(aEmpty);
     799         [ #  # ]:          0 :                 EnableDateLine2(sal_False);
     800                 :          0 :                 break;
     801                 :            :         case FLT_DATE_BETWEEN:
     802         [ #  # ]:          0 :                 EnableDateLine1(sal_True);
     803         [ #  # ]:          0 :                 EnableDateLine2(sal_True);
     804                 :          0 :                 break;
     805                 :            :         case FLT_DATE_SAVE:
     806         [ #  # ]:          0 :                 EnableDateLine1(sal_False);
     807         [ #  # ]:          0 :                 EnableDateLine2(sal_False);
     808                 :          0 :                 break;
     809         [ #  # ]:          0 :     }
     810                 :          0 : }
     811                 :            : 
     812                 :          0 : void SvxTPFilter::EnableDateLine1(sal_Bool bFlag)
     813                 :            : {
     814 [ #  # ][ #  # ]:          0 :     if(bFlag && aCbDate.IsChecked())
                 [ #  # ]
     815                 :            :     {
     816                 :          0 :         aDfDate.Enable();
     817                 :          0 :         aTfDate.Enable();
     818                 :          0 :         aIbClock.Enable();
     819                 :            :     }
     820                 :            :     else
     821                 :            :     {
     822                 :          0 :         aDfDate.Disable();
     823                 :          0 :         aTfDate.Disable();
     824                 :          0 :         aIbClock.Disable();
     825                 :            :     }
     826                 :          0 : }
     827                 :          0 : void SvxTPFilter::EnableDateLine2(sal_Bool bFlag)
     828                 :            : {
     829         [ #  # ]:          0 :     String aEmpty;
     830 [ #  # ][ #  # ]:          0 :     if(bFlag && aCbDate.IsChecked())
         [ #  # ][ #  # ]
     831                 :            :     {
     832         [ #  # ]:          0 :         aFtDate2.Enable();
     833         [ #  # ]:          0 :         aDfDate2.Enable();
     834         [ #  # ]:          0 :         aTfDate2.Enable();
     835         [ #  # ]:          0 :         aIbClock2.Enable();
     836                 :            :     }
     837                 :            :     else
     838                 :            :     {
     839         [ #  # ]:          0 :         aFtDate2.Disable();
     840         [ #  # ]:          0 :         aDfDate2.Disable();
     841         [ #  # ]:          0 :         aDfDate2.SetText(aEmpty);
     842         [ #  # ]:          0 :         aTfDate2.Disable();
     843         [ #  # ]:          0 :         aTfDate2.SetText(aEmpty);
     844         [ #  # ]:          0 :         aIbClock2.Disable();
     845         [ #  # ]:          0 :     }
     846                 :          0 : }
     847                 :            : 
     848                 :          0 : Date SvxTPFilter::GetFirstDate() const
     849                 :            : {
     850                 :          0 :     return aDfDate.GetDate();
     851                 :            : }
     852                 :            : 
     853                 :          0 : void SvxTPFilter::SetFirstDate(const Date &aDate)
     854                 :            : {
     855                 :          0 :     aDfDate.SetDate(aDate);
     856                 :          0 : }
     857                 :            : 
     858                 :          0 : Time SvxTPFilter::GetFirstTime() const
     859                 :            : {
     860                 :          0 :     return aTfDate.GetTime();
     861                 :            : }
     862                 :            : 
     863                 :          0 : void SvxTPFilter::SetFirstTime(const Time &aTime)
     864                 :            : {
     865                 :          0 :     aTfDate.SetTime(aTime);
     866                 :          0 : }
     867                 :            : 
     868                 :            : 
     869                 :          0 : Date SvxTPFilter::GetLastDate() const
     870                 :            : {
     871                 :          0 :     return aDfDate2.GetDate();
     872                 :            : }
     873                 :            : 
     874                 :          0 : void SvxTPFilter::SetLastDate(const Date &aDate)
     875                 :            : {
     876                 :          0 :     aDfDate2.SetDate(aDate);
     877                 :          0 : }
     878                 :            : 
     879                 :          0 : Time SvxTPFilter::GetLastTime() const
     880                 :            : {
     881                 :          0 :     return aTfDate2.GetTime();
     882                 :            : }
     883                 :            : 
     884                 :          0 : void SvxTPFilter::SetLastTime(const Time &aTime)
     885                 :            : {
     886                 :          0 :     aTfDate2.SetTime(aTime);
     887                 :          0 : }
     888                 :            : 
     889                 :          0 : void SvxTPFilter::SetDateMode(sal_uInt16 nMode)
     890                 :            : {
     891                 :          0 :     aLbDate.SelectEntryPos(nMode);
     892                 :          0 :     SelDateHdl(&aLbDate);
     893                 :          0 : }
     894                 :            : 
     895                 :          0 : sal_uInt16 SvxTPFilter::GetDateMode()
     896                 :            : {
     897                 :          0 :     return (sal_uInt16) aLbDate.GetSelectEntryPos();
     898                 :            : }
     899                 :          0 : void SvxTPFilter::ClearAuthors()
     900                 :            : {
     901                 :          0 :     aLbAuthor.Clear();
     902                 :          0 : }
     903                 :            : 
     904                 :          0 : void SvxTPFilter::InsertAuthor( const String& rString, sal_uInt16 nPos)
     905                 :            : {
     906                 :          0 :     aLbAuthor.InsertEntry(rString,nPos);
     907                 :          0 : }
     908                 :            : 
     909                 :          0 : String SvxTPFilter::GetSelectedAuthor() const
     910                 :            : {
     911                 :          0 :     return aLbAuthor.GetSelectEntry();
     912                 :            : }
     913                 :            : 
     914                 :          0 : void SvxTPFilter::SelectedAuthorPos(sal_uInt16 nPos)
     915                 :            : {
     916                 :          0 :     aLbAuthor.SelectEntryPos(nPos);
     917                 :          0 : }
     918                 :            : 
     919                 :          0 : sal_uInt16 SvxTPFilter::SelectAuthor(const String& aString)
     920                 :            : {
     921                 :          0 :     aLbAuthor.SelectEntry(aString);
     922                 :          0 :     return aLbAuthor.GetSelectEntryPos();
     923                 :            : }
     924                 :            : 
     925                 :          0 : void SvxTPFilter::SetRange(const String& rString)
     926                 :            : {
     927                 :          0 :     aEdRange.SetText(rString);
     928                 :          0 : }
     929                 :            : 
     930                 :          0 : String SvxTPFilter::GetRange() const
     931                 :            : {
     932                 :          0 :     return aEdRange.GetText();
     933                 :            : }
     934                 :            : 
     935                 :          0 : void SvxTPFilter::SetFocusToRange()
     936                 :            : {
     937                 :          0 :     aEdRange.GrabFocus();
     938                 :          0 : }
     939                 :            : 
     940                 :          0 : void SvxTPFilter::HideRange(sal_Bool bHide)
     941                 :            : {
     942         [ #  # ]:          0 :     if(bHide)
     943                 :            :     {
     944                 :          0 :         aCbRange.Hide();
     945                 :          0 :         aEdRange.Hide();
     946                 :          0 :         aBtnRange.Hide();
     947                 :            :     }
     948                 :            :     else
     949                 :            :     {
     950                 :          0 :         ShowAction(sal_False);
     951                 :          0 :         aCbRange.SetText(aRangeStr);
     952                 :          0 :         aCbRange.Show();
     953                 :          0 :         aEdRange.Show();
     954                 :          0 :         aBtnRange.Show();
     955                 :            :     }
     956                 :          0 : }
     957                 :            : 
     958                 :          0 : void SvxTPFilter::SetComment(const String &rComment)
     959                 :            : {
     960                 :          0 :     aEdComment.SetText(rComment);
     961                 :          0 : }
     962                 :          0 : String SvxTPFilter::GetComment()const
     963                 :            : {
     964                 :          0 :     return aEdComment.GetText();
     965                 :            : }
     966                 :            : 
     967                 :          0 : sal_Bool SvxTPFilter::IsDate()
     968                 :            : {
     969                 :          0 :     return aCbDate.IsChecked();
     970                 :            : }
     971                 :            : 
     972                 :          0 : sal_Bool SvxTPFilter::IsAuthor()
     973                 :            : {
     974                 :          0 :     return aCbAuthor.IsChecked();
     975                 :            : }
     976                 :            : 
     977                 :          0 : sal_Bool SvxTPFilter::IsRange()
     978                 :            : {
     979                 :          0 :     return aCbRange.IsChecked();
     980                 :            : }
     981                 :          0 : sal_Bool SvxTPFilter::IsAction()
     982                 :            : {
     983                 :          0 :     return aCbRange.IsChecked();
     984                 :            : }
     985                 :            : 
     986                 :          0 : sal_Bool SvxTPFilter::IsComment()
     987                 :            : {
     988                 :          0 :     return aCbComment.IsChecked();
     989                 :            : }
     990                 :            : 
     991                 :          0 : void SvxTPFilter::CheckDate(sal_Bool bFlag)
     992                 :            : {
     993                 :          0 :     aCbDate.Check(bFlag);
     994                 :          0 :     RowEnableHdl(&aCbDate);
     995                 :          0 :     bModified=sal_False;
     996                 :          0 : }
     997                 :            : 
     998                 :          0 : void SvxTPFilter::CheckAuthor(sal_Bool bFlag)
     999                 :            : {
    1000                 :          0 :     aCbAuthor.Check(bFlag);
    1001                 :          0 :     RowEnableHdl(&aCbAuthor);
    1002                 :          0 :     bModified=sal_False;
    1003                 :          0 : }
    1004                 :            : 
    1005                 :          0 : void SvxTPFilter::CheckRange(sal_Bool bFlag)
    1006                 :            : {
    1007                 :          0 :     aCbRange.Check(bFlag);
    1008                 :          0 :     RowEnableHdl(&aCbRange);
    1009                 :          0 :     bModified=sal_False;
    1010                 :          0 : }
    1011                 :            : 
    1012                 :          0 : void SvxTPFilter::CheckAction(sal_Bool bFlag)
    1013                 :            : {
    1014                 :          0 :     aCbRange.Check(bFlag);
    1015                 :          0 :     RowEnableHdl(&aCbRange);
    1016                 :          0 :     bModified=sal_False;
    1017                 :          0 : }
    1018                 :            : 
    1019                 :          0 : void SvxTPFilter::CheckComment(sal_Bool bFlag)
    1020                 :            : {
    1021                 :          0 :     aCbComment.Check(bFlag);
    1022                 :          0 :     RowEnableHdl(&aCbComment);
    1023                 :          0 :     bModified=sal_False;
    1024                 :          0 : }
    1025                 :            : 
    1026                 :          0 : void SvxTPFilter::ShowAction(sal_Bool bShow)
    1027                 :            : {
    1028         [ #  # ]:          0 :     if(!bShow)
    1029                 :            :     {
    1030                 :          0 :         aCbRange.Hide();
    1031                 :          0 :         aLbAction.Hide();
    1032         [ #  # ]:          0 :         aCbRange.SetHelpId(HID_REDLINING_FILTER_CB_RANGE);
    1033                 :            :     }
    1034                 :            :     else
    1035                 :            :     {
    1036                 :          0 :         HideRange();
    1037                 :          0 :         aCbRange.SetText(aActionStr);
    1038         [ #  # ]:          0 :         aCbRange.SetHelpId(HID_REDLINING_FILTER_CB_ACTION);
    1039                 :          0 :         aCbRange.Show();
    1040                 :          0 :         aLbAction.Show();
    1041                 :            : 
    1042                 :            :     }
    1043                 :          0 : }
    1044                 :            : 
    1045                 :          0 : ListBox* SvxTPFilter::GetLbAction()
    1046                 :            : {
    1047                 :          0 :     return &aLbAction;
    1048                 :            : }
    1049                 :            : 
    1050                 :          0 : IMPL_LINK( SvxTPFilter, SelDateHdl, ListBox*, pLb )
    1051                 :            : {
    1052                 :          0 :     ShowDateFields((sal_uInt16)aLbDate.GetSelectEntryPos());
    1053                 :          0 :     ModifyHdl(pLb);
    1054                 :          0 :     return 0;
    1055                 :            : }
    1056                 :            : 
    1057                 :          0 : IMPL_LINK( SvxTPFilter, RowEnableHdl, CheckBox*, pCB )
    1058                 :            : {
    1059         [ #  # ]:          0 :     if(pCB==&aCbDate)
    1060                 :            :     {
    1061                 :          0 :         aLbDate.Enable(aCbDate.IsChecked());
    1062                 :          0 :         aLbDate.Invalidate();
    1063                 :          0 :         EnableDateLine1(sal_False);
    1064                 :          0 :         EnableDateLine2(sal_False);
    1065         [ #  # ]:          0 :         if(aCbDate.IsChecked()) SelDateHdl(&aLbDate);
    1066                 :            :     }
    1067         [ #  # ]:          0 :     else if(pCB==&aCbAuthor)
    1068                 :            :     {
    1069                 :          0 :         aLbAuthor.Enable(aCbAuthor.IsChecked());
    1070                 :          0 :         aLbAuthor.Invalidate();
    1071                 :            :     }
    1072         [ #  # ]:          0 :     else if(pCB==&aCbRange)
    1073                 :            :     {
    1074                 :          0 :         aLbAction.Enable(aCbRange.IsChecked());
    1075                 :          0 :         aLbAction.Invalidate();
    1076                 :          0 :         aEdRange.Enable(aCbRange.IsChecked());
    1077                 :          0 :         aBtnRange.Enable(aCbRange.IsChecked());
    1078                 :            :     }
    1079         [ #  # ]:          0 :     else if(pCB==&aCbComment)
    1080                 :            :     {
    1081                 :          0 :         aEdComment.Enable(aCbComment.IsChecked());
    1082                 :          0 :         aEdComment.Invalidate();
    1083                 :            :     }
    1084                 :            : 
    1085                 :          0 :     ModifyHdl(pCB);
    1086                 :          0 :     return 0;
    1087                 :            : }
    1088                 :            : 
    1089                 :          0 : IMPL_LINK( SvxTPFilter, TimeHdl, ImageButton*,pIB )
    1090                 :            : {
    1091         [ #  # ]:          0 :     Date aDate( Date::SYSTEM );
    1092         [ #  # ]:          0 :     Time aTime( Time::SYSTEM );
    1093         [ #  # ]:          0 :     if(pIB==&aIbClock)
    1094                 :            :     {
    1095         [ #  # ]:          0 :         aDfDate.SetDate(aDate);
    1096         [ #  # ]:          0 :         aTfDate.SetTime(aTime);
    1097                 :            :     }
    1098         [ #  # ]:          0 :     else if(pIB==&aIbClock2)
    1099                 :            :     {
    1100         [ #  # ]:          0 :         aDfDate2.SetDate(aDate);
    1101         [ #  # ]:          0 :         aTfDate2.SetTime(aTime);
    1102                 :            :     }
    1103         [ #  # ]:          0 :     ModifyHdl(&aDfDate);
    1104                 :          0 :     return 0;
    1105                 :            : }
    1106                 :            : 
    1107                 :          0 : IMPL_LINK( SvxTPFilter, ModifyHdl, void*, pCtr)
    1108                 :            : {
    1109         [ #  # ]:          0 :     if(pCtr!=NULL)
    1110                 :            :     {
    1111 [ #  # ][ #  # ]:          0 :         if(pCtr==&aCbDate  || pCtr==&aLbDate ||
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
    1112                 :            :            pCtr==&aDfDate  || pCtr==&aTfDate ||
    1113                 :            :            pCtr==&aIbClock || pCtr==&aFtDate2||
    1114                 :            :            pCtr==&aDfDate2 || pCtr==&aTfDate2||
    1115                 :            :            pCtr==&aIbClock2)
    1116                 :            :         {
    1117                 :          0 :             aModifyDateLink.Call(this);
    1118                 :            :         }
    1119 [ #  # ][ #  # ]:          0 :         else if(pCtr==&aCbAuthor || pCtr==&aLbAuthor)
    1120                 :            :         {
    1121                 :          0 :             aModifyAuthorLink.Call(this);
    1122                 :            :         }
    1123 [ #  # ][ #  # ]:          0 :         else if(pCtr==&aCbRange  || pCtr==&aEdRange ||
                 [ #  # ]
    1124                 :            :                 pCtr==&aBtnRange )
    1125                 :            :         {
    1126                 :          0 :             aModifyRefLink.Call(this);
    1127                 :            :         }
    1128 [ #  # ][ #  # ]:          0 :         else if(pCtr==&aCbComment || pCtr==&aEdComment)
    1129                 :            :         {
    1130                 :          0 :             aModifyComLink.Call(this);
    1131                 :            :         }
    1132                 :            : 
    1133                 :          0 :         bModified=sal_True;
    1134                 :          0 :         aModifyLink.Call(this);
    1135                 :            :     }
    1136                 :          0 :     return 0;
    1137                 :            : }
    1138                 :            : 
    1139                 :          0 : void SvxTPFilter::DeactivatePage()
    1140                 :            : {
    1141         [ #  # ]:          0 :     if(bModified)
    1142                 :            :     {
    1143         [ #  # ]:          0 :         if(pRedlinTable!=NULL)
    1144                 :            :         {
    1145 [ #  # ][ #  # ]:          0 :             pRedlinTable->SetFilterDate(IsDate());
    1146 [ #  # ][ #  # ]:          0 :             pRedlinTable->SetDateTimeMode(GetDateMode());
    1147 [ #  # ][ #  # ]:          0 :             pRedlinTable->SetFirstDate(aDfDate.GetDate());
    1148 [ #  # ][ #  # ]:          0 :             pRedlinTable->SetLastDate(aDfDate2.GetDate());
    1149 [ #  # ][ #  # ]:          0 :             pRedlinTable->SetFirstTime(aTfDate.GetTime());
    1150 [ #  # ][ #  # ]:          0 :             pRedlinTable->SetLastTime(aTfDate2.GetTime());
    1151 [ #  # ][ #  # ]:          0 :             pRedlinTable->SetFilterAuthor(IsAuthor());
    1152 [ #  # ][ #  # ]:          0 :             pRedlinTable->SetAuthor(GetSelectedAuthor());
                 [ #  # ]
    1153                 :            : 
    1154 [ #  # ][ #  # ]:          0 :             pRedlinTable->SetFilterComment(IsComment());
    1155                 :            : 
    1156                 :            :             utl::SearchParam aSearchParam( aEdComment.GetText(),
    1157 [ #  # ][ #  # ]:          0 :                     utl::SearchParam::SRCH_REGEXP,sal_False,sal_False,sal_False );
                 [ #  # ]
    1158                 :            : 
    1159         [ #  # ]:          0 :             pRedlinTable->SetCommentParams(&aSearchParam);
    1160                 :            : 
    1161 [ #  # ][ #  # ]:          0 :             pRedlinTable->UpdateFilterTest();
    1162                 :            :         }
    1163                 :            : 
    1164                 :          0 :         aReadyLink.Call(this);
    1165                 :            :     }
    1166                 :          0 :     bModified=sal_False;
    1167                 :          0 :     TabPage::DeactivatePage();
    1168                 :          0 : }
    1169                 :            : 
    1170                 :          0 : void SvxTPFilter::Enable( bool bEnable, bool bChild)
    1171                 :            : {
    1172                 :          0 :     TabPage::Enable(bEnable,bChild);
    1173         [ #  # ]:          0 :     if(aCbDate.IsEnabled())
    1174                 :            :     {
    1175                 :          0 :         RowEnableHdl(&aCbDate);
    1176                 :          0 :         RowEnableHdl(&aCbAuthor);
    1177                 :          0 :         RowEnableHdl(&aCbRange);
    1178                 :          0 :         RowEnableHdl(&aCbComment);
    1179                 :            :     }
    1180                 :          0 : }
    1181                 :          0 : void SvxTPFilter::Disable( bool bChild)
    1182                 :            : {
    1183                 :          0 :     Enable( false, bChild );
    1184                 :          0 : }
    1185                 :            : 
    1186                 :          0 : IMPL_LINK( SvxTPFilter, ModifyDate, void*,pTF)
    1187                 :            : {
    1188                 :            : 
    1189         [ #  # ]:          0 :     Date aDate( Date::SYSTEM );
    1190                 :          0 :     Time aTime(0);
    1191         [ #  # ]:          0 :     if(&aDfDate==pTF)
    1192                 :            :     {
    1193 [ #  # ][ #  # ]:          0 :         if(aDfDate.GetText().Len()==0)
                 [ #  # ]
    1194         [ #  # ]:          0 :            aDfDate.SetDate(aDate);
    1195                 :            : 
    1196         [ #  # ]:          0 :         if(pRedlinTable!=NULL)
    1197 [ #  # ][ #  # ]:          0 :             pRedlinTable->SetFirstDate(aDfDate.GetDate());
    1198                 :            :     }
    1199         [ #  # ]:          0 :     else if(&aDfDate2==pTF)
    1200                 :            :     {
    1201 [ #  # ][ #  # ]:          0 :         if(aDfDate2.GetText().Len()==0)
                 [ #  # ]
    1202         [ #  # ]:          0 :            aDfDate2.SetDate(aDate);
    1203                 :            : 
    1204         [ #  # ]:          0 :         if(pRedlinTable!=NULL)
    1205 [ #  # ][ #  # ]:          0 :             pRedlinTable->SetLastDate(aDfDate2.GetDate());
    1206                 :            :     }
    1207         [ #  # ]:          0 :     else if(&aTfDate==pTF)
    1208                 :            :     {
    1209 [ #  # ][ #  # ]:          0 :         if(aTfDate.GetText().Len()==0)
                 [ #  # ]
    1210         [ #  # ]:          0 :            aTfDate.SetTime(aTime);
    1211                 :            : 
    1212         [ #  # ]:          0 :         if(pRedlinTable!=NULL)
    1213 [ #  # ][ #  # ]:          0 :             pRedlinTable->SetFirstTime(aTfDate.GetTime());
    1214                 :            :     }
    1215         [ #  # ]:          0 :     else if(&aTfDate2==pTF)
    1216                 :            :     {
    1217 [ #  # ][ #  # ]:          0 :         if(aTfDate2.GetText().Len()==0)
                 [ #  # ]
    1218         [ #  # ]:          0 :            aTfDate2.SetTime(aTime);
    1219                 :            : 
    1220         [ #  # ]:          0 :         if(pRedlinTable!=NULL)
    1221 [ #  # ][ #  # ]:          0 :             pRedlinTable->SetLastTime(aTfDate2.GetTime());
    1222                 :            : 
    1223                 :            :     }
    1224         [ #  # ]:          0 :     ModifyHdl(&aDfDate);
    1225                 :          0 :     return 0;
    1226                 :            : }
    1227                 :            : 
    1228                 :          0 : IMPL_LINK( SvxTPFilter, RefHandle, PushButton*, pRef )
    1229                 :            : {
    1230         [ #  # ]:          0 :     if(pRef!=NULL)
    1231                 :            :     {
    1232                 :          0 :         aRefLink.Call(this);
    1233                 :            :     }
    1234                 :          0 :     return 0;
    1235                 :            : }
    1236                 :            : 
    1237                 :        139 : static Size gDiffSize;
    1238                 :            : //============================================================================
    1239                 :            : //  class SvxAcceptChgCtr
    1240                 :            : //----------------------------------------------------------------------------
    1241                 :            : 
    1242                 :          0 : SvxAcceptChgCtr::SvxAcceptChgCtr( Window* pParent, const ResId& rResId )
    1243                 :            :         :   Control(pParent,rResId ),
    1244 [ #  # ][ #  # ]:          0 :             aTCAccept(this,WB_TABSTOP |WB_DIALOGCONTROL)
    1245                 :            : {
    1246 [ #  # ][ #  # ]:          0 :     pTPFilter=new SvxTPFilter(&aTCAccept);
    1247 [ #  # ][ #  # ]:          0 :     pTPView=new SvxTPView(&aTCAccept);
    1248         [ #  # ]:          0 :     aMinSize=pTPView->GetMinSizePixel();
    1249                 :            : 
    1250 [ #  # ][ #  # ]:          0 :     aTCAccept.InsertPage( TP_VIEW,   pTPView->GetMyName());
                 [ #  # ]
    1251 [ #  # ][ #  # ]:          0 :     aTCAccept.InsertPage( TP_FILTER, pTPFilter->GetMyName());
                 [ #  # ]
    1252         [ #  # ]:          0 :     aTCAccept.SetTabPage( TP_VIEW,   pTPView);
    1253         [ #  # ]:          0 :     aTCAccept.SetTabPage( TP_FILTER, pTPFilter);
    1254         [ #  # ]:          0 :     aTCAccept.SetHelpId(HID_REDLINING_TABCONTROL);
    1255                 :            : 
    1256         [ #  # ]:          0 :     aTCAccept.SetTabPageSizePixel(aMinSize);
    1257         [ #  # ]:          0 :     Size aSize=aTCAccept.GetSizePixel();
    1258                 :            : 
    1259                 :          0 :     gDiffSize.Height()=aSize.Height()-aMinSize.Height();
    1260                 :          0 :     gDiffSize.Width()=aSize.Width()-aMinSize.Width();
    1261                 :            : 
    1262                 :            : 
    1263 [ #  # ][ #  # ]:          0 :     pTPFilter->SetRedlinTable(GetViewTable());
    1264         [ #  # ]:          0 :     WinBits nWinStyle=GetStyle()|WB_DIALOGCONTROL;
    1265         [ #  # ]:          0 :     SetStyle(nWinStyle);
    1266                 :            : 
    1267         [ #  # ]:          0 :     aTCAccept.Show();
    1268         [ #  # ]:          0 :     ShowViewPage();
    1269         [ #  # ]:          0 :     Resize();
    1270                 :          0 : }
    1271                 :            : 
    1272         [ #  # ]:          0 : SvxAcceptChgCtr::~SvxAcceptChgCtr()
    1273                 :            : {
    1274 [ #  # ][ #  # ]:          0 :     delete pTPView;
    1275 [ #  # ][ #  # ]:          0 :     delete pTPFilter;
    1276         [ #  # ]:          0 : }
    1277                 :            : 
    1278                 :          0 : void SvxAcceptChgCtr::Resize()
    1279                 :            : {
    1280         [ #  # ]:          0 :     aMinSize=pTPView->GetMinSizePixel();
    1281                 :          0 :     Size aSize=GetOutputSizePixel();
    1282                 :          0 :     sal_Bool bFlag=sal_False;
    1283                 :            : 
    1284         [ #  # ]:          0 :     if(aMinSize.Height()>aSize.Height())
    1285                 :            :     {
    1286                 :          0 :         aSize.Height()=aMinSize.Height();
    1287                 :          0 :         bFlag=sal_True;
    1288                 :            :     }
    1289         [ #  # ]:          0 :     if(aMinSize.Width()>aSize.Width())
    1290                 :            :     {
    1291                 :          0 :         aSize.Width()=aMinSize.Width();
    1292                 :          0 :         bFlag=sal_True;
    1293                 :            :     }
    1294                 :            : 
    1295         [ #  # ]:          0 :     if(bFlag)
    1296                 :            :     {
    1297         [ #  # ]:          0 :         SetOutputSizePixel(aSize);
    1298         [ #  # ]:          0 :         aMinSizeLink.Call(this);
    1299                 :            :     }
    1300                 :            : 
    1301                 :          0 :     aSize.Height()-=2;
    1302                 :          0 :     aSize.Width()-=2;
    1303         [ #  # ]:          0 :     aTCAccept.SetSizePixel(aSize);
    1304                 :          0 : }
    1305                 :            : 
    1306                 :          0 : Size SvxAcceptChgCtr::GetMinSizePixel() const
    1307                 :            : {
    1308                 :          0 :     Size aSize=pTPView->GetMinSizePixel();
    1309                 :          0 :     aSize.Height()+=gDiffSize.Height();
    1310                 :          0 :     aSize.Width()+=gDiffSize.Width();
    1311                 :          0 :     return aSize;
    1312                 :            : }
    1313                 :            : 
    1314                 :          0 : void SvxAcceptChgCtr::ShowFilterPage()
    1315                 :            : {
    1316                 :          0 :     aTCAccept.SetCurPageId(TP_FILTER);
    1317                 :          0 : }
    1318                 :            : 
    1319                 :          0 : void SvxAcceptChgCtr::ShowViewPage()
    1320                 :            : {
    1321                 :          0 :     aTCAccept.SetCurPageId(TP_VIEW);
    1322                 :          0 : }
    1323                 :            : 
    1324                 :          0 : SvxTPFilter* SvxAcceptChgCtr::GetFilterPage()
    1325                 :            : {
    1326                 :          0 :     return pTPFilter;
    1327                 :            : }
    1328                 :            : 
    1329                 :          0 : SvxTPView* SvxAcceptChgCtr::GetViewPage()
    1330                 :            : {
    1331                 :          0 :     return pTPView;
    1332                 :            : }
    1333                 :            : 
    1334                 :          0 : SvxRedlinTable* SvxAcceptChgCtr::GetViewTable()
    1335                 :            : {
    1336         [ #  # ]:          0 :     if(pTPView!=NULL)
    1337                 :            :     {
    1338                 :          0 :         return pTPView->GetTableControl();
    1339                 :            :     }
    1340                 :            :     else
    1341                 :            :     {
    1342                 :          0 :         return NULL;
    1343                 :            :     }
    1344 [ +  - ][ +  - ]:        417 : }
    1345                 :            : 
    1346                 :            : 
    1347                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10