176 return static_cast<const T&
>(
GetItem(sal_uInt16(nWhich)));
178 bool HasItem( sal_uInt16 nWhich )
const;
186 typedef std::vector<std::unique_ptr<EditCharAttrib> >
AttribsType;
211 sal_Int32
Count()
const;
220 bool HasAttrib( sal_Int32 nStartPos, sal_Int32 nEndPos )
const;
226 void Remove(sal_Int32 nPos);
228#if OSL_DEBUG_LEVEL > 0 && !defined NDEBUG
280 sal_Int32
Len()
const;
286 OUString
GetExpandedText(sal_Int32 nStartPos = 0, sal_Int32 nEndPos = -1)
const;
291 void Insert(std::u16string_view rStr, sal_Int32 nPos);
292 void Append(std::u16string_view rStr);
293 void Erase(sal_Int32 nPos);
294 void Erase(sal_Int32 nPos, sal_Int32 nCount);
295 OUString
Copy(sal_Int32 nPos)
const;
296 OUString
Copy(sal_Int32 nPos, sal_Int32 nCount)
const;
464 sal_Int32 nCharPos, sal_Int32& rPortionStart,
bool bPreferStartingPortion =
false)
const;
467 sal_Int32
Count()
const;
473 void Remove(sal_Int32 nPos);
506 bool IsIn( sal_Int32 nIndex )
const
509 bool IsIn( sal_Int32 nIndex,
bool bInclEnd )
const
528 void SetHeight( sal_uInt16 nH, sal_uInt16 nTxtH = 0 );
570 typedef std::vector<std::unique_ptr<EditLine> >
LinesType;
579 sal_Int32
FindLine(sal_Int32 nChar,
bool bInclEnd);
580 sal_Int32
Count()
const;
633 void MarkInvalid( sal_Int32 nStart, sal_Int32 nDiff);
653#if OSL_DEBUG_LEVEL > 0
679 std::unique_ptr<ParaPortion>
Release(sal_Int32 nPos);
680 void Remove(sal_Int32 nPos);
681 void Insert(sal_Int32 nPos, std::unique_ptr<ParaPortion> p);
682 void Append(std::unique_ptr<ParaPortion> p);
683 sal_Int32
Count()
const;
685#if OSL_DEBUG_LEVEL > 0 && !defined NDEBUG
827 sal_Int32
Count()
const;
832 void Remove(sal_Int32 nPos);
841 return (nAttr < rAttribs.size()) ? rAttribs[nAttr].get() :
nullptr;
844#if OSL_DEBUG_LEVEL > 0 && !defined NDEBUG
bool HasEmptyAttribs() const
void dumpAsXml(xmlTextWriterPtr pWriter) const
AttribsType & GetAttribs()
const EditCharAttrib * FindFeature(sal_Int32 nPos) const
static void DbgCheckAttribs(CharAttribList const &rAttribs)
bool HasAttrib(sal_Int32 nStartPos, sal_Int32 nEndPos) const
bool HasBoundingAttrib(sal_Int32 nBound) const
EditCharAttrib * FindEmptyAttrib(sal_uInt16 nWhich, sal_Int32 nPos)
void InsertAttrib(EditCharAttrib *pAttrib)
void OptimizeRanges(SfxItemPool &rItemPool)
std::vector< std::unique_ptr< EditCharAttrib > > AttribsType
const EditCharAttrib * FindNextAttrib(sal_uInt16 nWhich, sal_Int32 nFromPos) const
void Remove(const EditCharAttrib *p)
void SetHasEmptyAttribs(bool b)
const AttribsType & GetAttribs() const
const EditCharAttrib * FindAttrib(sal_uInt16 nWhich, sal_Int32 nPos) const
void DeleteEmptyAttribs(SfxItemPool &rItemPool)
SfxItemSet aPrevParaAttribs
CharAttribsType aPrevCharAttribs
ContentAttribsInfo(SfxItemSet aParaAttribs)
void RemoveAllCharAttribsFromPool(SfxItemPool &rPool) const
std::vector< std::unique_ptr< EditCharAttrib > > CharAttribsType
const SfxItemSet & GetPrevParaAttribs() const
const CharAttribsType & GetPrevCharAttribs() const
void AppendCharAttrib(EditCharAttrib *pNew)
SfxItemSetFixed< EE_PARA_START, EE_CHAR_END > aAttribSet
SvxTabStop FindTabStop(sal_Int32 nCurPos, sal_uInt16 nDefTab)
bool HasItem(sal_uInt16 nWhich) const
const SfxPoolItem & GetItem(sal_uInt16 nWhich) const
SfxStyleSheet * GetStyleSheet()
const SfxStyleSheet * GetStyleSheet() const
void SetStyleSheet(SfxStyleSheet *pS)
void dumpAsXml(xmlTextWriterPtr pWriter) const
ContentAttribs(SfxItemPool &rItemPool)
const SfxItemSet & GetItems() const
const T & GetItem(TypedWhichId< T > nWhich) const
ContentNode(SfxItemPool &rItemPool)
void CollapseAttribs(sal_Int32 nIndex, sal_Int32 nDelChars, SfxItemPool &rItemPool)
void SetChar(sal_Int32 nPos, sal_Unicode c)
void dumpAsXml(xmlTextWriterPtr pWriter) const
CharAttribList & GetCharAttribs()
sal_Unicode GetChar(sal_Int32 nPos) const
void UnExpandPosition(sal_Int32 &rStartPos, bool bBiasStart)
ContentAttribs aContentAttribs
bool IsFeature(sal_Int32 nPos) const
const OUString & GetString() const
ContentAttribs & GetContentAttribs()
const ContentAttribs & GetContentAttribs() const
WrongList * GetWrongList()
const CharAttribList & GetCharAttribs() const
void CopyAndCutAttribs(ContentNode *pPrevNode, SfxItemPool &rPool, bool bKeepEndingAttribs)
ContentNode(const ContentNode &)=delete
void Insert(std::u16string_view rStr, sal_Int32 nPos)
void Erase(sal_Int32 nPos)
void UnExpandPositions(sal_Int32 &rStartPos, sal_Int32 &rEndPos)
re-write offsets in the expanded text to string offsets
void ExpandAttribs(sal_Int32 nIndex, sal_Int32 nNewChars, SfxItemPool &rItemPool)
void AppendAttribs(ContentNode *pNextNode)
void Append(std::u16string_view rStr)
OUString Copy(sal_Int32 nPos) const
ContentNode & operator=(const ContentNode &)=delete
CharAttribList aCharAttribList
OUString GetExpandedText(sal_Int32 nStartPos=0, sal_Int32 nEndPos=-1) const
return content including expanded fields
void SetWrongList(WrongList *p)
std::unique_ptr< WrongList > mpWrongList
sal_Int32 GetExpandedLen() const
return length including expanded fields
SfxStyleSheet * GetStyleSheet()
void SetStyleSheet(SfxStyleSheet *pS, bool bRecalcFont=true)
sal_Int32 GetPosition() const
DeletedNodeInfo(ContentNode *pNode, sal_Int32 nPos)
sal_Int32 nInvalidParagraph
ContentNode * GetNode() const
ContentNode * mpInvalidNode
void ImplDestroyContents()
EditPaM GetEndPaM() const
void Insert(sal_Int32 nPos, ContentNode *p)
bool IsEffectivelyVertical() const
void InsertAttrib(const SfxPoolItem &rItem, ContentNode *pNode, sal_Int32 nStart, sal_Int32 nEnd)
void RemoveItemsFromPool(const ContentNode &rNode)
bool IsTopToBottom() const
const SvxFont & GetDefFont() const
sal_Int32 GetPos(const ContentNode *pNode) const
static void FindAttribs(ContentNode *pNode, sal_Int32 nStartPos, sal_Int32 nEndPos, SfxItemSet &rCurSet)
void RemoveChars(EditPaM aPaM, sal_Int32 nChars)
SfxItemPool & GetItemPool()
std::vector< std::unique_ptr< ContentNode > > maContents
bool IsFixedCellHeight() const
void SetModifyHdl(const Link< LinkParamNone *, void > &rLink)
void Remove(sal_Int32 nPos)
deletes
OUString GetParaAsString(sal_Int32 nNode) const
OUString GetText(LineEnd eEnd) const
const SfxItemPool & GetItemPool() const
const ContentNode * GetObject(sal_Int32 nPos) const
bool RemoveAttribs(ContentNode *pNode, sal_Int32 nStart, sal_Int32 nEnd, sal_uInt16 nWhich)
bool bDisableAttributeExpanding
void SetDefTab(sal_uInt16 nTab)
void SetRotation(TextRotation nRotation)
void InsertAttribInSelection(ContentNode *pNode, sal_Int32 nStart, sal_Int32 nEnd, const SfxPoolItem &rPoolItem)
void SetVertical(bool bVertical)
EditPaM ConnectParagraphs(ContentNode *pLeft, ContentNode *pRight)
static OUString GetSepStr(LineEnd eEnd)
void DisableAttributeExpanding()
void CreateDefFont(bool bUseStyles)
sal_uInt16 GetDefTab() const
Link< LinkParamNone *, void > aModifyHdl
TextRotation GetRotation() const
EditPaM InsertText(EditPaM aPaM, std::u16string_view rStr)
void Release(sal_Int32 nPos)
does not delete
EditPaM InsertParaBreak(EditPaM aPaM, bool bKeepEndingAttribs)
void dumpAsXml(xmlTextWriterPtr pWriter) const
EditPaM InsertFeature(EditPaM aPaM, const SfxPoolItem &rItem)
sal_Int32 GetTextLen() const
const ContentNode * operator[](sal_Int32 nPos) const
void SetFixedCellHeight(bool bUseFixedCellHeight)
EditDoc(SfxItemPool *pItemPool)
rtl::Reference< SfxItemPool > pItemPool
EditPaM GetStartPaM() const
virtual ~EditEngineItemPool() override
std::shared_ptr< DefItems > m_xDefItems
sal_Int32 FindLine(sal_Int32 nChar, bool bInclEnd)
std::vector< std::unique_ptr< EditLine > > LinesType
void DeleteFromLine(sal_Int32 nDelFrom)
void Insert(sal_Int32 nPos, EditLine *p)
const EditLine & operator[](sal_Int32 nPos) const
const std::vector< sal_Bool > & GetKashidaArray() const
bool IsIn(sal_Int32 nIndex) const
void SetTextWidth(sal_Int32 n)
bool IsIn(sal_Int32 nIndex, bool bInclEnd) const
CharPosArrayType & GetCharPosArray()
sal_Int32 GetStartPortion() const
const CharPosArrayType & GetCharPosArray() const
sal_uInt16 GetHeight() const
void SetEndPortion(sal_Int32 n)
sal_Int32 GetEndPortion() const
CharPosArrayType aPositions
std::vector< sal_Bool > & GetKashidaArray()
void SetStartPortion(sal_Int32 n)
void SetStartPosX(sal_Int32 start)
EditLine & operator=(const EditLine &rLine)
std::vector< sal_Int32 > CharPosArrayType
sal_uInt16 GetTxtHeight() const
std::vector< sal_Bool > aKashidaPositions
sal_Int32 GetStart() const
sal_uInt16 GetMaxAscent() const
Size CalcTextSize(ParaPortion &rParaPortion)
friend bool operator==(const EditLine &r1, const EditLine &r2)
sal_Int32 GetStartPosX() const
sal_Int32 & GetEndPortion()
void SetMaxAscent(sal_uInt16 n)
sal_Int32 GetTextWidth() const
void SetStart(sal_Int32 n)
void SetHangingPunctuation(bool b)
sal_Int32 & GetStartPortion()
void SetHeight(sal_uInt16 nH, sal_uInt16 nTxtH=0)
bool IsHangingPunctuation() const
friend bool operator==(const EditPaM &r1, const EditPaM &r2)
friend bool operator!=(const EditPaM &r1, const EditPaM &r2)
void SetIndex(sal_Int32 n)
void SetNode(ContentNode *p)
const ContentNode * GetNode() const
sal_Int32 GetIndex() const
bool DbgIsBuggy(EditDoc const &rDoc) const
const EditPaM & Min() const
EditSelection & operator=(const EditPaM &r)
bool DbgIsBuggy(EditDoc const &rDoc) const
bool operator!=(const EditSelection &r) const
void Adjust(const EditDoc &rNodes)
bool operator==(const EditSelection &r) const
const EditPaM & Max() const
void Insert(const SfxPoolItem *pItem)
const SfxPoolItem * Next()
const SfxPoolItem * First()
std::vector< const SfxPoolItem * > DummyItemList
sal_Int32 GetPos(const ParaPortion *p) const
std::vector< std::unique_ptr< ParaPortion > > maPortions
tools::Long GetYOffset(const ParaPortion *pPPortion) const
static void DbgCheck(ParaPortionList const &, EditDoc const &rDoc)
void Insert(sal_Int32 nPos, std::unique_ptr< ParaPortion > p)
void Append(std::unique_ptr< ParaPortion > p)
void Remove(sal_Int32 nPos)
std::unique_ptr< ParaPortion > Release(sal_Int32 nPos)
const ParaPortion * SafeGetObject(sal_Int32 nPos) const
ParaPortion * operator[](sal_Int32 nPos)
sal_Int32 FindParagraph(tools::Long nYOffset) const
WritingDirectionInfos aWritingDirectionInfos
ParaPortion(const ParaPortion &)=delete
TextPortionList & GetTextPortions()
sal_Int32 nFirstLineOffset
void MarkInvalid(sal_Int32 nStart, sal_Int32 nDiff)
short GetInvalidDiff() const
tools::Long GetHeight() const
sal_Int32 nInvalidPosStart
void SetBulletX(sal_Int32 n)
static bool DbgCheckTextPortions(ParaPortion const &)
void SetMustRepaint(bool bRP)
bool IsSimpleInvalid() const
ScriptTypePosInfos aScriptInfos
sal_Int32 GetFirstLineOffset() const
sal_Int32 GetLineNumber(sal_Int32 nIndex) const
sal_Int32 GetBulletX() const
ContentNode * GetNode() const
sal_Int32 GetInvalidPosStart() const
EditLineList & GetLines()
void CorrectValuesBehindLastFormattedLine(sal_Int32 nLastFormattedLine)
TextPortionList aTextPortionList
void SetVisible(bool bVisible)
void MarkSelectionInvalid(sal_Int32 nStart)
const EditLineList & GetLines() const
const TextPortionList & GetTextPortions() const
tools::Long AdjustHeight(tools::Long n)
void setWidth(tools::Long nWidth)
tools::Long AdjustWidth(tools::Long n)
void setHeight(tools::Long nHeight)
void Append(TextPortion *p)
std::vector< std::unique_ptr< TextPortion > > PortionsType
sal_Int32 GetPos(const TextPortion *p) const
sal_Int32 GetStartPos(sal_Int32 nPortion)
void DeleteFromPortion(sal_Int32 nDelFrom)
const TextPortion & operator[](sal_Int32 nPos) const
void Remove(sal_Int32 nPos)
sal_Int32 FindPortion(sal_Int32 nCharPos, sal_Int32 &rPortionStart, bool bPreferStartingPortion=false) const
void Insert(sal_Int32 nPos, TextPortion *p)
void SetKind(PortionKind n)
TextPortion(sal_Int32 nL)
TextPortion(const TextPortion &r)
sal_uInt8 nRightToLeftLevel
void SetRightToLeftLevel(sal_uInt8 n)
std::unique_ptr< ExtraPortionInfo > xExtraInfos
void SetLen(sal_Int32 nL)
void adjustSize(tools::Long nDeltaX, tools::Long nDeltaY)
PortionKind GetKind() const
void setHeight(tools::Long nHeight)
sal_uInt8 GetRightToLeftLevel() const
void setWidth(tools::Long nWidth)
sal_Unicode GetExtraValue() const
void SetSize(const Size &rSize)
void SetExtraValue(sal_Unicode n)
void SetExtraInfos(ExtraPortionInfo *p)
bool IsRightToLeft() const
ExtraPortionInfo * GetExtraInfos() const
const Size & GetSize() const
Keeps track of misspelled ranges in paragraph.
bool IsScriptItemValid(sal_uInt16 nItemId, short nScriptType)
std::vector< Color > SvxColorList
EditCharAttrib * MakeCharAttrib(SfxItemPool &rPool, const SfxPoolItem &rAttr, sal_Int32 nS, sal_Int32 nE)
sal_uInt16 GetScriptItemId(sal_uInt16 nItemId, SvtScriptType nScriptType)
std::vector< ScriptTypePosInfo > ScriptTypePosInfos
EditCharAttrib * GetAttrib(CharAttribList::AttribsType &rAttribs, std::size_t nAttr)
std::vector< WritingDirectionInfo > WritingDirectionInfos
void CheckOrderedList(const CharAttribList::AttribsType &rAttribs)
void CreateFont(SvxFont &rFont, const SfxItemSet &rSet, bool bSearchInParent=true, SvtScriptType nScriptType=SvtScriptType::NONE)
struct _xmlTextWriter * xmlTextWriterPtr
bool operator==(const EPaM &r) const
EPaM & operator=(const EPaM &r)
bool operator<(const EPaM &r) const
EPaM(sal_Int32 nP, sal_Int32 nI)
ScriptTypePosInfo(short Type, sal_Int32 Start, sal_Int32 End)
WritingDirectionInfo(sal_uInt8 Type, sal_Int32 Start, sal_Int32 End)