20#include <libxml/xmlstring.h>
21#include <libxml/xmlwriter.h>
24#include <osl/diagnose.h>
30#include <sfx2/sfxsids.hrc>
77 , m_rSectFormat(rFormat)
80 virtual void Closed()
override;
81 virtual ::sfx2::SvBaseLink::UpdateResult
DataChanged(
82 const OUString& rMimeType,
const css::uno::Any & rValue )
override;
90 return const_cast<SwSectionNode*
>( pSectNd->GetSectionNode() );
98 , m_bHiddenFlag(false)
99 , m_bProtectFlag(false)
100 , m_bEditInReadonlyFlag(false)
102 , m_bCondHiddenFlag(true)
103 , m_bConnectFlag(true)
110 , m_sSectionName(rSection.GetSectionName())
111 , m_sCondition(rSection.GetCondition())
112 , m_sLinkFileName(rSection.GetLinkFileName())
113 , m_sLinkFilePassword(rSection.GetLinkFilePassword())
114 , m_Password(rSection.GetPassword())
115 , m_bHiddenFlag(rSection.IsHiddenFlag())
116 , m_bProtectFlag(rSection.IsProtect())
118 , m_bEditInReadonlyFlag(rSection.IsEditInReadonly())
120 , m_bCondHiddenFlag(true)
121 , m_bConnectFlag(rSection.IsConnectFlag())
128 , m_sSectionName(rOther.m_sSectionName)
129 , m_sCondition(rOther.m_sCondition)
130 , m_sLinkFileName(rOther.m_sLinkFileName)
131 , m_sLinkFilePassword(rOther.m_sLinkFilePassword)
132 , m_Password(rOther.m_Password)
133 , m_bHiddenFlag(rOther.m_bHiddenFlag)
134 , m_bProtectFlag(rOther.m_bProtectFlag)
136 , m_bEditInReadonlyFlag(rOther.m_bEditInReadonlyFlag)
137 , m_bHidden(rOther.m_bHidden)
138 , m_bCondHiddenFlag(true)
139 , m_bConnectFlag(rOther.m_bConnectFlag)
182 (void)xmlTextWriterStartElement(pWriter, BAD_CAST(
"SwSectionData"));
183 (void)xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST(
"ptr"),
"%p",
this);
184 (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST(
"section-name"), BAD_CAST(
m_sSectionName.toUtf8().getStr()));
185 (void)xmlTextWriterEndElement(pWriter);
191 , m_Data(
eType, rName)
226 pFormat->Remove(
this );
241 if( !pFormat->HasWriterListeners() )
277 bool const bResult(
m_Data == rCmp );
286 OSL_ENSURE(pFormat,
"ImplSetHiddenFlag: no format?");
290 const bool bHide = bTmpHidden && bCondition;
301 pFormat->CallSwClientNotify(aHint);
316 pFormat->CallSwClientNotify(aHint);
329 }
while(
nullptr != ( pSect = pSect->
GetParent()) );
337 OSL_ENSURE(pFormat,
"SwSection::IsProtect: no format?");
347 OSL_ENSURE(pFormat,
"SwSection::IsEditInReadonly: no format?");
365 OSL_ENSURE(pFormat,
"SwSection::SetProtect: no format?");
383 OSL_ENSURE(pFormat,
"SwSection::SetEditInReadonly: no format?");
404 if (rHint.
GetId() == SfxHintId::SwSectionHidden)
409 }
else if (rHint.
GetId() != SfxHintId::SwLegacyModify)
412 auto pOld = pLegacy->
m_pOld;
413 auto pNew = pLegacy->m_pNew;
414 bool bUpdateFootnote =
false;
415 switch(pLegacy->GetWhich())
445 bUpdateFootnote =
true;
448 if( !pNewSet->
Count() )
467 const bool bNewFlag =
480 bUpdateFootnote =
true;
487 bUpdateFootnote =
true;
496 if( bUpdateFootnote )
571 for(
auto n = rLnks.size();
n; )
581 || pNd == &rSectNd ))
600 :
SwFrameFormat( pDoc->GetAttrPool(), OUString(), pDrvdFrame )
609 if(
GetDoc()->IsInDtor() )
670 pLast = aIter.
Next();
708 if (rHint.
GetId() == SfxHintId::SwSectionHidden)
712 if(!pSect || rSectionHidden.m_isHidden == pSect->IsHiddenFlag())
714 GetNotifier().Broadcast(rSectionHidden);
716 }
else if (rHint.
GetId() != SfxHintId::SwLegacyModify)
719 sal_uInt16 nWhich = pLegacy->
GetWhich();
720 auto pOld = pLegacy->m_pOld;
721 auto pNew = pLegacy->m_pNew;
725 if (HasWriterListeners() && pOld && pNew)
777 if( !
GetDoc()->IsInDtor() && pOld &&
789 if( !
GetDoc()->IsInDtor() &&
790 static_cast<const SwFormatChg*
>(pNew)->pChangedFormat ==
static_cast<void*
>(GetRegisteredIn()) &&
819 if(pChild->IsVisible())
837 return sw::BroadcastingModify::GetInfo(rInfo);
844 OSL_ENSURE( pFSectFormat && pSSectFormat &&
847 "Invalid sections" );
855 bool bAllSections )
const
859 if( !HasWriterListeners() )
866 (
nullptr != ( pIdx = pLast->GetContent(
false).
870 rArr.push_back( pDummy );
874 if( 1 < rArr.size() )
894 if(!HasWriterListeners())
901 bool bIsHidden = pSection->
IsHidden();
902 if(GetRegisteredIn())
919 CallSwClientNotify(aHint);
964 OSL_ENSURE(pIdx,
"SwSectionFormat::IsInContent: no index?");
973uno::Reference< rdf::XMetadatable >
976 uno::Reference<rdf::XMetadatable> xMeta;
993 (void)xmlTextWriterStartElement(pWriter, BAD_CAST(
"SwSectionFormat"));
994 (void)xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST(
"ptr"),
"%p",
this);
995 (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST(
"name"), BAD_CAST(
GetName().toUtf8().getStr()));
997 (void)xmlTextWriterEndElement(pWriter);
1002 (void)xmlTextWriterStartElement(pWriter, BAD_CAST(
"SwSectionFormats"));
1003 for (
size_t i = 0;
i <
size(); ++
i)
1005 (void)xmlTextWriterEndElement(pWriter);
1013 OSL_FAIL(
"method <lcl_RemoveSectionLinksInSect(..)> - no Link at Section of SectionNode" );
1018 for (
auto n = rLnks.size();
n > 0; )
1020 SwIntrnlSectRefLink* pSectLnk =
dynamic_cast<SwIntrnlSectRefLink*
>(&(*rLnks[ --
n ]));
1021 if ( pSectLnk && pSectLnk != pOwnLink &&
1031 if (
n > rLnks.size() )
1052 for(
auto n = rLnks.size();
n; )
1055 if( pLnk == &rUpdLnk )
1066 if( sFName !=
sName )
1071 if(
n >= rLnks.size() && 0 != (
n = rLnks.size() ))
1074 if(
n && pLnk != &(*rLnks[
n ]) )
1078 if( pLnk == &(*rLnks[ --
n ] ) )
1087 const OUString& rMimeType,
const uno::Any & rValue )
1094 if( !pSectNd || !pDoc || pDoc->
IsInDtor() || ChkNoDataFlag() ||
1133 pPam =
new SwPaM( aPos );
1141 pDoc->
GetNodes().
Delete( aIdx, aEndIdx.GetIndex() - aIdx.GetIndex() );
1148 switch( nDataFormat )
1150 case SotClipboardFormatId::STRING:
1154 case SotClipboardFormatId::RICHTEXT:
1155 case SotClipboardFormatId::RTF:
1159 case SotClipboardFormatId::SIMPLE_FILE:
1163 if ( !(rValue >>= sFileName) )
1168 &sRange, &sFilter );
1174 if( sFileName.isEmpty() )
1197 std::optional<SwNodeRange> oCpyRg;
1199 if( xDocSh->GetMedium() &&
1202 if(
const SfxStringItem* pItem = xDocSh->GetMedium()->GetItemSet().
1203 GetItemIfSet( SID_PASSWORD,
false ) )
1209 if( !sRange.isEmpty() )
1212 bool bRecursion =
false;
1213 if( pSrcDoc == pDoc )
1219 bRecursion = refObj->IsLinkInServer(
this ) ||
1226 SwPaM* pCpyPam =
nullptr;
1231 if( pSrcDoc != pDoc ||
1239 if( oCpyRg && pSrcDoc == pDoc &&
1240 oCpyRg->aStart < rInsPos && rInsPos < oCpyRg->aEnd.GetNode() )
1245 else if( pSrcDoc != pDoc )
1252 if ( pSrcDoc != pDoc &&
1296 static_cast<SwDocShell*
>( xDocSh.
get() )->GetDoc()->getIDocumentRedlineAccess().SetRedlineFlags(
1305 uno::Sequence< sal_Int8 >
aSeq;
1306 if( pRead && rValue.
hasValue() && ( rValue >>=
aSeq ) )
1324 if( ! aTmpReader.Read( *pRead ).IsError() )
1354void SwIntrnlSectRefLink::Closed()
1362 for(
auto n = rFormats.
size(); n; )
1363 if (rFormats[--n] == &m_rSectFormat)
1375 aSectionData.SetLinkFileName( OUString() );
1376 aSectionData.SetProtectFlag(
false );
1378 aSectionData.SetEditInReadonlyFlag(
false );
1380 aSectionData.SetConnectFlag(
false );
1396 SvBaseLink::Closed();
1402 OSL_ENSURE(pFormat,
"SwSection::CreateLink: no format?");
1411 m_RefLink =
new SwIntrnlSectRefLink( *pFormat, nUpdateType );
1418 SwIntrnlSectRefLink *
const pLnk =
1422 pLnk->SetUpdateMode( nUpdateType );
1428 pLnk->SetLinkSourceName( sCmd );
1433 pLnk->SetContentType( SotClipboardFormatId::SIMPLE_FILE );
1441 ( !sFltr.isEmpty() ? &sFltr :
nullptr ),
1442 ( !sRange.isEmpty() ? &sRange :
nullptr ) );
1446 OSL_ENSURE(
false,
"What kind of Link is this?" );
1449 switch( eCreateType )
1477 OSL_ENSURE(pFormat,
"SwSection::BreakLink: no format?");
1493 (void)xmlTextWriterStartElement(pWriter, BAD_CAST(
"SwSection"));
1494 (void)xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST(
"ptr"),
"%p",
this);
1495 (void)xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST(
"registered-in"),
"%p",
1498 (void)xmlTextWriterEndElement(pWriter);
@ CheckPosInFly
check if target position is in fly anchored at source range
@ ShowInsert
show all inserts
virtual bool CopyRange(SwPaM &rPam, SwPosition &rPos, SwCopyFlags flags) const =0
Copy a selected content range to a position.
virtual void LockExpFields()=0
virtual bool IsExpFieldsLocked() const =0
virtual void UpdateExpFields(SwTextField *pField, bool bUpdateRefFields)=0
virtual void UnlockExpFields()=0
virtual const SwViewShell * GetCurrentViewShell() const =0
Returns the layout set at the document.
virtual ::sfx2::SvLinkSource * CreateLinkSource(const OUString &rItem)=0
virtual void SetVisibleLinks(bool bFlag)=0
virtual sfx2::LinkManager & GetLinkManager()=0
virtual void SetLinksUpdated(const bool bNewLinksUpdated)=0
virtual bool IsVisibleLinks() const =0
Insert links in-/visibly into LinkManager (linked ranges).
virtual void SetRedlineFlags(RedlineFlags eMode)=0
Set a new redline mode.
virtual RedlineFlags GetRedlineFlags() const =0
Query the currently set redline mode.
virtual void SetModified()=0
Must be called manually at changes of format.
virtual SwTextFormatColl * GetTextCollFromPool(sal_uInt16 nId, bool bRegardLanguage=true)=0
Return "Auto-Collection with ID.
void SetValue(bool const bTheValue)
void dumpAsXml(xmlTextWriterPtr pWriter) const
const T * GetItemIfSet(TypedWhichId< T > nWhich, bool bSrchInParent=true) const
sal_uInt16 ClearItem(sal_uInt16 nWhich=0)
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
OUString GetBaseURL(bool bForSaving=false)
const OUString & GetName() const
SfxMedium * GetMedium() const
static OUString GetFormatMimeType(SotClipboardFormatId nFormat)
static SotClipboardFormatId GetFormatIdFromMimeType(std::u16string_view rMimeType)
bool StartListening(SvtBroadcaster &rBroadcaster)
void SetContentProtect(bool bNew)
bool IsContentProtected() const
const SwAttrSet * GetChgSet() const
What has changed.
virtual void Closed() override
virtual bool IsInRange(SwNodeOffset nSttNd, SwNodeOffset nEndNd) const
virtual const SwNode * GetAnchor() const
virtual ::sfx2::SvBaseLink::UpdateResult DataChanged(const OUString &rMimeType, const css::uno::Any &rValue) override
const SwModify * GetRegisteredIn() const
std::optional< sw::ModifyChangedHint > CheckRegistration(const SfxPoolItem *pOldValue)
const SwAttrSet & GetSwAttrSet() const
Does node has already its own auto-attributes? Access to SwAttrSet.
bool Pop(PopMode, ::std::optional< SwCallLink > &roLink)
void Push()
store a copy of the current cursor on the cursor stack
SwCursor * GetCursor(bool bMakeTableCursor=true) const
Return pointer to the current shell cursor.
SwDoc * GetDoc()
returns Doc. But be careful!
::sw::DocumentLinksAdministrationManager const & GetDocumentLinksAdministrationManager() const
SwSectionFormats & GetSections()
IDocumentState const & getIDocumentState() const
void CorrAbs(const SwNode &rOldNode, const SwPosition &rNewPos, const sal_Int32 nOffset=0, bool bMoveCursor=false)
IDocumentLinksAdministration const & getIDocumentLinksAdministration() const
IDocumentContentOperations const & getIDocumentContentOperations() const
IDocumentUndoRedo & GetIDocumentUndoRedo()
IDocumentFieldsAccess const & getIDocumentFieldsAccess() const
IDocumentRedlineAccess const & getIDocumentRedlineAccess() const
::sfx2::IXmlIdRegistry & GetXmlIdRegistry()
SwEditShell const * GetEditShell() const
IDocumentLayoutAccess const & getIDocumentLayoutAccess() const
SwFootnoteIdxs & GetFootnoteIdxs()
void DelSectionFormat(SwSectionFormat *pFormat, bool bDelNodes=false)
IDocumentStylePoolAccess const & getIDocumentStylePoolAccess() const
::sw::DocumentContentOperationsManager const & GetDocumentContentOperationsManager() const
void UpdateSection(size_t const nSect, SwSectionData &, SfxItemSet const *const =nullptr, bool const bPreventLinkUpdate=false)
const SwFrameFormat * GetDfltFrameFormat() const
SwDocShell * GetDocShell()
bool IsInHeaderFooter(const SwNode &) const
void StartAllAction()
For all views of this document.
const SwNodeIndex * GetContentIdx() const
Marks a node in the document model.
const SwNodes & GetNodes() const
SwNodeOffset GetIndex() const
Base class of the Writer document model elements.
SwSectionNode * GetSectionNode()
SwNodeOffset GetIndex() const
SwNodes & GetNodes()
Node is in which nodes-array/doc?
bool IsSectionNode() const
SwTableNode * FindTableNode()
Search table node, in which it is.
SwSectionNode * FindSectionNode()
Search section node, in which it is.
const SwStartNode * StartOfSectionNode() const
SwNodeOffset EndOfSectionIndex() const
const SwEndNode * EndOfSectionNode() const
SwNode & GetEndOfExtras() const
This is the last EndNode of a special section.
SwTextNode * MakeTextNode(SwNode &rWhere, SwTextFormatColl *pColl, bool bNewFrames=true)
Implementations of "Make...Node" are in the given .cxx-files.
void SectionUp(SwNodeRange *)
increase level of the given range
SwNode & GetEndOfContent() const
Regular ContentSection (i.e. the BodyText).
void Delete(const SwNodeIndex &rPos, SwNodeOffset nNodes=SwNodeOffset(1))
SwContentNode * GoNextSection(SwNodeIndex *, bool bSkipHidden=true, bool bSkipProtect=true) const
Go to next content-node that is not protected or hidden (Both set FALSE ==> GoNext/GoPrevious!...
PaM is Point and Mark: a selection of the document model.
virtual void SetMark()
Unless this is called, the getter method of Mark will return Point.
bool Move(SwMoveFnCollection const &fnMove=fnMoveForward, SwGoInDoc fnGo=GoInContent)
Movement of cursor.
const SwPosition * End() const
const SwPosition * GetPoint() const
const SwPosition * Start() const
bool IsEditInReadonlyFlag() const
bool m_bProtectFlag
Flags that correspond to attributes in the format: may have different value than format attribute: fo...
void SetHidden(bool const bFlag)
void dumpAsXml(xmlTextWriterPtr pWriter) const
SAL_DLLPRIVATE void SetProtectFlag(bool const bFlag)
void SetEditInReadonlyFlag(bool const bFlag)
void SetCondHidden(bool const bFlag)
bool IsProtectFlag() const
bool operator==(SwSectionData const &) const
OUString m_sLinkFilePassword
SectionType GetType() const
css::uno::Sequence< sal_Int8 > m_Password
bool m_bCondHiddenFlag
Hide condition evaluated ‘true’.
SwSectionData & operator=(SwSectionData const &)
void SetLinkFileName(OUString const &rNew)
SAL_DLLPRIVATE void SetHiddenFlag(bool const bFlag)
SwSectionData(SectionType const eType, OUString aName)
const OUString & GetLinkFileName() const
OUString m_sCondition
Hide condition.
bool IsCondHidden() const
bool IsHiddenFlag() const
bool m_bEditInReadonlyFlag
bool m_bHidden
Section is hidden, unless condition evaluates ‘false’.
A section node represents the start of a section on the UI, i.e.
const SwSection & GetSection() const
void MakeOwnFrames(SwNodeIndex *pIdxBehind, SwNodeIndex *pEnd=nullptr)
Creates the frms for the SectionNode (i.e.
tools::SvRef< SwServerObject > m_RefObj
bool IsEditInReadonly() const
void SetLinkFileName(OUString const &rNew)
OUString const & GetLinkFileName() const
bool IsProtectFlag() const
bool IsHiddenFlag() const
const SwTOXBase * GetTOXBase() const
SwSection * GetParent() const
void SetSectionData(SwSectionData const &rData)
void SetCondHidden(bool const bFlag)
SwSection(SectionType const eType, OUString const &rName, SwSectionFormat &rFormat)
SwSectionFormat * GetFormat()
void SetEditInReadonly(bool const bFlag=true)
tools::SvRef< sfx2::SvBaseLink > m_RefLink
void SetType(SectionType const eType)
void SetLinkFilePassword(OUString const &rS)
SAL_DLLPRIVATE void ImplSetHiddenFlag(bool const bHidden, bool const bCondition)
const ::sfx2::SvBaseLink & GetBaseLink() const
virtual ~SwSection() override
void SetHidden(bool const bFlag=true)
OUString const & GetLinkFilePassword() const
SectionType GetType() const
bool IsCondHidden() const
virtual void Notify(SfxHint const &rHint) override
void dumpAsXml(xmlTextWriterPtr pWriter) const
bool IsEditInReadonlyFlag() const
void SetRefObject(SwServerObject *pObj)
virtual void SwClientNotify(const SwModify &, const SfxHint &) override
bool CalcHiddenFlag() const
bool DataEquals(SwSectionData const &rCmp) const
void SetProtect(bool const bFlag=true)
void SetConnectFlag(bool const bFlag=true)
static void MakeChildLinksVisible(const SwSectionNode &rSectNd)
void CreateLink(LinkCreateType eType)
Starts a section of nodes in the document model.
void EndAction(const bool bIdleEnd=false)
static rtl::Reference< SwXTextSection > CreateXTextSection(SwSectionFormat *const pFormat, const bool bIndexHeader=false)
void InsertFileLink(sfx2::SvBaseLink &, SvBaseLinkObjectType nFileType, std::u16string_view rFileNm, const OUString *pFilterNm=nullptr, const OUString *pRange=nullptr)
static bool GetDisplayNames(const SvBaseLink *, OUString *pType, OUString *pFile=nullptr, OUString *pLink=nullptr, OUString *pFilter=nullptr)
void InsertDDELink(SvBaseLink *, const OUString &rServer, std::u16string_view rTopic, std::u16string_view rItem)
void UpdateAllLinks(bool bAskUpdate, bool bUpdateGrfLinks, weld::Window *pParentWin)
void RemoveServer(SvLinkSource *rObj)
static SotClipboardFormatId RegisterStatusInfoId()
void Remove(SvBaseLink const *pLink)
const SvBaseLinks & GetLinks() const
void SetVisible(bool bFlag)
SvBaseLinkObjectType GetObjType() const
void CopyWithFlyInFly(const SwNodeRange &rRg, SwNode &rInsPos, const std::pair< const SwPaM &, const SwPosition & > *pCopiedPaM=nullptr, bool bMakeNewFrames=true, bool bDelRedlines=true, bool bCopyFlyAtFly=false, SwCopyFlags flags=SwCopyFlags::Default) const
note: rRg/rInsPos exclude a partially selected start text node; pCopiedPaM includes a partially selec...
bool SelectServerObj(std::u16string_view rStr, SwPaM *&rpPam, std::optional< SwNodeRange > &rpRange) const
struct _xmlTextWriter * xmlTextWriterPtr
void DelBookmarks(SwNode &rStt, const SwNode &rEnd, std::vector< SaveBookmark > *pSaveBkmk, std::optional< sal_Int32 > oStartContentIdx, std::optional< sal_Int32 > oEndContentIdx)
void DelFlyInRange(SwNode &rMkNd, SwNode &rPtNd, std::optional< sal_Int32 > oMkContentIdx, std::optional< sal_Int32 > oPtContentIdx)
Delete and move all Flys at the paragraph, that are within the selection.
int SwFindDocShell(SfxObjectShellRef &xDocSh, SfxObjectShellLock &xLockRef, std::u16string_view rFileName, const OUString &rPasswd, const OUString &rFilter, sal_Int16 nVersion, SwDocShell *pDestSh)
Find the right DocShell and create a new one: The return value specifies what should happen to the Sh...
EmbeddedObjectRef * pObject
const EnumerationType m_eType
constexpr OUStringLiteral IsHidden(u"IsHidden")
constexpr TypedWhichId< SwPtrMsgPoolItem > RES_REMOVE_UNO_OBJECT(181)
constexpr TypedWhichId< SwFormatEndAtTextEnd > RES_END_AT_TXTEND(124)
constexpr TypedWhichId< SwFormatFootnoteAtTextEnd > RES_FTN_AT_TXTEND(123)
constexpr TypedWhichId< SwFindNearestNode > RES_FINDNEARESTNODE(184)
constexpr TypedWhichId< SwFormatCol > RES_COL(115)
constexpr TypedWhichId< SwFormatEditInReadonly > RES_EDIT_IN_READONLY(118)
constexpr TypedWhichId< SwFormatPageDesc > RES_PAGEDESC(99)
constexpr TypedWhichId< SwAttrSetChg > RES_ATTRSET_CHG(169)
constexpr TypedWhichId< SvxProtectItem > RES_PROTECT(106)
constexpr TypedWhichId< SwFormatContent > RES_CNTNT(101)
constexpr TypedWhichId< SwPtrMsgPoolItem > RES_OBJECTDYING(RES_FORMAT_MSG_BEGIN)
constexpr TypedWhichId< SwFormatChg > RES_FMT_CHG(168)
const SfxPoolItem * GetDfltAttr(sal_uInt16 nWhich)
Get the default attribute from corresponding default attribute table.
Sequence< sal_Int8 > aSeq
const sal_Unicode cTokenSeparator
void sw_DeleteFootnote(SwSectionNode *pNd, SwNodeOffset nStt, SwNodeOffset nEnd)
o3tl::strong_int< sal_Int32, struct Tag_SwNodeOffset > SwNodeOffset
bool GoInNode(SwPaM &rPam, SwMoveFnCollection const &fnMove)
SwMoveFnCollection const & fnMoveBackward
@ RES_POOLCOLL_TEXT
Text body.
static void lcl_BreakSectionLinksInSect(const SwSectionNode &rSectNd)
static void lcl_UpdateLinksInSect(const SwBaseLink &rUpdLnk, SwSectionNode &rSectNd)
static bool lcl_SectionCmpPos(const SwSection *pFirst, const SwSection *pSecond)
std::vector< SwSection * > SwSections
Marks a position in the document model.
sal_uInt16 GetWhich() const
const SfxPoolItem * m_pOld
bool IsInRange(const WhichRangesContainer &pRange, const sal_uInt16 nId)
check if ID is in range of attribute set IDs