21 #include <osl/diagnose.h>
42 #include <strings.hrc>
52 const OUString& rSortAlgorithm ) :
54 m_sSortAlgorithm(rSortAlgorithm),
61 m_eLang( rIntl.m_eLang ),
62 m_sSortAlgorithm(rIntl.m_sSortAlgorithm),
63 m_nOptions( rIntl.m_nOptions )
78 if(
aSeq.hasElements())
108 const lang::Locale& rLocale1,
110 const lang::Locale& rLocale2 )
const
117 const lang::Locale& rLocale )
const
131 const lang::Locale* pLocale )
132 : pTOXNd( nullptr ), pTextMark( pMark ), pTOXIntl( pInter ),
133 nPos( 0 ), nCntPos( 0 ),
nType( static_cast<sal_uInt16>(nTyp) )
134 , m_bValidText( false )
157 if( nPos < pNd->GetNodes().GetEndOfExtras().GetIndex() )
161 std::pair<Point, bool> tmp(aPt,
false);
170 OSL_ENSURE(bResult,
"where is the text node");
216 bRet = ( ( pEnd && pEndCmp ) || ( !pEnd && !pEndCmp ) ) &&
239 if( pFirst && pFirst == pNext )
253 if( ( pEnd && pEndCmp ) || ( !pEnd && !pEndCmp ) )
258 if( pEnd && !pEndCmp )
277 const lang::Locale& rLocale )
295 OSL_ENSURE(
pTextMark,
"pTextMark == 0, No keyword");
311 OSL_ENSURE(
pTextMark,
"pTextMark == 0, No keyword");
335 OSL_ENSURE(
pTextMark,
"pTextMark == 0, No keyword");
372 assert(!
"sw_redlinehide: this is dead code, Bibliography only has SwTOXAuthority");
401 OSL_ENSURE(
pTextMark,
"pTextMark == 0, No keyword");
419 const lang::Locale& rLocale )
421 m_aKey(rKey), nLev(nLevel)
464 static_cast<const SwTextNode*>(
aTOXSources[0].pNd)->GetExpandText(
482 assert(!
"sw_redlinehide: this is dead code, Bibliography only has SwTOXAuthority");
486 static_cast<const SwTextNode*>(
aTOXSources[0].pNd)->CopyExpandText(
511 m_sSequenceName( sSeqName )
536 return TextAndReading(static_cast<const SwTextNode*>(pNd)->GetExpandText(
553 pLayout, *static_cast<const SwTextNode*>(pNd),
568 OSL_ENSURE(
false,
"Graphic/object without name" );
572 ? STR_GRAPHIC_DEFNAME
585 assert(!
"sw_redlinehide: this is dead code, Bibliography only has SwTOXAuthority");
594 pLayout,
false,
false,
true );
602 pLayout,
false,
false,
true );
610 assert(pSrc == pMerged->pParaPropsNode);
612 i <= pMerged->pLastNode->GetIndex(); ++
i)
619 rNd, &rInsPos, 0, -1,
620 pLayout,
false,
false,
false );
641 const int nTmp =
static_cast<const SwTextNode*
>(pNd)->GetAttrOutlineLevel();
643 nRet =
static_cast<sal_uInt16
>(nTmp);
665 aText =
"#" + pMark->
GetName();
684 default: pStr =
nullptr;
687 aText += OUString::createFromAscii( pStr );
735 OSL_ENSURE(
false,
"Where's my table?" );
754 const OUString
sName =
static_cast<const SwTableNode*
>(pNd)->GetTable().GetFrameFormat()->GetName();
755 if ( sName.isEmpty() )
777 nRet = sText.toUInt32();
797 const SwIndex& rInsPos, sal_uInt16 nAuthField,
807 if(cChar && cChar !=
' ')
808 sText = sText.copy(1);
810 if(cChar && cChar !=
' ')
811 sText = sText.copy(0, sText.getLength() - 1);
820 sText = pField->
GetFieldText(static_cast<ToxAuthorityField>(nAuthField));
virtual sal_uInt16 GetLevel() const override
const css::lang::Locale & GetLocale() const
OUString GetIndexKey(const TextAndReading &rTaR, const css::lang::Locale &rLcl) const
Represents the visualization of a paragraph.
virtual sal_uInt16 GetLevel() const override
sal_uLong GetIndex() const
virtual TextAndReading GetText_Impl(SwRootFrame const *pLayout) const override
bool IsAlternativeText() const
OUString const & GetSecondaryKeyReading() const
virtual const OUString & GetName() const =0
Marks a position in the document model.
virtual OUString GetURL() const
virtual const SwRootFrame * GetCurrentLayout() const =0
OUString const & GetPrimaryKey() const
virtual OUString GetURL() const override
const SwTextNode * GetBodyTextNode(const SwDoc &rDoc, SwPosition &rPos, const SwFrame &rFrame)
Forward declaration: get "BodyTextNode" for exp.fld in Fly's headers/footers/footnotes.
virtual sal_uInt16 GetLevel() const =0
std::unique_ptr< IndexEntrySupplierWrapper > m_pIndexWrapper
SwContentFrame * getLayoutFrame(const SwRootFrame *, const SwPosition *pPos=nullptr, std::pair< Point, bool > const *pViewPosAndCalcFrame=nullptr) const
virtual bool sort_lt(const SwTOXSortTabBase &) override
SwTOXIndex(const SwTextNode &, const SwTextTOXMark *, SwTOIOptions nOptions, sal_uInt8 nKeyLevel, const SwTOXInternational &rIntl, const css::lang::Locale &rLocale)
IDocumentMarkAccess * getIDocumentMarkAccess()
virtual bool equivalent(const SwTOXSortTabBase &) override
virtual void FillText(SwTextNode &rNd, const SwIndex &rInsPos, sal_uInt16 nAuthField, SwRootFrame const *pLayout) const override
#define FORM_SECONDARY_KEY
virtual TextAndReading GetText_Impl(SwRootFrame const *pLayout) const override
The root element of a Writer document layout.
OUString GetFollowingText(bool bMorePages) const
static OUString const & GetAuthTypeName(ToxAuthorityType eType)
SwTableFormat * GetFrameFormat()
virtual sal_uInt16 GetLevel() const override
static LanguageType nLang
SwTOXAuthority(const SwContentNode &rNd, SwFormatField &rField, const SwTOXInternational &rIntl)
virtual bool IsFullPara() const
OUString const & GetPrimaryKeyReading() const
const SwTOXSortKey * GetSortKey(sal_uInt16 nIdx) const
virtual sal_uInt16 GetLevel() const override
sal_Unicode GetPrefix() const
const SwTOXMark & GetTOXMark() const
invariant for SwAuthorityField is that it is always registered at its SwAuthorityFieldType via AddFie...
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
virtual void FillText(SwTextNode &rNd, const SwIndex &rInsPos, sal_uInt16 nAuthField, SwRootFrame const *pLayout) const override
virtual bool equivalent(const SwTOXSortTabBase &)
bool IsNumeric(const OUString &rStr) const
bool IsEqual(const TextAndReading &rTaR1, const css::lang::Locale &rLocale1, const TextAndReading &rTaR2, const css::lang::Locale &rLocale2) const
sal_uLong GetIndex() const
virtual bool equivalent(const SwTOXSortTabBase &) override
virtual bool equivalent(const SwTOXSortTabBase &) override
sal_Int32 GetStart() const
const SwTable & GetTable() const
Describes parts of multiple text nodes, which will form a text frame, even when redlines are hidden a...
virtual TextAndReading GetText_Impl(SwRootFrame const *pLayout) const override
OUString ToUpper(const OUString &rStr, sal_Int32 nPos) const
virtual TextAndReading GetText_Impl(SwRootFrame const *pLayout) const override
virtual OUString GetURL() const override
const OUString & GetAlternativeText() const
OUString m_sSortAlgorithm
OUString GetExpandTextMerged(SwRootFrame const *const pLayout, SwTextNode const &rNode, bool const bWithNumber, bool const bWithSpacesForLevel, ExpandMode const i_mode)
SwTOXInternational(LanguageType nLang, SwTOIOptions nOptions, const OUString &rSortAlgorithm)
sal_uInt16 GetLevel() const
virtual TextAndReading GetText_Impl(SwRootFrame const *pLayout) const override
sal_Unicode GetSuffix() const
OUString GetText(SwRootFrame const *pLayout) const
Marks a character position inside a document model node.
SwTOXTable(const SwContentNode &rNd)
const SwTOXInternational * pTOXIntl
virtual void FillText(SwTextNode &rNd, const SwIndex &rInsPos, sal_uInt16 nAuthField, SwRootFrame const *pLayout) const override
SwNodes & GetNodes()
Node is in which nodes-array/doc?
OUString SwResId(const char *pId)
const SwTextTOXMark * pTextMark
const sal_Unicode cMarkSeparator
OUString const & GetTextReading() const
IDocumentLayoutAccess const & getIDocumentLayoutAccess() const
virtual bool sort_lt(const SwTOXSortTabBase &) override
virtual TextAndReading GetText_Impl(SwRootFrame const *pLayout) const override
SwFieldType * GetTyp() const
virtual sal_uInt16 GetLevel() const override
OUString InsertText(const OUString &rStr, const SwIndex &rIdx, const SwInsertFlags nMode=SwInsertFlags::DEFAULT)
insert text content
SwTOXPara(SwContentNode &, SwTOXElement, sal_uInt16 nLevel=FORM_ALPHA_DELIMITER, const OUString &sSeqName=OUString())
SwTextNode is a paragraph in the document model.
ExpandMode
Some helpers for converting model strings to view strings.
OUString ExpandField(bool bCached, SwRootFrame const *pLayout) const
expand the field.
SwTOXCustom(const TextAndReading &rKey, sal_uInt16 nLevel, const SwTOXInternational &rIntl, const css::lang::Locale &rLocale)
OUString const & GetSecondaryKey() const
virtual ::sw::mark::IMark * getMarkForTextNode(const SwTextNode &rTextNode, MarkType eMark)=0
Returns a mark in the document for a paragraph.
bool IsLess(const TextAndReading &rTaR1, const css::lang::Locale &rLocale1, const TextAndReading &rTaR2, const css::lang::Locale &rLocale2) const
css::lang::Locale aLocale
sal_Int32 GetIndex() const
const sal_Int32 * End() const
#define FORM_ALPHA_DELIMITER
Sequence< sal_Int8 > aSeq
virtual bool IsFullPara() const override
bool IsHideRedlines() const
Replacement for sw::DocumentRedlineManager::GetRedlineFlags() (this is layout-level redline hiding)...
SwTableNode * FindTableNode()
Search table node, in which it is.
bool CopyExpandText(SwTextNode &rDestNd, const SwIndex *pDestIdx, sal_Int32 nIdx, sal_Int32 nLen, SwRootFrame const *pLayout, bool bWithNum=false, bool bWithFootnote=true, bool bReplaceTabsWithSpaces=false) const
virtual sal_uInt16 GetLevel() const override
static SwTOIOptions GetOptions()
bool IsSortByDocument() const
bool IsFrameBehind(const SwTextNode &rMyNd, sal_Int32 nMySttPos, const SwTextNode &rBehindNd, sal_Int32 nSttPos)
bool HasMergedParas() const
virtual void FillText(SwTextNode &rNd, const SwIndex &rInsPos, sal_uInt16 nAuthField, SwRootFrame const *pLayout) const
std::unique_ptr< CharClass > m_pCharClass
static OUString lcl_GetText(SwFormatField const &rField, SwRootFrame const *const pLayout)
TextAndReading const & GetText() const
virtual bool sort_lt(const SwTOXSortTabBase &)
Class for sorting directories.
const OUString & GetFieldText(ToxAuthorityField eField) const
SwFrameFormat * GetFlyFormat() const
If node is in a fly return the respective format.
SwTOXContent(const SwTextNode &, const SwTextTOXMark *, const SwTOXInternational &rIntl)
std::vector< SwTOXSource > aTOXSources
sal_uInt16 GetSortKeyCount() const
sal_Int32 Compare(const TextAndReading &rTaR1, const css::lang::Locale &rLocale1, const TextAndReading &rTaR2, const css::lang::Locale &rLocale2) const
#define SW_COLLATOR_IGNORES
virtual bool sort_lt(const SwTOXSortTabBase &) override
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
virtual void FillText(SwTextNode &rNd, const SwIndex &rInsPos, sal_uInt16 nAuthField, SwRootFrame const *pLayout) const override
static css::lang::Locale convertToLocale(LanguageType nLangID, bool bResolveSystem=true)
SwTOXSortTabBase(TOXSortType nType, const SwContentNode *pTOXSrc, const SwTextTOXMark *pTextMark, const SwTOXInternational *pIntl, const css::lang::Locale *pLocale=nullptr)
Base class of the Writer document model elements.