LibreOffice Module sw (master) 1
|
#include <redlnitr.hxx>
Public Types | |
enum class | Mode { Show , Ignore , 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, SwNodeOffset 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 (SwNodeOffset nStartNode, sal_Int32 nChkStart, SwNodeOffset nEndNode, sal_Int32 nChkEnd, OUString &rRedlineText, bool &bRedlineEnd, RedlineType &eRedlineEnd, size_t *pAuthorAtPos=nullptr) |
bool | LeaveExtend (SwFont &rFnt, SwNodeOffset 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, SwNodeOffset const nNode, sal_Int32 const nNew) |
sal_Int32 | NextExtend (SwNodeOffset const nNode, sal_Int32 const nNext) |
Private Attributes | |
std::deque< SwTextAttr * > | m_Hints |
const SwDoc & | m_rDoc |
SwAttrHandler & | m_rAttrHandler |
std::unique_ptr< SfxItemSet > | m_pSet |
std::unique_ptr< SwExtend > | m_pExt |
SwNodeOffset 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 |
Definition at line 70 of file redlnitr.hxx.
|
strong |
Enumerator | |
---|---|
Show | |
Ignore | |
Hide |
Definition at line 85 of file redlnitr.hxx.
SwRedlineItr::SwRedlineItr | ( | const SwTextNode & | rTextNd, |
SwFont & | rFnt, | ||
SwAttrHandler & | rAH, | ||
sal_Int32 | nRedlPos, | ||
Mode | mode, | ||
const std::vector< ExtTextInputAttr > * | pArr = nullptr , |
||
SwPosition const * | pExtInputStart = nullptr |
||
) |
Definition at line 704 of file redlnitr.cxx.
References COMPLETE_STRING, SwPosition::GetContentIndex(), SwPosition::GetNodeIndex(), Ignore, m_eMode, m_nNdIdx, m_pExt, mode, and Seek().
SwRedlineItr::~SwRedlineItr | ( | ) |
Definition at line 731 of file redlnitr.cxx.
void SwRedlineItr::ChangeTextAttr | ( | SwFont * | pFnt, |
SwTextAttr const & | rHt, | ||
bool | bChg | ||
) |
Definition at line 888 of file redlnitr.cxx.
References IsOn(), m_eMode, m_pExt, m_rAttrHandler, SwAttrHandler::PopAndChg(), SwAttrHandler::PushAndChg(), and Show.
bool SwRedlineItr::CheckLine | ( | SwNodeOffset | nStartNode, |
sal_Int32 | nChkStart, | ||
SwNodeOffset | nEndNode, | ||
sal_Int32 | nChkEnd, | ||
OUString & | rRedlineText, | ||
bool & | bRedlineEnd, | ||
RedlineType & | eRedlineEnd, | ||
size_t * | pAuthorAtPos = nullptr |
||
) |
Definition at line 1020 of file redlnitr.cxx.
References Before, Behind, CollideEnd, CollideStart, ComparePosition(), end, SwPaM::End(), Equal, SwRangeRedline::GetAuthor(), SwDoc::getIDocumentRedlineAccess(), SwDoc::GetNodes(), IDocumentRedlineAccess::GetRedlineTable(), SwRangeRedline::GetType(), Inside, SwRangeRedline::IsVisible(), m_eMode, m_nAct, m_nEnd, m_nFirst, m_nStart, m_rDoc, SwRedlineTable::npos, Outside, OverlapBefore, OverlapBehind, Show, size, start, and SwPaM::Start().
Referenced by SwLineLayout::CalcLine().
|
inline |
Definition at line 118 of file redlnitr.hxx.
References ChkSpecialUnderline_(), and IsOn().
|
private |
Definition at line 1005 of file redlnitr.cxx.
References m_Hints, RES_CHRATR_ESCAPEMENT(), and RES_CHRATR_UNDERLINE().
Referenced by ChkSpecialUnderline().
|
inline |
Definition at line 109 of file redlnitr.hxx.
References Clear_(), and m_bOn.
Referenced by SwTextFormatter::FeedInf(), and ~SwRedlineItr().
|
private |
Definition at line 909 of file redlnitr.cxx.
References SwTextAttr::Destroy(), m_bOn, m_Hints, m_rAttrHandler, m_rDoc, SwAttrHandler::Pop(), and SwAttrHandler::PopAndChg().
|
inlineprivate |
|
inline |
Definition at line 125 of file redlnitr.hxx.
References m_pExt.
Referenced by Seek(), and UpdateExtFont().
|
private |
|
inline |
Definition at line 107 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 929 of file redlnitr.cxx.
References SwRangeRedline::CalcStartEnd(), SwPaM::End(), 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().
|
inline |
Definition at line 108 of file redlnitr.hxx.
Referenced by ChangeTextAttr(), and ChkSpecialUnderline().
|
inline |
Definition at line 123 of file redlnitr.hxx.
References m_pExt.
|
inlineprivate |
|
inline |
Definition at line 112 of file redlnitr.hxx.
References m_nAct, m_nFirst, m_pExt, and SwRedlineTable::npos.
Referenced by SwTextFormatter::FeedInf().
short SwRedlineItr::Seek | ( | SwFont & | rFnt, |
SwNodeOffset | nNode, | ||
sal_Int32 | nNew, | ||
sal_Int32 | nOld | ||
) |
Definition at line 739 of file redlnitr.cxx.
References SwRangeRedline::CalcStartEnd(), Clear_(), COL_GREEN(), COMPLETE_STRING, EnterExtend(), ExtOn(), FillHints(), SfxWhichIter::FirstWhich(), SwRangeRedline::GetAuthor(), SwDoc::getIDocumentRedlineAccess(), SfxWhichIter::GetItemState(), SwPosition::GetNodeIndex(), IDocumentRedlineAccess::GetRedlineTable(), SwRangeRedline::GetStackCount(), SwRangeRedline::GetType(), Hide, SwRangeRedline::IsMoved(), LINESTYLE_DOUBLE, m_bOn, m_eMode, m_Hints, m_nAct, m_nEnd, m_nFirst, m_nStart, m_pSet, m_rAttrHandler, m_rDoc, MakeRedlineTextAttr(), SfxWhichIter::NextWhich(), SwRedlineTable::npos, SwAttrHandler::PushAndChg(), RES_CHRATR_BEGIN(), RES_CHRATR_COLOR(), RES_CHRATR_CROSSEDOUT(), RES_CHRATR_END(), RES_CHRATR_UNDERLINE(), SwTextAttr::SetPriorityAttr(), Show, size, SwRedlineTable::size(), SwPaM::Start(), and STRIKEOUT_DOUBLE.
Referenced by SwTextPainter::DrawTextLine(), SwTextFormatter::FormatQuoVadis(), and SwRedlineItr().
|
inline |
Definition at line 129 of file redlnitr.hxx.
|
private |
Definition at line 83 of file redlnitr.hxx.
Referenced by Clear(), Clear_(), GetNextRedln(), IsOn(), and Seek().
|
private |
Definition at line 87 of file redlnitr.hxx.
Referenced by ChangeTextAttr(), CheckLine(), GetNextRedln(), Seek(), and SwRedlineItr().
|
private |
Definition at line 72 of file redlnitr.hxx.
Referenced by ChkSpecialUnderline_(), Clear_(), and Seek().
|
private |
Definition at line 80 of file redlnitr.hxx.
Referenced by CheckLine(), GetAct(), GetNextRedln(), Reset(), and Seek().
|
private |
Definition at line 82 of file redlnitr.hxx.
Referenced by CheckLine(), GetNextRedln(), and Seek().
|
private |
Definition at line 79 of file redlnitr.hxx.
Referenced by CheckLine(), GetNextRedln(), Reset(), and Seek().
|
private |
Definition at line 78 of file redlnitr.hxx.
Referenced by SwRedlineItr().
|
private |
Definition at line 81 of file redlnitr.hxx.
Referenced by CheckLine(), GetNextRedln(), and Seek().
|
private |
Definition at line 76 of file redlnitr.hxx.
Referenced by ChangeTextAttr(), EnterExtend(), ExtOn(), IsOn(), LeaveExtend(), NextExtend(), Reset(), SwRedlineItr(), UpdateExtFont(), and ~SwRedlineItr().
|
private |
Definition at line 75 of file redlnitr.hxx.
Referenced by FillHints(), and Seek().
|
private |
Definition at line 74 of file redlnitr.hxx.
Referenced by ChangeTextAttr(), Clear_(), and Seek().
|
private |
Definition at line 73 of file redlnitr.hxx.
Referenced by CheckLine(), Clear_(), GetNextRedln(), and Seek().