LibreOffice Module sw (master)
1
|
#include <redlnitr.hxx>
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, 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 642 of file redlnitr.cxx.
References COMPLETE_STRING, false, SwIndex::GetIndex(), SwNodeIndex::GetIndex(), Ignore, m_eMode, m_nNdIdx, m_pExt, SwPosition::nContent, SwPosition::nNode, and Seek().
SwRedlineItr::~SwRedlineItr | ( | ) |
Definition at line 667 of file redlnitr.cxx.
void SwRedlineItr::ChangeTextAttr | ( | SwFont * | pFnt, |
SwTextAttr const & | rHt, | ||
bool | bChg | ||
) |
Definition at line 824 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 956 of file redlnitr.cxx.
References Before, Behind, CollideEnd, CollideStart, ComparePosition(), end, Equal, SwDoc::getIDocumentRedlineAccess(), SwDoc::GetNodes(), IDocumentRedlineAccess::GetRedlineTable(), Inside, m_eMode, m_nAct, m_nEnd, m_nFirst, m_nStart, m_rDoc, SwRedlineTable::npos, Outside, OverlapBefore, OverlapBehind, Show, SwRedlineTable::size(), and start.
Referenced by SwLineLayout::CalcLine().
|
inline |
Definition at line 118 of file redlnitr.hxx.
References ChkSpecialUnderline_(), and IsOn().
Referenced by SwTextPainter::CheckSpecialUnderline().
|
private |
Definition at line 941 of file redlnitr.cxx.
References m_Hints, RES_CHRATR_ESCAPEMENT(), and RES_CHRATR_UNDERLINE().
Referenced by ChkSpecialUnderline().
Definition at line 109 of file redlnitr.hxx.
References Clear_().
Referenced by SwTextFormatter::FeedInf(), and ~SwRedlineItr().
Definition at line 845 of file redlnitr.cxx.
References SwTextAttr::Destroy(), m_bOn, m_Hints, m_rAttrHandler, m_rDoc, SwAttrHandler::Pop(), and SwAttrHandler::PopAndChg().
|
inlineprivate |
Definition at line 92 of file redlnitr.hxx.
Referenced by Seek().
|
inline |
Definition at line 125 of file redlnitr.hxx.
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 865 of file redlnitr.cxx.
References SwRangeRedline::CalcStartEnd(), 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.
|
inlineprivate |
Definition at line 97 of file redlnitr.hxx.
Referenced by GetNextRedln().
Definition at line 112 of file redlnitr.hxx.
References SwRedlineTable::npos.
Referenced by SwTextFormatter::FeedInf().
short SwRedlineItr::Seek | ( | SwFont & | rFnt, |
SwNodeOffset | nNode, | ||
sal_Int32 | nNew, | ||
sal_Int32 | nOld | ||
) |
Definition at line 675 of file redlnitr.cxx.
References Clear_(), COL_GREEN(), COMPLETE_STRING, EnterExtend(), ExtOn(), FillHints(), SwRangeRedline::GetAuthor(), SwDoc::getIDocumentRedlineAccess(), 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(), SwRedlineTable::npos, SwAttrHandler::PushAndChg(), RES_CHRATR_BEGIN(), RES_CHRATR_COLOR(), RES_CHRATR_CROSSEDOUT(), RES_CHRATR_END(), RES_CHRATR_UNDERLINE(), SwTextAttr::SetPriorityAttr(), Show, SwRedlineTable::size(), and STRIKEOUT_DOUBLE.
Referenced by SwTextPainter::DrawTextLine(), SwTextFormatter::FormatQuoVadis(), and SwRedlineItr().
Definition at line 129 of file redlnitr.hxx.
References ExtOn().
|
private |
Definition at line 83 of file redlnitr.hxx.
Referenced by Clear_(), GetNextRedln(), 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(), 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(), 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(), SwRedlineItr(), 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().