summaryrefslogtreecommitdiff
path: root/sw/inc/redline.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/inc/redline.hxx')
-rw-r--r--sw/inc/redline.hxx315
1 files changed, 0 insertions, 315 deletions
diff --git a/sw/inc/redline.hxx b/sw/inc/redline.hxx
deleted file mode 100644
index 45cd65c468..0000000000
--- a/sw/inc/redline.hxx
+++ /dev/null
@@ -1,315 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef _REDLINE_HXX
-#define _REDLINE_HXX
-
-#include <tools/datetime.hxx>
-#include <tools/string.hxx>
-
-#include <pam.hxx>
-
-#include <IDocumentRedlineAccess.hxx>
-
-#include <svl/smplhint.hxx>
-#include <vector>
-
-class SfxItemSet;
-class SwView;
-
-class SwRedlineExtraData
-{
- SwRedlineExtraData( const SwRedlineExtraData& );
- SwRedlineExtraData& operator=( const SwRedlineExtraData& );
-
-protected:
- SwRedlineExtraData() {}
-
-public:
- virtual ~SwRedlineExtraData();
- virtual SwRedlineExtraData* CreateNew() const = 0;
-
- virtual void Accept( SwPaM& rPam ) const;
- virtual void Reject( SwPaM& rPam ) const;
- virtual int operator == ( const SwRedlineExtraData& ) const;
-};
-
-class SwRedlineExtraData_FmtColl : public SwRedlineExtraData
-{
- String sFmtNm;
- SfxItemSet* pSet;
- sal_uInt16 nPoolId;
-public:
- SwRedlineExtraData_FmtColl( const String& rColl, sal_uInt16 nPoolFmtId,
- const SfxItemSet* pSet = 0 );
- virtual ~SwRedlineExtraData_FmtColl();
- virtual SwRedlineExtraData* CreateNew() const;
- virtual void Reject( SwPaM& rPam ) const;
- virtual int operator == ( const SwRedlineExtraData& ) const;
-
- void SetItemSet( const SfxItemSet& rSet );
-};
-
-class SwRedlineExtraData_Format : public SwRedlineExtraData
-{
- std::vector<sal_uInt16> aWhichIds;
-
- SwRedlineExtraData_Format( const SwRedlineExtraData_Format& rCpy );
-
-public:
- SwRedlineExtraData_Format( const SfxItemSet& rSet );
- virtual ~SwRedlineExtraData_Format();
- virtual SwRedlineExtraData* CreateNew() const;
- virtual void Reject( SwPaM& rPam ) const;
- virtual int operator == ( const SwRedlineExtraData& ) const;
-};
-
-
-class SW_DLLPUBLIC SwRedlineData
-{
- friend class SwRedline;
- SwRedlineData* pNext; // Points to other data.
- SwRedlineExtraData* pExtraData;
-
- String sComment;
- DateTime aStamp;
- RedlineType_t eType;
- sal_uInt16 nAuthor, nSeqNo;
-
-public:
- SwRedlineData( RedlineType_t eT, sal_uInt16 nAut );
- SwRedlineData( const SwRedlineData& rCpy, sal_Bool bCpyNext = sal_True );
-
- // For sw3io: pNext/pExtraData are taken over.
- SwRedlineData( RedlineType_t eT, sal_uInt16 nAut, const DateTime& rDT,
- const String& rCmnt, SwRedlineData* pNxt,
- SwRedlineExtraData* pExtraData = 0 );
-
- ~SwRedlineData();
-
- int operator==( const SwRedlineData& rCmp ) const
- {
- return nAuthor == rCmp.nAuthor &&
- eType == rCmp.eType &&
- sComment == rCmp.sComment &&
- (( !pNext && !rCmp.pNext ) ||
- ( pNext && rCmp.pNext && *pNext == *rCmp.pNext )) &&
- (( !pExtraData && !rCmp.pExtraData ) ||
- ( pExtraData && rCmp.pExtraData &&
- *pExtraData == *rCmp.pExtraData ));
- }
- int operator!=( const SwRedlineData& rCmp ) const
- { return !operator==( rCmp ); }
-
- RedlineType_t GetType() const
- { return ((RedlineType_t)(eType & nsRedlineType_t::REDLINE_NO_FLAG_MASK)); }
- RedlineType_t GetRealType() const { return eType; }
- sal_uInt16 GetAuthor() const { return nAuthor; }
- const String& GetComment() const { return sComment; }
- const DateTime& GetTimeStamp() const { return aStamp; }
- inline const SwRedlineData* Next() const{ return pNext; }
-
- void SetComment( const String& rS ) { sComment = rS; }
- void SetTimeStamp( const DateTime& rDT ) { aStamp = rDT; }
-
- void SetAutoFmtFlag()
- { eType = (RedlineType_t)(eType | nsRedlineType_t::REDLINE_FORM_AUTOFMT); }
- int CanCombine( const SwRedlineData& rCmp ) const
- {
- return nAuthor == rCmp.nAuthor &&
- eType == rCmp.eType &&
- sComment == rCmp.sComment &&
- GetTimeStamp() == rCmp.GetTimeStamp() &&
- (( !pNext && !rCmp.pNext ) ||
- ( pNext && rCmp.pNext &&
- pNext->CanCombine( *rCmp.pNext ))) &&
- (( !pExtraData && !rCmp.pExtraData ) ||
- ( pExtraData && rCmp.pExtraData &&
- *pExtraData == *rCmp.pExtraData ));
- }
-
- // ExtraData gets copied, the pointer is therefore not taken over by
- // the RedlilneObject
- void SetExtraData( const SwRedlineExtraData* pData );
- const SwRedlineExtraData* GetExtraData() const { return pExtraData; }
-
- // For UI-side pooling of Redline-actions.
- // At the moment only used for Autoformat with Redline.
- // Value != 0 means there can be others!
- sal_uInt16 GetSeqNo() const { return nSeqNo; }
- void SetSeqNo( sal_uInt16 nNo ) { nSeqNo = nNo; }
-
- String GetDescr() const;
-};
-
-
-class SW_DLLPUBLIC SwRedline : public SwPaM
-{
- SwRedlineData* pRedlineData;
- SwNodeIndex* pCntntSect;
- sal_Bool bDelLastPara : 1;
- sal_Bool bIsLastParaDelete : 1;
- sal_Bool bIsVisible : 1;
-
- void MoveToSection();
- void CopyToSection();
- void DelCopyOfSection();
- void MoveFromSection();
-
-public:
- SwRedline( RedlineType_t eType, const SwPaM& rPam );
- SwRedline( const SwRedlineData& rData, const SwPaM& rPam );
- SwRedline( const SwRedlineData& rData, const SwPosition& rPos );
- // For sw3io: pData is taken over!
- SwRedline(SwRedlineData* pData, const SwPosition& rPos, sal_Bool bVsbl,
- sal_Bool bDelLP, sal_Bool bIsPD) :
- SwPaM( rPos ), pRedlineData( pData ), pCntntSect( 0 ),
- bDelLastPara( bDelLP ), bIsLastParaDelete( bIsPD ), bIsVisible( bVsbl )
- {}
- SwRedline( const SwRedline& );
- virtual ~SwRedline();
-
- SwNodeIndex* GetContentIdx() const { return pCntntSect; }
- // For Undo.
- void SetContentIdx( const SwNodeIndex* );
-
- sal_Bool IsVisible() const { return bIsVisible; }
- sal_Bool IsDelLastPara() const { return bDelLastPara; }
-
- // sal_Bool indicates whether after setting of Pos no range is spanned.
- // -> sal-True else range and sal-False.
- void SetStart( const SwPosition& rPos, SwPosition* pSttPtr = 0 )
- {
- if( !pSttPtr ) pSttPtr = Start();
- *pSttPtr = rPos;
- }
- void SetEnd( const SwPosition& rPos, SwPosition* pEndPtr = 0 )
- {
- if( !pEndPtr ) pEndPtr = End();
- *pEndPtr = rPos;
- }
- // Do we have a valid selection?
- sal_Bool HasValidRange() const;
-
- const SwRedlineData& GetRedlineData(sal_uInt16 nPos = 0) const;
- int operator==( const SwRedlineData& rCmp ) const
- { return *pRedlineData == rCmp; }
- int operator!=( const SwRedlineData& rCmp ) const
- { return *pRedlineData != rCmp; }
- void SetAutoFmtFlag() { pRedlineData->SetAutoFmtFlag(); }
-
- sal_uInt16 GetStackCount() const;
- sal_uInt16 GetAuthor( sal_uInt16 nPos = 0) const;
- const String& GetAuthorString( sal_uInt16 nPos = 0 ) const;
- const DateTime& GetTimeStamp( sal_uInt16 nPos = 0) const;
- RedlineType_t GetRealType( sal_uInt16 nPos = 0 ) const;
- RedlineType_t GetType( sal_uInt16 nPos = 0) const
- { return ( (RedlineType_t)(GetRealType( nPos ) & nsRedlineType_t::REDLINE_NO_FLAG_MASK)); }
- const String& GetComment( sal_uInt16 nPos = 0 ) const;
-
- void SetComment( const String& rS ) { pRedlineData->SetComment( rS ); }
-
- // ExtraData gets copied, the pointer is therefor not taken over by
- // the RedLineObject.
- void SetExtraData( const SwRedlineExtraData* pData )
- { pRedlineData->SetExtraData( pData ); }
- const SwRedlineExtraData* GetExtraData() const
- { return pRedlineData->GetExtraData(); }
-
- // For UI-side pooling of Redline-actions.
- // At the moment only used for Autoformat with Redline.
- // Value != 0 means there can be others!
- sal_uInt16 GetSeqNo() const { return pRedlineData->GetSeqNo(); }
- void SetSeqNo( sal_uInt16 nNo ) { pRedlineData->SetSeqNo( nNo ); }
-
- // At Hide/ShowOriginal the list is traversed two times in order to
- // hide the Del-Redlines via Copy and Delete.
- // Otherwise at Move the attribution would be handled incorrectly.
- // All other callers must always give 0.
- void CallDisplayFunc( sal_uInt16 nLoop = 0 );
- void Show( sal_uInt16 nLoop = 0 );
- void Hide( sal_uInt16 nLoop = 0 );
- void ShowOriginal( sal_uInt16 nLoop = 0 );
-
- // Calculates the intersection with text node number nNdIdx.
- void CalcStartEnd( sal_uLong nNdIdx, sal_uInt16& nStart, sal_uInt16& nEnd ) const;
-
- void InvalidateRange(); // Initiate the layout.
-
- sal_Bool IsOwnRedline( const SwRedline& rRedl ) const
- { return GetAuthor() == rRedl.GetAuthor(); }
- sal_Bool CanCombine( const SwRedline& rRedl ) const;
-
- void PushData( const SwRedline& rRedl, sal_Bool bOwnAsNext = sal_True );
- sal_Bool PopData();
-
- /**
- Returns textual description of this a redline data element of
- this redline.
-
- @param nPos index of the redline data element to describe
-
- The textual description of the selected element contains the
- kind of redline and the possibly shortened text of the redline.
-
- @return textual description of the selected redline data element
- */
- String GetDescr(sal_uInt16 nPos = 0);
-
- int operator==( const SwRedline& ) const;
- int operator<( const SwRedline& ) const;
-};
-
-class SW_DLLPUBLIC SwRedlineHint : public SfxHint
-{
-#define SWREDLINE_INSERTED 1
-#define SWREDLINE_REMOVED 2
-#define SWREDLINE_FOCUS 3
-#define SWREDLINE_CHANGED 4
-#define SWREDLINE_LANGUAGE 5
-
- const SwRedline* pRedline;
- sal_Int16 nWhich;
- const SwView* pView;
-
-public:
- SwRedlineHint( const SwRedline* p, sal_Int16 n, const SwView* pV = 0)
- : pRedline(p)
- , nWhich(n)
- , pView(pV)
- {}
-
- TYPEINFO();
- const SwRedline* GetRedline() const { return pRedline; }
- sal_Int16 Which() const { return nWhich; }
- const SwView* GetView() const { return pView; }
-};
-
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */