Kaydet (Commit) ccac1f17 authored tarafından Michael Stahl's avatar Michael Stahl

sw_redlinehide_3: add flag to SwNodeNum

Disable the NumRule/DocumentListsItemManager manipulations on the
second tree; only the "main" tree does that.

Change-Id: I0da8ced53f8d55758e3c02fd24b9253bbf603b38
üst 26ce48bf
...@@ -30,7 +30,9 @@ class SW_DLLPUBLIC SwNodeNum : public SwNumberTreeNode ...@@ -30,7 +30,9 @@ class SW_DLLPUBLIC SwNodeNum : public SwNumberTreeNode
{ {
public: public:
explicit SwNodeNum( SwTextNode* pTextNode ); explicit SwNodeNum( SwTextNode* pTextNode, bool isHiddenRedlines );
// note: this is only for creating phantom nodes and root nodes; these
// never have a text node
explicit SwNodeNum( SwNumRule* pNumRule ); explicit SwNodeNum( SwNumRule* pNumRule );
virtual ~SwNodeNum() override; virtual ~SwNodeNum() override;
...@@ -79,8 +81,9 @@ protected: ...@@ -79,8 +81,9 @@ protected:
// method called at a child after this child has been removed from the list tree // method called at a child after this child has been removed from the list tree
virtual void PostRemove() override; virtual void PostRemove() override;
private: private:
SwTextNode * mpTextNode; SwTextNode *const mpTextNode;
SwNumRule * mpNumRule; SwNumRule * mpNumRule;
bool m_isHiddenRedlines;
static void UnregisterMeAndChildrenDueToRootDelete( SwNodeNum& rNodeNum ); static void UnregisterMeAndChildrenDueToRootDelete( SwNodeNum& rNodeNum );
......
...@@ -27,17 +27,17 @@ ...@@ -27,17 +27,17 @@
#include <IDocumentListItems.hxx> #include <IDocumentListItems.hxx>
#include <doc.hxx> #include <doc.hxx>
SwNodeNum::SwNodeNum( SwTextNode* pTextNode ) SwNodeNum::SwNodeNum(SwTextNode* pTextNode, bool const isHiddenRedlines)
: SwNumberTreeNode(), : mpTextNode( pTextNode )
mpTextNode( pTextNode ), , mpNumRule( nullptr )
mpNumRule( nullptr ) , m_isHiddenRedlines(isHiddenRedlines)
{ {
} }
SwNodeNum::SwNodeNum( SwNumRule* pNumRule ) SwNodeNum::SwNodeNum( SwNumRule* pNumRule )
: SwNumberTreeNode(), : mpTextNode( nullptr )
mpTextNode( nullptr ), , mpNumRule( pNumRule )
mpNumRule( pNumRule ) , m_isHiddenRedlines(false)
{ {
} }
...@@ -87,11 +87,12 @@ void SwNodeNum::PreAdd() ...@@ -87,11 +87,12 @@ void SwNodeNum::PreAdd()
} }
OSL_ENSURE( GetNumRule(), OSL_ENSURE( GetNumRule(),
"<SwNodeNum::PreAdd()> - no list style set at <SwNodeNum> instance" ); "<SwNodeNum::PreAdd()> - no list style set at <SwNodeNum> instance" );
if ( GetNumRule() && GetTextNode() ) if (!m_isHiddenRedlines && GetNumRule() && GetTextNode())
{ {
GetNumRule()->AddTextNode( *(GetTextNode()) ); GetNumRule()->AddTextNode( *(GetTextNode()) );
} }
if (!m_isHiddenRedlines)
{ {
if ( GetTextNode() && if ( GetTextNode() &&
GetTextNode()->GetNodes().IsDocNodes() ) GetTextNode()->GetNodes().IsDocNodes() )
...@@ -108,14 +109,14 @@ void SwNodeNum::PostRemove() ...@@ -108,14 +109,14 @@ void SwNodeNum::PostRemove()
OSL_ENSURE( GetNumRule(), OSL_ENSURE( GetNumRule(),
"<SwNodeNum::PostRemove()> - no list style set at <SwNodeNum> instance" ); "<SwNodeNum::PostRemove()> - no list style set at <SwNodeNum> instance" );
if ( GetTextNode() ) if (!m_isHiddenRedlines && GetTextNode())
{ {
GetTextNode()->getIDocumentListItems().removeListItem( *this ); GetTextNode()->getIDocumentListItems().removeListItem( *this );
} }
if ( GetNumRule() ) if ( GetNumRule() )
{ {
if ( GetTextNode() ) if (!m_isHiddenRedlines && GetTextNode())
{ {
GetNumRule()->RemoveTextNode( *(GetTextNode()) ); GetNumRule()->RemoveTextNode( *(GetTextNode()) );
} }
...@@ -370,7 +371,7 @@ const SwNodeNum* SwNodeNum::GetPrecedingNodeNumOf( const SwTextNode& rTextNode ) ...@@ -370,7 +371,7 @@ const SwNodeNum* SwNodeNum::GetPrecedingNodeNumOf( const SwTextNode& rTextNode )
const SwNodeNum* pPrecedingNodeNum( nullptr ); const SwNodeNum* pPrecedingNodeNum( nullptr );
// #i83479# // #i83479#
SwNodeNum aNodeNumForTextNode( const_cast<SwTextNode*>(&rTextNode) ); SwNodeNum aNodeNumForTextNode( const_cast<SwTextNode*>(&rTextNode), false/*doesn't matter*/ );
pPrecedingNodeNum = dynamic_cast<const SwNodeNum*>( pPrecedingNodeNum = dynamic_cast<const SwNodeNum*>(
GetRoot() GetRoot()
......
...@@ -3961,7 +3961,7 @@ SwNodeNum* SwTextNode::CreateNum() const ...@@ -3961,7 +3961,7 @@ SwNodeNum* SwTextNode::CreateNum() const
{ {
if ( !mpNodeNum ) if ( !mpNodeNum )
{ {
mpNodeNum = new SwNodeNum( const_cast<SwTextNode*>(this) ); mpNodeNum = new SwNodeNum( const_cast<SwTextNode*>(this), false );
} }
return mpNodeNum; return mpNodeNum;
} }
...@@ -4258,7 +4258,7 @@ void SwTextNode::AddToList() ...@@ -4258,7 +4258,7 @@ void SwTextNode::AddToList()
if (pList) if (pList)
{ {
assert(!mpNodeNum); assert(!mpNodeNum);
mpNodeNum = new SwNodeNum(this); mpNodeNum = new SwNodeNum(this, false);
pList->InsertListItem(*mpNodeNum, false, GetAttrListLevel()); pList->InsertListItem(*mpNodeNum, false, GetAttrListLevel());
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment