20 #include <config_features.h>
32 #include <strings.hrc>
36 #include <section.hxx>
56 #include <osl/diagnose.h>
59 #include <com/sun/star/uno/Any.hxx>
73 && pRedline->GetType() == RedlineType::Delete
74 && *pRedline->GetPoint() != *pRedline->GetMark());
80 #if HAVE_FEATURE_DBCONNECTIVITY
88 if( aDBData != aDocData )
91 + aDBData.sCommand + OUStringChar(
DB_DELIM);
105 rNode.GetNodes().GetEndOfExtras().GetIndex() < rNode.GetIndex());
106 if (!isInBody &&
nullptr == rNode.getLayoutFrame(&rLayout))
136 aValue.
PutDouble( static_cast<const SwSetExpField*>(pField)->GetValue(pLayout) );
139 aValue.
PutString( static_cast<const SwSetExpField*>(pField)->GetExpStr(pLayout) );
146 #if !HAVE_FEATURE_DBCONNECTIVITY
149 switch( nFieldWhich )
159 rCalc.
VarChange( lcl_GetDBVarName( rDoc, *pDBField),
171 OUString sDBNumNm(lcl_GetDBVarName( rDoc, *pDBField));
208 const SwFieldTypes::size_type nSize =
mpFieldTypes->size();
213 switch( nFieldWhich )
228 OUString sFieldNm( rFieldTyp.
GetName() );
229 for( ; i < nSize; ++i )
231 rSCmp.isEqual( sFieldNm, (*
mpFieldTypes)[i]->GetName() ))
237 for( ; i < nSize; ++i )
243 for( i = 0; i < nSize; ++i )
248 std::unique_ptr<SwFieldType> pNew = rFieldTyp.
Copy();
249 switch( nFieldWhich )
292 const OUString& rName,
293 bool bDbFieldMatching
296 const SwFieldTypes::size_type nSize =
mpFieldTypes->size();
297 SwFieldTypes::size_type
i {0};
320 for( ;
i < nSize; ++
i )
324 if (nResId == pFieldType->
Which())
326 OUString aFieldName( pFieldType->
GetName() );
328 aFieldName = aFieldName.replace(
DB_DELIM,
'.');
330 if (rSCmp.isEqual( rName, aFieldName ))
343 OSL_ENSURE(
INIT_FLDTYPES <= nField,
"don't remove InitFields" );
394 switch( pFieldType->Which() )
432 #if HAVE_FEATURE_DBCONNECTIVITY
447 const SwFieldTypes::size_type nSize =
mpFieldTypes->size();
455 const OUString& rFieldNm = rFieldTyp.
GetName();
460 if( nFieldWhich == pFnd->
Which() &&
461 rSCmp.isEqual( rFieldNm, pFnd->
GetName() ) )
464 SwFieldTypes::size_type nNum = 1;
466 OUString sSrch = rFieldNm + OUString::number( nNum );
469 pFnd = (*mpFieldTypes)[
i].get();
470 if( nFieldWhich == pFnd->
Which() &&
471 rSCmp.isEqual( sSrch, pFnd->
GetName() ) )
476 const_cast<OUString&
>(rFieldNm) = sSrch;
487 switch( nFieldWhich )
503 const Any& rVal, sal_uInt16 nWhich)
512 std::make_unique<SwUndoFieldFromAPI>(rPos, aOldVal, rVal, nWhich));
522 OSL_ENSURE(pDstTextField,
"no field to update!");
524 bool bTableSelBreak =
false;
540 std::make_unique<SwUndoFieldFromDoc>( aPosition, *pDstField, rSrcField, pMsgHint, bUpdateFields) );
546 switch( nFieldWhich )
569 bTableSelBreak =
true;
583 m_rDoc.
ChgDBData(static_cast<SwDBNameInfField*>( pNewField)->GetRealDBData());
589 #if HAVE_FEATURE_DBCONNECTIVITY
613 return bTableSelBreak;
621 static_cast<SwGetRefFieldType*>(pFieldType.get())->UpdateGetReferences();
627 "What MessageItem is this?" );
632 std::vector<SwFormatField*> vFields;
633 pFieldType->GatherFields(vFields);
636 pUpdateField = static_cast<SwTableFormulaUpdate*>(pHt);
637 for(
auto pFormatField : vFields)
646 if (pTableNd ==
nullptr)
691 if( pBoxFormula && pBoxFormula->GetDefinedIn() )
709 std::unique_ptr<SwCalc, o3tl::default_delete<SwCalc>> pCalc;
713 std::vector<SwFormatField*> vFields;
714 pFieldType->GatherFields(vFields);
721 SwTableField *
const pField(static_cast<SwTableField*>(pFormatField->GetField()));
749 std::pair<Point, bool>
const tmp(aPt,
true);
756 aPos.
nNode, pFormatField->GetTextField(),
773 if( aPara.IsStackOverflow() )
775 bool const bResult = aPara.CalcWithStackOverflow();
781 "the chained formula could no be calculated");
785 pFormatField->UpdateTextNode(
nullptr, pHt);
793 if( pFormula && pFormula->GetDefinedIn() && !pFormula->IsValid() )
800 if( !pHt || &pTableNd->
GetTable() ==
821 std::pair<Point, bool>
const tmp(aPt,
true);
842 pFormula->Calc( aPara, nValue );
844 if( aPara.IsStackOverflow() )
849 pFormula->Calc( aPara, nValue );
852 "the chained formula could no be calculated");
859 if( pCalc->IsCalcError() )
898 if (pLay->IsHideRedlines())
900 pLayoutRLHidden = pLay;
907 if (pLayout || !pLayoutRLHidden)
931 const SwFieldTypes::size_type nHashSize {((
mpFieldTypes->size() / 7 ) + 1 ) * 7};
932 const sal_uInt16 nStrFormatCnt =
static_cast<sal_uInt16
>(nHashSize);
933 OSL_ENSURE( nStrFormatCnt == nHashSize,
"Downcasting to sal_uInt16 lost information!" );
941 pFieldType = (*mpFieldTypes)[ --
n ].get();
942 switch( pFieldType->
Which() )
948 const OUString& rNm = pFieldType->
GetName();
950 SwHash* pFnd = aHashStrTable.
Find( rNm, &nPos );
953 static_cast<HashStr*
>(pFnd)->aSetStr = sExpand;
956 aHashStrTable[nPos].reset(
new HashStr( rNm, sExpand,
957 aHashStrTable[nPos].release() ) );
968 #if HAVE_FEATURE_DBCONNECTIVITY
982 int nShownSections = 0;
994 if ( pSectionNode && !rSectFormat.
GetParent() )
997 if (
n == 0 && pSectionNode->
GetIndex() != nContentStart )
999 if (
n == rSectFormats.
size() - 1 )
1001 if ( aNextIdx.GetIndex() != nContentEnd )
1004 else if ( !aNextIdx.GetNode().IsSectionNode() )
1014 std::unordered_map<SwSetExpFieldType const*, SwTextNode const*> SetExpOutlineNodeMap;
1016 for (std::unique_ptr<SetGetExpField>
const& it : *
mpUpdateFields->GetSortList())
1026 bool bHide = aValue.
GetBool();
1030 if (nShownSections == 1)
1046 OSL_ENSURE(
false,
"what's wrong now'" );
1051 && IsFieldDeleted(rIDRA, *pLayout, *pTextField))
1066 bool bValue = !aValue.
GetBool();
1079 bool bValue = aValue.
GetBool();
1085 #if HAVE_FEATURE_DBCONNECTIVITY
1088 aCalc.
VarChange( sDBNumNm, static_cast<const SwDBSetNumberField*>(pField)->GetSetNumber());
1095 #if HAVE_FEATURE_DBCONNECTIVITY
1097 UpdateDBNumFields( *const_cast<SwDBNameInfField*>(static_cast<const SwDBNameInfField*>(pField)), aCalc );
1105 #if HAVE_FEATURE_DBCONNECTIVITY
1109 SwDBData aTmpDBData(static_cast<const SwDBField*>(pField)->GetDBData());
1119 HashStr* pFnd = aHashStrTable.
Find( rName, &nPos );
1129 aHashStrTable[nPos].reset(
new HashStr( rName,
1130 value, aHashStrTable[nPos].release()) );
1144 if( (!pUpdateField || pUpdateField == pTextField )
1157 if( aNew.isEmpty() )
1161 if( !pUpdateField || pUpdateField == pTextField )
1168 HashStr* pFnd = aHashStrTable.
Find( aNew, &nPos );
1175 aHashStrTable[nPos].reset(
new HashStr( aNew,
1177 aHashStrTable[nPos].release() ) );
1178 pFnd = aHashStrTable[nPos].get();
1193 if( (!pUpdateField || pUpdateField == pTextField )
1206 OUString aNew = pSFieldTyp->
GetName();
1208 SwNode* pSeqNd =
nullptr;
1219 FindOutlineNodeOfLevel(nLvl, pLayout);
1220 auto const iter(SetExpOutlineNodeMap.find(pSFieldTyp));
1221 if (iter == SetExpOutlineNodeMap.end()
1222 || iter->second != pOutlNd)
1224 SetExpOutlineNodeMap[pSFieldTyp] = pOutlNd;
1237 if( !aValue.
IsVoidValue() && (!pUpdateField || pUpdateField == pTextField) )
1242 pSFieldTyp->
SetChapter(*pSField, *pSeqNd, pLayout);
1256 pUpdateField == pTextField
1258 : dynamic_cast<SwTextInputField *>(pTextField));
1263 assert(tmp &&
"should not be locked here?");
1275 if (pUpdateField == pTextField)
1281 pUpdateField =
nullptr;
1285 #if HAVE_FEATURE_DBCONNECTIVITY
1296 const SwFieldType* pFieldType = (*mpFieldTypes)[
i].get();
1314 sal_Int32 nRecords = 1;
1320 for (std::unique_ptr<SetGetExpField>
const& it : *
mpUpdateFields->GetSortList())
1322 const SwTextField *pTextField = it->GetTextField();
1348 switch( pFieldType->
Which() )
1391 bool bFieldsFnd =
false;
1403 const SwTextNode* pTNd = rNds[ nStt++ ]->GetTextNode();
1412 for(
size_t n = 0 ;
n < nEnd; ++
n )
1442 nDate = pNewDateTime->
GetDate();
1443 nTime = pNewDateTime->
GetTime();
1461 std::vector<SwFormatField*> vFields;
1463 for(
auto pFormatField: vFields)
1465 if (pFormatField->GetTextField())
1471 if( static_cast<SwDocInfoField*>(pFormatField->GetField())->IsFixed() )
1475 pDocInfField->
SetExpansion( static_cast<SwDocInfoFieldType*>(
1485 if( static_cast<SwAuthorField*>(pFormatField->GetField())->IsFixed() )
1494 if( static_cast<SwExtUserField*>(pFormatField->GetField())->IsFixed() )
1503 if( static_cast<SwDateTimeField*>(pFormatField->GetField())->IsFixed() )
1512 if( static_cast<SwFileNameField*>(pFormatField->GetField())->IsFixed() )
1517 pFileNameField->
SetExpansion( static_cast<SwFileNameFieldType*>(
1527 pFormatField->UpdateTextNode(
nullptr,
nullptr);
1543 #if !HAVE_FEATURE_DBCONNECTIVITY
1555 for (
auto it =
mpUpdateFields->GetSortList()->begin(); it != itLast; ++it)
1557 lcl_CalcField(
m_rDoc, rCalc, **it, pMgr, pLayout);
1560 #if HAVE_FEATURE_DBCONNECTIVITY
1566 sal_uLong const nLastNd, sal_Int32
const nLastCnt)
1572 #if !HAVE_FEATURE_DBCONNECTIVITY
1583 if (pLay->IsHideRedlines())
1585 pLayoutRLHidden = pLay;
1597 ( (*it)->GetNode() < nLastNd ||
1598 ( (*it)->GetNode() == nLastNd && (*it)->GetContent() <= nLastCnt )
1602 if (pLayout || !pLayoutRLHidden)
1604 lcl_CalcField(
m_rDoc, rCalc, **it, pMgr, pLayout );
1606 if (pLayoutRLHidden)
1608 lcl_CalcField(
m_rDoc, rCalc, **it, pMgr, pLayoutRLHidden );
1612 #if HAVE_FEATURE_DBCONNECTIVITY
1628 sal_uInt16 nTableSize = ((
mpUpdateFields->GetSortList()->size() / 7) + 1) * 7;
1629 rHashTable.
resize(nTableSize);
1634 for (
auto it =
mpUpdateFields->GetSortList()->begin(); it != itLast; ++it)
1636 const SwTextField* pTextField = (*it)->GetTextField();
1641 && IsFieldDeleted(rIDRA, rLayout, *pTextField))
1657 if( aNew.isEmpty() )
1668 SwHash* pFnd = rHashTable.
Find( aNew, &nPos );
1674 rHashTable[nPos].reset(
new HashStr( aNew,
1675 pSField->
GetExpStr(&rLayout), rHashTable[nPos].release()));
1695 rHashTable[nPos].reset(
new HashStr( rName,
1696 value, rHashTable[nPos].release()) );
1733 return (pNode !=
nullptr)
1742 std::vector<SwFormatField*> vFields;
1745 pFieldType->GatherFields(vFields);
1746 if(vFields.size()>0)
1817 #if !HAVE_FEATURE_DBCONNECTIVITY
1842 if( pMgr->
OpenDataSource( aTmpDBData.sDataSource, aTmpDBData.sCommand ))
1844 pMgr->
GetSelectedRecordId(aTmpDBData.sDataSource, aTmpDBData.sCommand, aTmpDBData.nCommandType) );
1848 OSL_FAIL(
"TODO: what should happen with unnamed DBFields?");
virtual bool UpdateField(SwTextField *rDstFormatField, SwField &rSrcField, SwMsgPoolItem *pMsgHint, bool bUpdateTableFields) override
Updates a field.
Instances of SwFields and those derived from it occur 0 to n times.
const SwEndNode * EndOfSectionNode() const
void SetValue(bool bHidden)
Base class of the Writer layout elements.
const ::utl::TransliterationWrapper & GetAppCmpStrIgnore()
bool CalcWithStackOverflow()
std::unique_ptr< SwFieldTypes > mpFieldTypes
virtual sal_uInt16 GetSubType() const override
void ChgValue(double d, bool bVal)
For calculations in expressions.
sal_uLong GetIndex() const
virtual void UpdateExpFields(SwTextField *pField, bool bUpdateRefFields) override
bool IsUsed(const sw::BroadcastingModify &) const
void CalcField(SwTableCalcPara &rCalcPara)
The shared part of a user field.
constexpr TypedWhichId< SwTableFormulaUpdate > RES_TABLEFML_UPDATE(170)
void ChgDBData(const SwDBData &rNewData)
Marks a position in the document model.
virtual bool IsNewFieldLst() const override
virtual void UpdateRefFields() override
Update reference and table fields.
const LocaleDataWrapper * GetLocaleDataPtr() const
LanguageType GetLanguage() const
Language at field position.
sal_uLong StartOfSectionIndex() const
virtual void LockExpFields() override
constexpr TypedWhichId< SwTableBoxNumFormat > RES_BOXATR_FORMAT(RES_BOXATR_BEGIN)
virtual void SetNewFieldLst(bool bFlag) override
virtual SwFieldType * InsertFieldType(const SwFieldType &) override
Insert field types.
sal_uInt32 GetFormat() const
Query parameters for dialog and for BASIC.
SwpHints * GetpSwpHints()
virtual sal_uInt16 GetSubType() const override
SvNumberFormatter * GetNumberFormatter(bool bCreate=true)
constexpr TypedWhichId< SwMsgPoolItem > RES_UPDATEDDETBL(171)
void TriggerNodeUpdate(const sw::LegacyModifyHint &)
for hanging TextFormatCollections somewhere else (Outline-Numbering!)
void ChgExpStr(const OUString &rExpand, SwRootFrame const *pLayout)
LanguageType getLanguageType(bool bResolveSystem=true) const
virtual std::unique_ptr< SwFieldType > Copy() const =0
const SwTextNode * GetBodyTextNode(const SwDoc &rDoc, SwPosition &rPos, const SwFrame &rFrame)
Forward declaration: get "BodyTextNode" for exp.fld in Fly's headers/footers/footnotes.
bool OpenDataSource(const OUString &rDataSource, const OUString &rTableOrQuery)
open the source while fields are updated - for the calculator only!
virtual void SetModified()=0
Must be called manually at changes of format.
bool IsInitialized() const
virtual void SetValue(const double &rVal) override
const OUString & GetExpStr(SwRootFrame const *pLayout) const
Base class of all fields.
virtual void SetFixFields(const DateTime *pNewDateTime) override
SwContentFrame * getLayoutFrame(const SwRootFrame *, const SwPosition *pPos=nullptr, std::pair< Point, bool > const *pViewPosAndCalcFrame=nullptr) const
constexpr sal_uInt16 RES_BOXATR_END(153)
std::unique_ptr< SwField > CopyField() const
sal_Int32 GetLong() const
SwTextNode * GetpTextNode() const
const SwDBData & GetDBData() const
static SwField * GetFieldAtPos(const SwPosition &rPos)
Returns the field at a certain position.
Dialog to specify the properties of date form field.
IDocumentUndoRedo & GetIDocumentUndoRedo()
const OUString & GetName() const
OUString LookString(SwHashTable< HashStr > const &rTable, const OUString &rName)
Look up the Name, if it is present, return its String, otherwise return an empty String.
static const OUString & GetTypeStr(SwFieldTypesEnum nTypeId)
bool HasWriterListeners() const
The root element of a Writer document layout.
For old documents the Field-Which IDs must be preserved !!!
bool IsCondHidden() const
virtual void UpdatePageFields(SfxPoolItem *) override
int GetAttrOutlineLevel() const
Returns outline level of this text node.
OUString const & GetCondition() const
static LanguageType nLang
void GatherFields(std::vector< SwFormatField * > &rvFormatFields, bool bCollectOnlyInDocNodes=true) const
void UpdateFields() const
void SetChapter(SwSetExpField &rField, const SwNode &rNd, SwRootFrame const *pLayout)
void UpdateExpFieldsImpl(SwTextField *pField, SwRootFrame const *pLayout)
virtual OUString GetPar1() const
void VarChange(const OUString &rStr, const SwSbxValue &rValue)
virtual void UpdateFields(bool bCloseDB) override
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
void ChgExpStr(const OUString &rExpand, SwRootFrame const *pLayout)
A wrapper around SfxPoolItem to store the start position of (usually) a text portion, with an optional end.
virtual bool PutValue(const css::uno::Any &rVal, sal_uInt16 nWhichId)
virtual sal_uInt16 GetSubType() const override
sal_Int32 GetStart() const
Field type for dropdown boxes.
bool containsUpdatableFields()
virtual void UpdateTableFields(SfxPoolItem *pHt) override
virtual void SetValue(const double &rVal) override
void SetExpansion(const OUString &rStr)
const SwTable & GetTable() const
virtual bool IsExpFieldsLocked() const override
Implementation in tblcalc.cxx.
sal_Int32 GetDate() const
const SwFormatField & GetFormatField() const
o3tl::sorted_vector< SwRootFrame * > GetAllLayouts()
virtual bool DoesUndo() const =0
Is Undo enabled?
void SetExpansion(const OUString &rStr)
virtual SwDocUpdateField & GetUpdateFields() const override
const SwGetSetExpType GSE_EXPR
Expression.
virtual bool QueryValue(css::uno::Any &rVal, sal_uInt16 nWhichId) const
#define INIT_SEQ_FLDTYPES
static SwTextField * GetTextFieldAtPos(const SwPosition &rPos)
Returns the field at a certain position.
virtual OUString GetPar1() const override
Query, set condition.
SwNode & GetEndOfContent() const
Regular ContentSection (i.e. the BodyText).
virtual void RemoveFieldType(size_t nField) override
Remove field type.
virtual void AppendUndo(std::unique_ptr< SwUndo > pUndo)=0
Add new Undo action.
constexpr TypedWhichId< SwFormatField > RES_TXTATR_FIELD(RES_TXTATR_NOEND_BEGIN)
void SetExpansion(const OUString &rStr)
virtual bool SetFieldsDirty(bool b, const SwNode *pChk, sal_uLong nLen) override
SwTextAttr * Get(size_t nPos) const
SwDBData const & GetDBData()
const SwExtendedSubType SUB_CMD
Show command.
std::vector< SwSectionFormat * >::size_type size_type
void SetCondHidden(bool const bFlag)
virtual ~DocumentFieldsManager() override
virtual bool IsModified() const =0
Changes of document?
bool IsSequenceField() const
void Evaluate(SwDoc &rDoc)
get current field value and cache it
void Evaluate()
Get the evaluation via DBManager string.
SwContentNode * GetContentNode()
vector_type::size_type size_type
virtual void FieldsToExpand(SwHashTable< HashStr > &rTable, const SetGetExpField &rToThisField, SwRootFrame const &rLayout) override
virtual void FieldsToCalc(SwCalc &rCalc, sal_uLong nLastNd, sal_Int32 nLastCnt) override
bool IsInBodyText() const
Called by formatting.
void CloseAll(bool bIncludingMerge=true)
close all data sources - after fields were updated
virtual SwFieldType * GetFieldType(SwFieldIds nResId, const OUString &rName, bool bDbFieldMatching) const override
Find first type with ResId and name.
IDocumentState const & getIDocumentState() const
constexpr sal_uInt16 RES_BOXATR_BEGIN(RES_GRFATR_END)
double GetValue(SwCalc &rCalc)
Marks a node in the document model.
SwNodes & GetNodes()
Node is in which nodes-array/doc?
T * Find(const OUString &rStr, sal_uInt16 *pPos=nullptr) const
SwpHints & GetSwpHints()
getters for SwpHints
OUString SwResId(const char *pId)
SwTextField * GetFieldTextAttrAt(const sal_Int32 nIndex, const bool bIncludeInputFieldAtStart=false) const
sal_uInt8 GetOutlineLvl() const
void InitContent()
Evaluation for header and footer.
virtual sal_uInt16 GetSubType() const
virtual SwFieldType * GetSysFieldType(const SwFieldIds eWhich) const override
virtual void UnlockExpFields() override
SwFieldType * GetTyp() const
virtual OUString GetName() const override
Only in derived classes.
DocumentFieldsManager(SwDoc &i_rSwdoc)
virtual const SwRangeRedline * GetRedline(const SwPosition &rPos, SwRedlineTable::size_type *pFndPos) const =0
bool CalcHiddenFlag() const
void resize(size_t nSize)
void UpdateDBNumFields(SwDBNameInfField &rDBField, SwCalc &rCalc)
bool FillCalcWithMergeData(SvNumberFormatter *pDocFormatter, LanguageType nLanguage, SwCalc &aCalc)
Fields containing values that have to be formatted via number formatter.
SwSbxValue Calculate(const OUString &rStr)
SwTextNode is a paragraph in the document model.
OUString ExpandField(bool bCached, SwRootFrame const *pLayout) const
expand the field.
IDocumentRedlineAccess const & getIDocumentRedlineAccess() const
const SwGetSetExpType GSE_SEQ
Sequence.
const SwStartNode * GetSttNd() const
const LanguageTag & getLanguageTag() const
SwFieldIds Which() const
ResId.
void SetFieldsDirty(bool b)
virtual OUString GetName() const
Only in derived classes.
sal_uInt32 GetSelectedRecordId(const OUString &rDataSource, const OUString &rTableOrQuery, sal_Int32 nCommandType=-1)
bool IsFieldDeletedInModel(IDocumentRedlineAccess const &rIDRA, SwTextField const &rTextField)
SwTableNode * IsIdxInTable(const SwNodeIndex &rIdx)
static OUString Expand(sal_uInt16 nSubType)
virtual const SwFieldTypes * GetFieldTypes() const override
static OUString Expand(sal_uLong)
sal_Int32 GetIndex() const
bool PutString(const OUString &)
constexpr TypedWhichId< SwTableBoxFormula > RES_BOXATR_FORMULA(151)
Item2Range GetItemSurrogates(sal_uInt16 nWhich) const
bool LockNotifyContentChange()
SwTableBox is one table cell in the document model.
virtual sal_Int32 GetRecordsPerDocument() const override
bool IsHideRedlines() const
Replacement for sw::DocumentRedlineManager::GetRedlineFlags() (this is layout-level redline hiding)...
SwFrameFormat * ClaimFrameFormat()
constexpr TypedWhichId< SwFormatField > RES_TXTATR_INPUTFIELD(55)
void SetExpansion(const OUString &rStr)
SwCalcExp * VarLook(const OUString &rStr, bool bIns=false)
const SwDBData & GetRealDBData() const
DBName.
virtual void CallSwClientNotify(const SfxHint &rHint) const override
SwTableNode * FindTableNode()
Search table node, in which it is.
bool IsDataSourceOpen(const OUString &rDataSource, const OUString &rTableOrQuery, bool bMergeShell)
check if a data source is open
void UnlockNotifyContentChange()
void Evaluate(const SwDoc &)
const SwTextField * GetTextField() const
bool IsDocNodes() const
Is the NodesArray the regular one of Doc? (and not the UndoNds, ...) Implementation in doc...
const SwGetSetExpType GSE_STRING
String.
virtual void PutValueToField(const SwPosition &rPos, const css::uno::Any &rVal, sal_uInt16 nWhich) override
Puts a value into a field at a certain position.
std::unique_ptr< SwDocUpdateField > mpUpdateFields
SwTextNode & GetTextNode() const
SwNode & GetEndOfExtras() const
This is the last EndNode of a special section.
SwSectionFormats & GetSections()
void GCFieldTypes()
Remove all unreferenced field types of a document.
void SetHidden(bool bHidden)
virtual double GetValue() const
SwContentNode * GoNext(SwNodeIndex *) const
virtual void InsDeletedFieldType(SwFieldType &) override
T should be a subclass of SwHash.
SwDBManager * GetDBManager() const
virtual void InsDelFieldInFieldLst(bool bIns, const SwTextField &rField) override
std::vector< std::unique_ptr< SetGetExpField > >::const_iterator const_iterator
const SwAttrPool & GetAttrPool() const
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
void SetCondition(OUString const &rNew)
virtual OUString GetPar1() const override
virtual void UpdateUsrFields() override
Insert field type that was marked as deleted.
virtual void ResetModified()=0
Base class of the Writer document model elements.