43 std::unique_ptr<SwGrammarMarkUp> mpProxyList;
50 virtual ~SwGrammarContact()
override { aTimer.
Stop(); }
63 SwGrammarContact::SwGrammarContact() : mbFinished( false )
65 aTimer.SetTimeout( 2000 );
66 aTimer.SetInvokeHandler(
LINK(
this, SwGrammarContact, TimerRepaint) );
67 aTimer.SetDebugName(
"sw::SwGrammarContact TimerRepaint" );
75 if( GetRegisteredIn() )
77 getMyTextNode()->SetGrammarCheck( mpProxyList.release() );
84 void SwGrammarContact::updateCursorPosition(
const SwPosition& rNewPos )
87 if( pTextNode == GetRegisteredIn() )
91 if( GetRegisteredIn() )
101 pTextNode->
Add(
this );
108 if( GetRegisteredIn() == &rTextNode )
128 pRet = mpProxyList.get();
133 if( bCreate && !pRet )
144 void SwGrammarContact::SwClientNotify(
const SwModify&,
const SfxHint& rHint)
156 if( &rTextNode != GetRegisteredIn() )
165 else if( getMyTextNode()->GetGrammarCheck() )
167 getMyTextNode()->SetGrammarCheck(
nullptr );
175 return new SwGrammarContact();
181 if( pGrammarContact )
#define LINK(Instance, Class, Member)
void Add(SwClient *pDepend)
Marks a position in the document model.
#define DECL_LINK(Member, ArgType, RetType)
static void repaintTextFrames(const SwTextNode &rNode)
Repaint all text frames of the given text node.
virtual void SwClientNotify(const SwModify &, const SfxHint &rHint) override
void SetGrammarCheckDirty(bool bNew) const
IGrammarContact * getGrammarContact(const SwTextNode &rTextNode)
getGrammarContact() delivers the grammar contact of the document (for a given textnode) ...
SwGrammarMarkUp * GetGrammarCheck()
virtual SwWrongList * Clone() override
void SetGrammarCheck(SwGrammarMarkUp *pNew, bool bDelete=true)
SwTextNode is a paragraph in the document model.
const SwModify * GetRegisteredIn() const
const sal_Int32 COMPLETE_STRING
void SetInvalid(sal_Int32 nBegin, sal_Int32 nEnd)
constexpr TypedWhichId< SwPtrMsgPoolItem > RES_OBJECTDYING(RES_MSG_BEGIN)
SwTextNode * GetTextNode()
Inline methods from Node.hxx.