LibreOffice Module sw (master)  1
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
SwRedlineItr Class Reference

#include <redlnitr.hxx>

Collaboration diagram for SwRedlineItr:
[legend]

Public Types

enum  Mode {
  Mode::Show,
  Mode::Ignore,
  Mode::Hide
}
 

Public Member Functions

 SwRedlineItr (const SwTextNode &rTextNd, SwFont &rFnt, SwAttrHandler &rAH, sal_Int32 nRedlPos, Mode mode, const std::vector< ExtTextInputAttr > *pArr=nullptr, SwPosition const *pExtInputStart=nullptr)
 
 ~SwRedlineItr () COVERITY_NOEXCEPT_FALSE
 
SwRedlineTable::size_type GetAct () const
 
bool IsOn () const
 
void Clear (SwFont *pFnt)
 
void ChangeTextAttr (SwFont *pFnt, SwTextAttr const &rHt, bool bChg)
 
short Seek (SwFont &rFnt, sal_uLong nNode, sal_Int32 nNew, sal_Int32 nOld)
 
void Reset ()
 
std::pair< sal_Int32, std::pair< SwRangeRedline const *, size_t > > GetNextRedln (sal_Int32 nNext, SwTextNode const *pNode, SwRedlineTable::size_type &rAct)
 Ignore mode: does nothing. More...
 
bool ChkSpecialUnderline () const
 
bool CheckLine (sal_uLong nStartNode, sal_Int32 nChkStart, sal_uLong nEndNode, sal_Int32 nChkEnd)
 
bool LeaveExtend (SwFont &rFnt, sal_uLong const nNode, sal_Int32 const nNew)
 
bool ExtOn ()
 
void UpdateExtFont (SwFont &rFnt)
 

Private Member Functions

void Clear_ (SwFont *pFnt)
 
bool ChkSpecialUnderline_ () const
 
void FillHints (std::size_t nAuthor, RedlineType eType)
 
short EnterExtend (SwFont &rFnt, sal_uLong const nNode, sal_Int32 const nNew)
 
sal_Int32 NextExtend (sal_uLong const nNode, sal_Int32 const nNext)
 

Private Attributes

std::deque< SwTextAttr * > m_Hints
 
const SwDocm_rDoc
 
SwAttrHandlerm_rAttrHandler
 
std::unique_ptr< SfxItemSetm_pSet
 
std::unique_ptr< SwExtendm_pExt
 
sal_uLong const m_nNdIdx
 
SwRedlineTable::size_type const m_nFirst
 
SwRedlineTable::size_type m_nAct
 
sal_Int32 m_nStart
 
sal_Int32 m_nEnd
 
bool m_bOn
 
Mode const m_eMode
 

Detailed Description

Definition at line 71 of file redlnitr.hxx.

Member Enumeration Documentation

enum SwRedlineItr::Mode
strong
Enumerator
Show 
Ignore 
Hide 

Definition at line 86 of file redlnitr.hxx.

Constructor & Destructor Documentation

SwRedlineItr::SwRedlineItr ( const SwTextNode rTextNd,
SwFont rFnt,
SwAttrHandler rAH,
sal_Int32  nRedlPos,
Mode  mode,
const std::vector< ExtTextInputAttr > *  pArr = nullptr,
SwPosition const *  pExtInputStart = nullptr 
)
SwRedlineItr::~SwRedlineItr ( )

Definition at line 526 of file redlnitr.cxx.

References Clear(), and m_pExt.

Member Function Documentation

void SwRedlineItr::ChangeTextAttr ( SwFont pFnt,
SwTextAttr const &  rHt,
bool  bChg 
)
bool SwRedlineItr::CheckLine ( sal_uLong  nStartNode,
sal_Int32  nChkStart,
sal_uLong  nEndNode,
sal_Int32  nChkEnd 
)
bool SwRedlineItr::ChkSpecialUnderline ( ) const
inline

Definition at line 119 of file redlnitr.hxx.

References ChkSpecialUnderline_(), and IsOn().

Referenced by SwTextPainter::CheckSpecialUnderline().

bool SwRedlineItr::ChkSpecialUnderline_ ( ) const
private

Definition at line 789 of file redlnitr.cxx.

References m_Hints, RES_CHRATR_ESCAPEMENT, and RES_CHRATR_UNDERLINE.

Referenced by ChkSpecialUnderline().

void SwRedlineItr::Clear ( SwFont pFnt)
inline

Definition at line 110 of file redlnitr.hxx.

References Clear_().

Referenced by SwTextFormatter::FeedInf(), and ~SwRedlineItr().

void SwRedlineItr::Clear_ ( SwFont pFnt)
private
short SwRedlineItr::EnterExtend ( SwFont rFnt,
sal_uLong const  nNode,
sal_Int32 const  nNew 
)
inlineprivate

Definition at line 93 of file redlnitr.hxx.

Referenced by Seek().

bool SwRedlineItr::ExtOn ( )
inline

Definition at line 124 of file redlnitr.hxx.

Referenced by Seek(), and UpdateExtFont().

void SwRedlineItr::FillHints ( std::size_t  nAuthor,
RedlineType  eType 
)
private

Definition at line 653 of file redlnitr.cxx.

References Delete, FmtColl, Format, Insert, m_pSet, and SW_MOD.

Referenced by Seek().

SwRedlineTable::size_type SwRedlineItr::GetAct ( ) const
inline

Definition at line 108 of file redlnitr.hxx.

References m_nAct.

std::pair< sal_Int32, std::pair< SwRangeRedline const *, size_t > > SwRedlineItr::GetNextRedln ( sal_Int32  nNext,
SwTextNode const *  pNode,
SwRedlineTable::size_type rAct 
)

Ignore mode: does nothing.

Show mode: returns end of redline if currently in one, or start of next Hide mode: returns start of next redline in current node, plus (if it's a Delete) its end position and number of consecutive RLs

Definition at line 713 of file redlnitr.cxx.

References SwRangeRedline::CalcStartEnd(), Delete, SwDoc::getIDocumentRedlineAccess(), SwNode::GetIndex(), IDocumentRedlineAccess::GetRedlineTable(), SwRangeRedline::GetType(), Hide, Ignore, m_bOn, m_eMode, m_nAct, m_nEnd, m_nFirst, m_nStart, m_rDoc, NextExtend(), SwRedlineTable::npos, Show, SwRedlineTable::size(), and SwPaM::Start().

bool SwRedlineItr::IsOn ( ) const
inline

Definition at line 109 of file redlnitr.hxx.

Referenced by ChangeTextAttr(), and ChkSpecialUnderline().

bool SwRedlineItr::LeaveExtend ( SwFont rFnt,
sal_uLong const  nNode,
sal_Int32 const  nNew 
)
inline

Definition at line 122 of file redlnitr.hxx.

sal_Int32 SwRedlineItr::NextExtend ( sal_uLong const  nNode,
sal_Int32 const  nNext 
)
inlineprivate

Definition at line 98 of file redlnitr.hxx.

Referenced by GetNextRedln().

void SwRedlineItr::Reset ( void  )
inline

Definition at line 113 of file redlnitr.hxx.

References SwRedlineTable::npos.

Referenced by SwTextFormatter::FeedInf().

short SwRedlineItr::Seek ( SwFont rFnt,
sal_uLong  nNode,
sal_Int32  nNew,
sal_Int32  nOld 
)
void SwRedlineItr::UpdateExtFont ( SwFont rFnt)
inline

Definition at line 128 of file redlnitr.hxx.

References ExtOn().

Member Data Documentation

bool SwRedlineItr::m_bOn
private

Definition at line 84 of file redlnitr.hxx.

Referenced by Clear_(), GetNextRedln(), and Seek().

Mode const SwRedlineItr::m_eMode
private

Definition at line 88 of file redlnitr.hxx.

Referenced by ChangeTextAttr(), CheckLine(), GetNextRedln(), Seek(), and SwRedlineItr().

std::deque<SwTextAttr *> SwRedlineItr::m_Hints
private

Definition at line 73 of file redlnitr.hxx.

Referenced by ChkSpecialUnderline_(), Clear_(), and Seek().

SwRedlineTable::size_type SwRedlineItr::m_nAct
private

Definition at line 81 of file redlnitr.hxx.

Referenced by CheckLine(), GetAct(), GetNextRedln(), and Seek().

sal_Int32 SwRedlineItr::m_nEnd
private

Definition at line 83 of file redlnitr.hxx.

Referenced by CheckLine(), GetNextRedln(), and Seek().

SwRedlineTable::size_type const SwRedlineItr::m_nFirst
private

Definition at line 80 of file redlnitr.hxx.

Referenced by CheckLine(), GetNextRedln(), and Seek().

sal_uLong const SwRedlineItr::m_nNdIdx
private

Definition at line 79 of file redlnitr.hxx.

Referenced by CheckLine(), Seek(), and SwRedlineItr().

sal_Int32 SwRedlineItr::m_nStart
private

Definition at line 82 of file redlnitr.hxx.

Referenced by CheckLine(), GetNextRedln(), and Seek().

std::unique_ptr<SwExtend> SwRedlineItr::m_pExt
private

Definition at line 77 of file redlnitr.hxx.

Referenced by ChangeTextAttr(), SwRedlineItr(), and ~SwRedlineItr().

std::unique_ptr<SfxItemSet> SwRedlineItr::m_pSet
private

Definition at line 76 of file redlnitr.hxx.

Referenced by FillHints(), and Seek().

SwAttrHandler& SwRedlineItr::m_rAttrHandler
private

Definition at line 75 of file redlnitr.hxx.

Referenced by ChangeTextAttr(), Clear_(), and Seek().

const SwDoc& SwRedlineItr::m_rDoc
private

Definition at line 74 of file redlnitr.hxx.

Referenced by CheckLine(), Clear_(), GetNextRedln(), and Seek().


The documentation for this class was generated from the following files: