34#include <osl/diagnose.h>
40 :
SwTable(rTable), m_aDepends(*this), m_pDDEType(pDDEType)
88 if (rHint.
GetId() == SfxHintId::SwLegacyModify)
92 else if (rHint.
GetId() == SfxHintId::SwField)
94 auto pFieldHint =
static_cast<const SwFieldHint*
>(&rHint);
101 if(pLinkAnchorHint->m_rpFoundNode)
104 if( pNd && &pLinkAnchorHint->m_rNodes == &pNd->GetNodes() )
105 pLinkAnchorHint->m_rpFoundNode = pNd;
109 if(pInRangeHint->m_rIsInRange)
114 pInRangeHint->m_nEndNd > pTableNd->
GetIndex() )
115 pInRangeHint->m_rIsInRange =
true;
118 pGatherDdeTablesHint->m_rvTables.push_back(
this);
140 sal_Int32 nExpandTokenPos = 0;
144 OUString aLine = aExpand.getToken( 0,
'\n', nExpandTokenPos );
145 sal_Int32 nLineTokenPos = 0;
150 OSL_ENSURE( pBox->
GetSttIdx(),
"no content box" );
153 OSL_ENSURE( pTextNode,
"No Node" );
156 pTextNode->
InsertText( aLine.getToken( 0,
'\t', nLineTokenPos ), aCntIdx );
159 pBoxFormat->LockModify();
161 pBoxFormat->UnlockModify();
191 OSL_ENSURE( pTableNd,
"Where is the table?");
193 std::unique_ptr<SwTable> pNewTable(
new SwTable( *
this ));
199 pNewTable->GetTabLines().insert( pNewTable->GetTabLines().begin(),
virtual bool SetFieldsDirty(bool b, const SwNode *pChk, SwNodeOffset nLen)=0
virtual const SwViewShell * GetCurrentViewShell() const =0
Returns the layout set at the document.
Provides access to settings of a document.
virtual SwFieldUpdateFlags getFieldUpdateFlags(bool bGlobalSettings) const =0
Get the current field update mode.
Marks a character position inside a document model content node (SwContentNode)
const OUString & GetExpansion() const
sw::WriterMultiListener m_aDepends
SwDDEFieldType * GetDDEFieldType()
SwDDEFieldType * m_pDDEType
SwDDETable(SwTable &rTable, SwDDEFieldType *pDDEType, bool bUpdate=true)
Ctor moves all lines/boxes from a SwTable into itself.
virtual ~SwDDETable() override
virtual void SwClientNotify(const SwModify &, const SfxHint &) override
IDocumentFieldsAccess const & getIDocumentFieldsAccess() const
IDocumentLayoutAccess const & getIDocumentLayoutAccess() const
Marks a node in the document model.
Base class of the Writer document model elements.
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
SwNodeOffset GetIndex() const
SwNodes & GetNodes()
Node is in which nodes-array/doc?
SwTableNode * FindTableNode()
Search table node, in which it is.
SwNodeOffset EndOfSectionIndex() const
bool IsDocNodes() const
Is the NodesArray the regular one of Doc? (and not the UndoNds, ...) Implementation in doc....
SwTableBox is one table cell in the document model.
SwNodeOffset GetSttIdx() const
SwFrameFormat * GetFrameFormat()
const SwStartNode * GetSttNd() const
SwTableLine is one table row in the document model.
SwTableBoxes & GetTabBoxes()
iterator insert(iterator aIt, SwTableLine *pLine)
void SetNewTable(std::unique_ptr< SwTable >, bool bNewFrames=true)
SwTable is one table in the document model, containing rows (which contain cells).
SwTableSortBoxes m_TabSortContentBoxes
SwTableNode * m_pTableNode
SwTableLines & GetTabLines()
SwTableFormat * GetFrameFormat()
virtual void SwClientNotify(const SwModify &, const SfxHint &) override
SwTableSortBoxes & GetTabSortBoxes()
SwTextNode is a paragraph in the document model.
void EraseText(const SwContentIndex &rIdx, const sal_Int32 nCount=SAL_MAX_INT32, const SwInsertFlags nMode=SwInsertFlags::DEFAULT)
delete text content ATTENTION: must not be called with a range that overlaps the start of an attribut...
OUString InsertText(const OUString &rStr, const SwContentIndex &rIdx, const SwInsertFlags nMode=SwInsertFlags::DEFAULT)
insert text content
std::pair< const_iterator, bool > insert(Value &&x)
void StartListening(SwModify *pDepend)
@ AUTOUPD_FIELD_AND_CHARTS
constexpr TypedWhichId< SwTableBoxValue > RES_BOXATR_VALUE(158)
enumrange< T >::Iterator begin(enumrange< T >)
o3tl::strong_int< sal_Int32, struct Tag_SwNodeOffset > SwNodeOffset