LibreOffice Module vcl (master) 1
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
TextEngine Class Reference

#include <texteng.hxx>

Inheritance diagram for TextEngine:
[legend]
Collaboration diagram for TextEngine:
[legend]

Public Member Functions

 TextEngine ()
 
virtual ~TextEngine () override
 
 TextEngine (const TextEngine &)=delete
 
TextEngineoperator= (const TextEngine &)=delete
 
void SetText (const OUString &rStr)
 
OUString GetText (LineEnd aSeparator=LINEEND_LF) const
 
OUString GetText (const TextSelection &rSel, LineEnd aSeparator=LINEEND_LF) const
 
OUString GetTextLines (LineEnd aSeparator=LINEEND_LF) const
 
void ReplaceText (const TextSelection &rSel, const OUString &rText)
 
sal_Int32 GetTextLen () const
 
sal_Int32 GetTextLen (const TextSelection &rSel) const
 
void SetFont (const vcl::Font &rFont)
 
const vcl::FontGetFont () const
 
void SetLeftMargin (sal_uInt16 n)
 
void SetUpdateMode (bool bUpdate)
 
bool GetUpdateMode () const
 
sal_uInt16 GetViewCount () const
 
TextViewGetView (sal_uInt16 nView) const
 
void InsertView (TextView *pTextView)
 
void RemoveView (TextView *pTextView)
 
TextViewGetActiveView () const
 
void SetActiveView (TextView *pView)
 
void SetMaxTextLen (sal_Int32 nLen)
 
sal_Int32 GetMaxTextLen () const
 
void SetMaxTextWidth (tools::Long nWidth)
 
tools::Long GetMaxTextWidth () const
 
tools::Long GetTextHeight () const
 
tools::Long CalcTextWidth ()
 
tools::Long GetCharHeight () const
 
sal_uInt32 GetParagraphCount () const
 
OUString GetText (sal_uInt32 nParagraph) const
 
sal_Int32 GetTextLen (sal_uInt32 nParagraph) const
 
tools::Long GetTextHeight (sal_uInt32 nParagraph) const
 
void GetTextPortionRange (const TextPaM &rPaM, sal_Int32 &nStart, sal_Int32 &nEnd)
 
sal_uInt16 GetLineCount (sal_uInt32 nParagraph) const
 
sal_Int32 GetLineLen (sal_uInt32 nParagraph, sal_uInt16 nLine) const
 
void SetRightToLeft (bool bR2L)
 
bool IsRightToLeft () const
 
bool HasUndoManager () const
 
SfxUndoManagerGetUndoManager ()
 
void UndoActionStart (sal_uInt16 nId=0)
 
void UndoActionEnd ()
 
void InsertUndo (std::unique_ptr< TextUndo > pUndo, bool bTryMerge=false)
 
bool IsInUndo () const
 
void SetIsInUndo (bool bInUndo)
 
void ResetUndo ()
 
void EnableUndo (bool bEnable)
 
bool IsUndoEnabled () const
 
void SetModified (bool bModified)
 
bool IsModified () const
 
bool Read (SvStream &rInput, const TextSelection *pSel=nullptr)
 
void Write (SvStream &rOutput)
 
TextPaM GetPaM (const Point &rDocPos)
 
tools::Rectangle PaMtoEditCursor (const TextPaM &rPaM, bool bSpecial=false)
 
OUString GetWord (const TextPaM &rCursorPos, TextPaM *pStartOfWord=nullptr, TextPaM *pEndOfWord=nullptr)
 
const TextAttribFindAttrib (const TextPaM &rPaM, sal_uInt16 nWhich) const
 
const TextCharAttribFindCharAttrib (const TextPaM &rPaM, sal_uInt16 nWhich) const
 
void RemoveAttribs (sal_uInt32 nPara)
 
void SetAttrib (const TextAttrib &rAttr, sal_uInt32 nPara, sal_Int32 nStart, sal_Int32 nEnd)
 
TxtAlign GetTextAlign () const
 
void SetTextAlign (TxtAlign eAlign)
 
void Draw (OutputDevice *pDev, const Point &rPos)
 
void SetLocale (const css::lang::Locale &rLocale)
 
css::lang::Locale const & GetLocale ()
 
css::uno::Reference< css::i18n::XBreakIterator > const & GetBreakIterator ()
 
const ColorGetTextColor () const
 
- Public Member Functions inherited from SfxBroadcaster
 SfxBroadcaster ()
 
 SfxBroadcaster (const SfxBroadcaster &rBC)
 
virtual ~SfxBroadcaster () COVERITY_NOEXCEPT_FALSE
 
void Broadcast (const SfxHint &rHint)
 
bool HasListeners () const
 
size_t GetListenerCount () const
 
size_t GetSizeOfVector () const
 
SfxListenerGetListener (size_t nNo) const
 

Static Public Member Functions

static bool DoesKeyChangeText (const KeyEvent &rKeyEvent)
 
static bool IsSimpleCharInput (const KeyEvent &rKeyEvent)
 

Private Member Functions

void CursorMoved (sal_uInt32 nNode)
 
void TextModified ()
 
void ImpInitDoc ()
 
void ImpRemoveText ()
 
TextPaM ImpDeleteText (const TextSelection &rSel)
 
TextPaM ImpInsertText (const TextSelection &rSel, sal_Unicode c, bool bOverwrite=false)
 
TextPaM ImpInsertText (const TextSelection &rSel, const OUString &rText)
 
TextPaM ImpInsertParaBreak (const TextSelection &rTextSelection)
 
TextPaM ImpInsertParaBreak (const TextPaM &rPaM)
 
void ImpRemoveChars (const TextPaM &rPaM, sal_Int32 nChars)
 
TextPaM ImpConnectParagraphs (sal_uInt32 nLeft, sal_uInt32 nRight)
 
void ImpRemoveParagraph (sal_uInt32 nPara)
 
void ImpInitWritingDirections (sal_uInt32 nPara)
 
LocaleDataWrapperImpGetLocaleDataWrapper ()
 
SAL_DLLPRIVATE TextPaM ImpInsertText (sal_Unicode c, const TextSelection &rSel, bool bOverwrite, bool bIsUserInput=false)
 
SAL_DLLPRIVATE css::uno::Reference< css::i18n::XExtendedInputSequenceChecker > const & GetInputSequenceChecker ()
 
SAL_DLLPRIVATE bool IsInputSequenceCheckingRequired (sal_Unicode c, const TextSelection &rCurSel) const
 
void ImpParagraphInserted (sal_uInt32 nPara)
 
void ImpParagraphRemoved (sal_uInt32 nPara)
 
void ImpCharsRemoved (sal_uInt32 nPara, sal_Int32 nPos, sal_Int32 nChars)
 
void ImpCharsInserted (sal_uInt32 nPara, sal_Int32 nPos, sal_Int32 nChars)
 
 DECL_DLLPRIVATE_LINK (IdleFormatHdl, Timer *, void)
 
void CheckIdleFormatter ()
 
void IdleFormatAndUpdate (TextView *pCurView, sal_uInt16 nMaxTimerRestarts=5)
 
bool CreateLines (sal_uInt32 nPara)
 
void CreateAndInsertEmptyLine (sal_uInt32 nPara)
 
void ImpBreakLine (sal_uInt32 nPara, TextLine *pLine, sal_Int32 nPortionStart, tools::Long nRemainingWidth)
 
std::size_t SplitTextPortion (sal_uInt32 nPara, sal_Int32 nPos)
 
void CreateTextPortions (sal_uInt32 nPara, sal_Int32 nStartPos)
 
void RecalcTextPortion (sal_uInt32 nPara, sal_Int32 nStartPos, sal_Int32 nNewChars)
 
void SeekCursor (sal_uInt32 nNode, sal_Int32 nPos, vcl::Font &rFont, OutputDevice *pOutDev)
 
void FormatDoc ()
 
void FormatFullDoc ()
 
void FormatAndUpdate (TextView *pCurView=nullptr)
 
bool IsFormatting () const
 
void UpdateViews (TextView *pCurView=nullptr)
 
void ImpPaint (OutputDevice *pOut, const Point &rStartPos, tools::Rectangle const *pPaintArea, TextSelection const *pSelection=nullptr)
 
bool IsFormatted () const
 
sal_Int32 GetCharPos (sal_uInt32 nPara, std::vector< TextLine >::size_type nLine, tools::Long nDocPosX)
 
tools::Rectangle GetEditCursor (const TextPaM &rPaM, bool bSpecial, bool bPreferPortionStart=false)
 
sal_Int32 ImpFindIndex (sal_uInt32 nPortion, const Point &rPosInPara)
 
tools::Long ImpGetPortionXOffset (sal_uInt32 nPara, TextLine const *pLine, std::size_t nTextPortion)
 
tools::Long ImpGetXPos (sal_uInt32 nPara, TextLine *pLine, sal_Int32 nIndex, bool bPreferPortionStart=false)
 
tools::Long ImpGetOutputOffset (sal_uInt32 nPara, TextLine *pLine, sal_Int32 nIndex, sal_Int32 nIndex2)
 
bool ImpGetRightToLeft (sal_uInt32 nPara, sal_Int32 nPos)
 
TxtAlign ImpGetAlign () const
 
tools::Long CalcTextHeight () const
 
tools::Long CalcParaHeight (sal_uInt32 nParagraph) const
 
tools::Long CalcTextWidth (sal_uInt32 nPara)
 
tools::Long CalcTextWidth (sal_uInt32 nPara, sal_Int32 nPortionStart, sal_Int32 nPortionLen)
 
Range GetInvalidYOffsets (sal_uInt32 nPortion)
 
void InsertContent (std::unique_ptr< TextNode > pNode, sal_uInt32 nPara)
 
TextPaM SplitContent (sal_uInt32 nNode, sal_Int32 nSepPos)
 
TextPaM ConnectContents (sal_uInt32 nLeftNode)
 
void ValidateSelection (TextSelection &rSel) const
 
void ValidatePaM (TextPaM &rPaM) const
 

Static Private Member Functions

static void ImpInitLayoutMode (OutputDevice *pOutDev)
 

Private Attributes

std::unique_ptr< TextDocmpDoc
 
std::unique_ptr< TEParaPortionsmpTEParaPortions
 
VclPtr< OutputDevicempRefDev
 
std::unique_ptr< TextViewsmpViews
 
TextViewmpActiveView
 
std::unique_ptr< TextUndoManagermpUndoManager
 
std::unique_ptr< IdleFormattermpIdleFormatter
 
std::unique_ptr< TEIMEInfosmpIMEInfos
 
css::lang::Locale maLocale
 
css::uno::Reference< css::i18n::XBreakIterator > mxBreakIterator
 
css::uno::Reference< css::i18n::XExtendedInputSequenceChecker > mxISC
 
tools::Rectangle maInvalidRect
 
std::unique_ptr< LocaleDataWrappermpLocaleDataWrapper
 
vcl::Font maFont
 
Color maTextColor
 
sal_Int32 mnMaxTextLen
 
tools::Long mnMaxTextWidth
 
tools::Long mnCharHeight
 
tools::Long mnCurTextWidth
 
tools::Long mnCurTextHeight
 
tools::Long mnDefTab
 
TxtAlign meAlign
 
bool mbIsFormatting: 1
 
bool mbFormatted: 1
 
bool mbUpdate: 1
 
bool mbModified: 1
 
bool mbUndoEnabled: 1
 
bool mbIsInUndo: 1
 
bool mbDowning: 1
 
bool mbRightToLeft: 1
 
bool mbHasMultiLineParas: 1
 

Friends

class TextView
 
class TextSelFunctionSet
 
class ExtTextEngine
 
class TextUndo
 
class TextUndoManager
 
class TextUndoDelPara
 
class TextUndoConnectParas
 
class TextUndoSplitPara
 
class TextUndoInsertChars
 
class TextUndoRemoveChars
 

Additional Inherited Members

- Protected Member Functions inherited from SfxBroadcaster
void Forward (SfxBroadcaster &rBC, const SfxHint &rHint)
 

Detailed Description

Definition at line 69 of file texteng.hxx.

Constructor & Destructor Documentation

◆ TextEngine() [1/2]

TextEngine::TextEngine ( )

◆ ~TextEngine()

TextEngine::~TextEngine ( )
overridevirtual

◆ TextEngine() [2/2]

TextEngine::TextEngine ( const TextEngine )
delete

Member Function Documentation

◆ CalcParaHeight()

tools::Long TextEngine::CalcParaHeight ( sal_uInt32  nParagraph) const
private

◆ CalcTextHeight()

tools::Long TextEngine::CalcTextHeight ( ) const
private

Definition at line 1159 of file texteng.cxx.

References CalcParaHeight(), GetUpdateMode(), mpTEParaPortions, and SAL_WARN_IF.

Referenced by FormatDoc().

◆ CalcTextWidth() [1/3]

tools::Long TextEngine::CalcTextWidth ( )

◆ CalcTextWidth() [2/3]

tools::Long TextEngine::CalcTextWidth ( sal_uInt32  nPara)
private

◆ CalcTextWidth() [3/3]

tools::Long TextEngine::CalcTextWidth ( sal_uInt32  nPara,
sal_Int32  nPortionStart,
sal_Int32  nPortionLen 
)
private

◆ CheckIdleFormatter()

void TextEngine::CheckIdleFormatter ( )
private

Definition at line 1475 of file texteng.cxx.

References mpIdleFormatter.

◆ ConnectContents()

TextPaM TextEngine::ConnectContents ( sal_uInt32  nLeftNode)
private

Definition at line 1339 of file texteng.cxx.

References ImpConnectParagraphs(), IsInUndo(), and SAL_WARN_IF.

Referenced by TextUndoConnectParas::Redo(), and TextUndoSplitPara::Undo().

◆ CreateAndInsertEmptyLine()

void TextEngine::CreateAndInsertEmptyLine ( sal_uInt32  nPara)
private

◆ CreateLines()

bool TextEngine::CreateLines ( sal_uInt32  nPara)
private

◆ CreateTextPortions()

void TextEngine::CreateTextPortions ( sal_uInt32  nPara,
sal_Int32  nStartPos 
)
private

◆ CursorMoved()

void TextEngine::CursorMoved ( sal_uInt32  nNode)
private

◆ DECL_DLLPRIVATE_LINK()

TextEngine::DECL_DLLPRIVATE_LINK ( IdleFormatHdl  ,
Timer ,
void   
)
private

◆ DoesKeyChangeText()

bool TextEngine::DoesKeyChangeText ( const KeyEvent rKeyEvent)
static

◆ Draw()

void TextEngine::Draw ( OutputDevice pDev,
const Point rPos 
)

Definition at line 2642 of file texteng.cxx.

References ImpPaint().

Referenced by VclMultiLineEdit::Draw().

◆ EnableUndo()

void TextEngine::EnableUndo ( bool  bEnable)

Definition at line 1275 of file texteng.cxx.

References IsUndoEnabled(), mbUndoEnabled, and ResetUndo().

Referenced by SetText().

◆ FindAttrib()

const TextAttrib * TextEngine::FindAttrib ( const TextPaM rPaM,
sal_uInt16  nWhich 
) const

Definition at line 982 of file texteng.cxx.

References FindCharAttrib(), and TextCharAttrib::GetAttr().

◆ FindCharAttrib()

const TextCharAttrib * TextEngine::FindCharAttrib ( const TextPaM rPaM,
sal_uInt16  nWhich 
) const

◆ FormatAndUpdate()

void TextEngine::FormatAndUpdate ( TextView pCurView = nullptr)
private

◆ FormatDoc()

void TextEngine::FormatDoc ( )
private

◆ FormatFullDoc()

void TextEngine::FormatFullDoc ( )
private

◆ GetActiveView()

TextView * TextEngine::GetActiveView ( ) const
inline

◆ GetBreakIterator()

uno::Reference< i18n::XBreakIterator > const & TextEngine::GetBreakIterator ( )

◆ GetCharHeight()

tools::Long TextEngine::GetCharHeight ( ) const
inline

Definition at line 241 of file texteng.hxx.

◆ GetCharPos()

sal_Int32 TextEngine::GetCharPos ( sal_uInt32  nPara,
std::vector< TextLine >::size_type  nLine,
tools::Long  nDocPosX 
)
private

◆ GetEditCursor()

tools::Rectangle TextEngine::GetEditCursor ( const TextPaM rPaM,
bool  bSpecial,
bool  bPreferPortionStart = false 
)
private

◆ GetFont()

const vcl::Font & TextEngine::GetFont ( ) const
inline

Definition at line 219 of file texteng.hxx.

Referenced by SetFont(), and TextView::TextView().

◆ GetInputSequenceChecker()

uno::Reference< i18n::XExtendedInputSequenceChecker > const & TextEngine::GetInputSequenceChecker ( )
private

Definition at line 604 of file texteng.cxx.

References mxISC.

Referenced by ImpInsertText().

◆ GetInvalidYOffsets()

Range TextEngine::GetInvalidYOffsets ( sal_uInt32  nPortion)
private

◆ GetLineCount()

sal_uInt16 TextEngine::GetLineCount ( sal_uInt32  nParagraph) const

Definition at line 1205 of file texteng.cxx.

References TEParaPortion::GetLines(), mpTEParaPortions, and SAL_WARN_IF.

◆ GetLineLen()

sal_Int32 TextEngine::GetLineLen ( sal_uInt32  nParagraph,
sal_uInt16  nLine 
) const

Definition at line 1216 of file texteng.cxx.

References TEParaPortion::GetLines(), mpTEParaPortions, SAL_WARN_IF, and size.

◆ GetLocale()

css::lang::Locale const & TextEngine::GetLocale ( )

◆ GetMaxTextLen()

sal_Int32 TextEngine::GetMaxTextLen ( ) const
inline

Definition at line 234 of file texteng.hxx.

Referenced by ImpVclMEdit::GetMaxTextLen().

◆ GetMaxTextWidth()

tools::Long TextEngine::GetMaxTextWidth ( ) const
inline

Definition at line 237 of file texteng.hxx.

◆ GetPaM()

TextPaM TextEngine::GetPaM ( const Point rDocPos)

◆ GetParagraphCount()

sal_uInt32 TextEngine::GetParagraphCount ( ) const

◆ GetText() [1/3]

OUString TextEngine::GetText ( const TextSelection rSel,
LineEnd  aSeparator = LINEEND_LF 
) const

◆ GetText() [2/3]

OUString TextEngine::GetText ( LineEnd  aSeparator = LINEEND_LF) const

◆ GetText() [3/3]

OUString TextEngine::GetText ( sal_uInt32  nParagraph) const

Definition at line 279 of file texteng.cxx.

References mpDoc.

◆ GetTextAlign()

TxtAlign TextEngine::GetTextAlign ( ) const
inline

Definition at line 285 of file texteng.hxx.

◆ GetTextColor()

const Color & TextEngine::GetTextColor ( ) const
inline

Definition at line 297 of file texteng.hxx.

◆ GetTextHeight() [1/2]

tools::Long TextEngine::GetTextHeight ( ) const

◆ GetTextHeight() [2/2]

tools::Long TextEngine::GetTextHeight ( sal_uInt32  nParagraph) const

◆ GetTextLen() [1/3]

sal_Int32 TextEngine::GetTextLen ( ) const

◆ GetTextLen() [2/3]

sal_Int32 TextEngine::GetTextLen ( const TextSelection rSel) const

◆ GetTextLen() [3/3]

sal_Int32 TextEngine::GetTextLen ( sal_uInt32  nParagraph) const

Definition at line 297 of file texteng.cxx.

References mpDoc.

◆ GetTextLines()

OUString TextEngine::GetTextLines ( LineEnd  aSeparator = LINEEND_LF) const

◆ GetTextPortionRange()

void TextEngine::GetTextPortionRange ( const TextPaM rPaM,
sal_Int32 &  nStart,
sal_Int32 &  nEnd 
)

◆ GetUndoManager()

SfxUndoManager & TextEngine::GetUndoManager ( )

Definition at line 1284 of file texteng.cxx.

References mpUndoManager, and TextUndoManager.

Referenced by InsertUndo(), SetText(), UndoActionEnd(), and UndoActionStart().

◆ GetUpdateMode()

bool TextEngine::GetUpdateMode ( ) const
inline

◆ GetView()

TextView * TextEngine::GetView ( sal_uInt16  nView) const

Definition at line 147 of file texteng.cxx.

References mpViews.

◆ GetViewCount()

sal_uInt16 TextEngine::GetViewCount ( ) const

Definition at line 142 of file texteng.cxx.

References mpViews.

◆ GetWord()

OUString TextEngine::GetWord ( const TextPaM rCursorPos,
TextPaM pStartOfWord = nullptr,
TextPaM pEndOfWord = nullptr 
)

◆ HasUndoManager()

bool TextEngine::HasUndoManager ( ) const
inline

Definition at line 256 of file texteng.hxx.

Referenced by SetText().

◆ IdleFormatAndUpdate()

void TextEngine::IdleFormatAndUpdate ( TextView pCurView,
sal_uInt16  nMaxTimerRestarts = 5 
)
private

Definition at line 1424 of file texteng.cxx.

References mpIdleFormatter.

Referenced by FormatAndUpdate(), RemoveAttribs(), and SetAttrib().

◆ ImpBreakLine()

void TextEngine::ImpBreakLine ( sal_uInt32  nPara,
TextLine pLine,
sal_Int32  nPortionStart,
tools::Long  nRemainingWidth 
)
private

◆ ImpCharsInserted()

void TextEngine::ImpCharsInserted ( sal_uInt32  nPara,
sal_Int32  nPos,
sal_Int32  nChars 
)
private

◆ ImpCharsRemoved()

void TextEngine::ImpCharsRemoved ( sal_uInt32  nPara,
sal_Int32  nPos,
sal_Int32  nChars 
)
private

◆ ImpConnectParagraphs()

TextPaM TextEngine::ImpConnectParagraphs ( sal_uInt32  nLeft,
sal_uInt32  nRight 
)
private

◆ ImpDeleteText()

TextPaM TextEngine::ImpDeleteText ( const TextSelection rSel)
private

◆ ImpFindIndex()

sal_Int32 TextEngine::ImpFindIndex ( sal_uInt32  nPortion,
const Point rPosInPara 
)
private

◆ ImpGetAlign()

TxtAlign TextEngine::ImpGetAlign ( ) const
private

Definition at line 2840 of file texteng.cxx.

References IsRightToLeft(), Left, meAlign, and Right.

Referenced by CreateAndInsertEmptyLine(), and CreateLines().

◆ ImpGetLocaleDataWrapper()

LocaleDataWrapper * TextEngine::ImpGetLocaleDataWrapper ( )
private

Definition at line 2675 of file texteng.cxx.

References GetLocale(), and mpLocaleDataWrapper.

Referenced by ImpBreakLine().

◆ ImpGetOutputOffset()

tools::Long TextEngine::ImpGetOutputOffset ( sal_uInt32  nPara,
TextLine pLine,
sal_Int32  nIndex,
sal_Int32  nIndex2 
)
private

◆ ImpGetPortionXOffset()

tools::Long TextEngine::ImpGetPortionXOffset ( sal_uInt32  nPara,
TextLine const *  pLine,
std::size_t  nTextPortion 
)
private

◆ ImpGetRightToLeft()

bool TextEngine::ImpGetRightToLeft ( sal_uInt32  nPara,
sal_Int32  nPos 
)
private

◆ ImpGetXPos()

tools::Long TextEngine::ImpGetXPos ( sal_uInt32  nPara,
TextLine pLine,
sal_Int32  nIndex,
bool  bPreferPortionStart = false 
)
private

◆ ImpInitDoc()

void TextEngine::ImpInitDoc ( )
private

◆ ImpInitLayoutMode()

void TextEngine::ImpInitLayoutMode ( OutputDevice pOutDev)
staticprivate

◆ ImpInitWritingDirections()

void TextEngine::ImpInitWritingDirections ( sal_uInt32  nPara)
private

◆ ImpInsertParaBreak() [1/2]

TextPaM TextEngine::ImpInsertParaBreak ( const TextPaM rPaM)
private

◆ ImpInsertParaBreak() [2/2]

TextPaM TextEngine::ImpInsertParaBreak ( const TextSelection rTextSelection)
private

◆ ImpInsertText() [1/3]

TextPaM TextEngine::ImpInsertText ( const TextSelection rSel,
const OUString &  rText 
)
private

◆ ImpInsertText() [2/3]

TextPaM TextEngine::ImpInsertText ( const TextSelection rSel,
sal_Unicode  c,
bool  bOverwrite = false 
)
private

◆ ImpInsertText() [3/3]

TextPaM TextEngine::ImpInsertText ( sal_Unicode  c,
const TextSelection rSel,
bool  bOverwrite,
bool  bIsUserInput = false 
)
private

◆ ImpPaint()

void TextEngine::ImpPaint ( OutputDevice pOut,
const Point rStartPos,
tools::Rectangle const *  pPaintArea,
TextSelection const *  pSelection = nullptr 
)
private

◆ ImpParagraphInserted()

void TextEngine::ImpParagraphInserted ( sal_uInt32  nPara)
private

◆ ImpParagraphRemoved()

void TextEngine::ImpParagraphRemoved ( sal_uInt32  nPara)
private

◆ ImpRemoveChars()

void TextEngine::ImpRemoveChars ( const TextPaM rPaM,
sal_Int32  nChars 
)
private

◆ ImpRemoveParagraph()

void TextEngine::ImpRemoveParagraph ( sal_uInt32  nPara)
private

Definition at line 590 of file texteng.cxx.

References ImpParagraphRemoved(), InsertUndo(), IsInUndo(), IsUndoEnabled(), mpDoc, and mpTEParaPortions.

Referenced by ImpDeleteText().

◆ ImpRemoveText()

void TextEngine::ImpRemoveText ( )
private

Definition at line 415 of file texteng.cxx.

References ImpInitDoc(), mpViews, and ResetUndo().

Referenced by SetText().

◆ InsertContent()

void TextEngine::InsertContent ( std::unique_ptr< TextNode pNode,
sal_uInt32  nPara 
)
private

Definition at line 1317 of file texteng.cxx.

References ImpParagraphInserted(), IsInUndo(), mpDoc, mpTEParaPortions, and SAL_WARN_IF.

Referenced by TextUndoDelPara::Undo().

◆ InsertUndo()

void TextEngine::InsertUndo ( std::unique_ptr< TextUndo pUndo,
bool  bTryMerge = false 
)

◆ InsertView()

void TextEngine::InsertView ( TextView pTextView)

Definition at line 121 of file texteng.cxx.

References GetActiveView(), mpViews, SetActiveView(), and TextView::SetSelection().

◆ IsFormatted()

bool TextEngine::IsFormatted ( ) const
inlineprivate

◆ IsFormatting()

bool TextEngine::IsFormatting ( ) const
inlineprivate

Definition at line 171 of file texteng.hxx.

Referenced by CalcTextWidth(), FormatDoc(), GetEditCursor(), GetTextHeight(), and UpdateViews().

◆ IsInputSequenceCheckingRequired()

bool TextEngine::IsInputSequenceCheckingRequired ( sal_Unicode  c,
const TextSelection rCurSel 
) const
private

◆ IsInUndo()

bool TextEngine::IsInUndo ( ) const
inline

◆ IsModified()

bool TextEngine::IsModified ( ) const
inline

Definition at line 269 of file texteng.hxx.

Referenced by ImpVclMEdit::SetText().

◆ IsRightToLeft()

bool TextEngine::IsRightToLeft ( ) const
inline

◆ IsSimpleCharInput()

bool TextEngine::IsSimpleCharInput ( const KeyEvent rKeyEvent)
static

◆ IsUndoEnabled()

bool TextEngine::IsUndoEnabled ( ) const
inline

◆ operator=()

TextEngine & TextEngine::operator= ( const TextEngine )
delete

References SetText().

◆ PaMtoEditCursor()

tools::Rectangle TextEngine::PaMtoEditCursor ( const TextPaM rPaM,
bool  bSpecial = false 
)

◆ Read()

bool TextEngine::Read ( SvStream rInput,
const TextSelection pSel = nullptr 
)

◆ RecalcTextPortion()

void TextEngine::RecalcTextPortion ( sal_uInt32  nPara,
sal_Int32  nStartPos,
sal_Int32  nNewChars 
)
private

◆ RemoveAttribs()

void TextEngine::RemoveAttribs ( sal_uInt32  nPara)

◆ RemoveView()

void TextEngine::RemoveView ( TextView pTextView)

Definition at line 130 of file texteng.cxx.

References GetActiveView(), TextView::HideCursor(), mpViews, and SetActiveView().

◆ ReplaceText()

void TextEngine::ReplaceText ( const TextSelection rSel,
const OUString &  rText 
)

Definition at line 248 of file texteng.cxx.

References ImpInsertText().

◆ ResetUndo()

void TextEngine::ResetUndo ( )

Definition at line 1311 of file texteng.cxx.

References mpUndoManager.

Referenced by EnableUndo(), and ImpRemoveText().

◆ SeekCursor()

void TextEngine::SeekCursor ( sal_uInt32  nNode,
sal_Int32  nPos,
vcl::Font rFont,
OutputDevice pOutDev 
)
private

◆ SetActiveView()

void TextEngine::SetActiveView ( TextView pView)

Definition at line 153 of file texteng.cxx.

References TextView::HideSelection(), mpActiveView, and TextView::ShowSelection().

Referenced by InsertView(), and RemoveView().

◆ SetAttrib()

void TextEngine::SetAttrib ( const TextAttrib rAttr,
sal_uInt32  nPara,
sal_Int32  nStart,
sal_Int32  nEnd 
)

◆ SetFont()

void TextEngine::SetFont ( const vcl::Font rFont)

◆ SetIsInUndo()

void TextEngine::SetIsInUndo ( bool  bInUndo)
inline

Definition at line 262 of file texteng.hxx.

Referenced by TextUndoManager::Redo(), and TextUndoManager::Undo().

◆ SetLeftMargin()

void TextEngine::SetLeftMargin ( sal_uInt16  n)

Definition at line 2647 of file texteng.cxx.

References mpDoc, and n.

◆ SetLocale()

void TextEngine::SetLocale ( const css::lang::Locale &  rLocale)

Definition at line 2660 of file texteng.cxx.

References maLocale, and mpLocaleDataWrapper.

◆ SetMaxTextLen()

void TextEngine::SetMaxTextLen ( sal_Int32  nLen)

Definition at line 210 of file texteng.cxx.

References EDIT_NOLIMIT, and mnMaxTextLen.

Referenced by ImpVclMEdit::SetMaxTextLen().

◆ SetMaxTextWidth()

void TextEngine::SetMaxTextWidth ( tools::Long  nWidth)

◆ SetModified()

void TextEngine::SetModified ( bool  bModified)
inline

Definition at line 268 of file texteng.hxx.

Referenced by ImpVclMEdit::SetModified(), and ImpVclMEdit::SetText().

◆ SetRightToLeft()

void TextEngine::SetRightToLeft ( bool  bR2L)

Definition at line 2683 of file texteng.cxx.

References FormatFullDoc(), Left, mbRightToLeft, meAlign, Right, and UpdateViews().

Referenced by ImpVclMEdit::SetAlign().

◆ SetText()

void TextEngine::SetText ( const OUString &  rStr)

◆ SetTextAlign()

void TextEngine::SetTextAlign ( TxtAlign  eAlign)

Definition at line 2508 of file texteng.cxx.

References FormatFullDoc(), meAlign, and UpdateViews().

Referenced by VclMultiLineEdit::Draw(), and ImpVclMEdit::SetAlign().

◆ SetUpdateMode()

void TextEngine::SetUpdateMode ( bool  bUpdate)

Definition at line 302 of file texteng.cxx.

References FormatAndUpdate(), GetActiveView(), mbUpdate, and TextView::ShowCursor().

Referenced by Read().

◆ SplitContent()

TextPaM TextEngine::SplitContent ( sal_uInt32  nNode,
sal_Int32  nSepPos 
)
private

◆ SplitTextPortion()

std::size_t TextEngine::SplitTextPortion ( sal_uInt32  nPara,
sal_Int32  nPos 
)
private

◆ TextModified()

void TextEngine::TextModified ( )
private

Definition at line 1429 of file texteng.cxx.

References mbFormatted, and mbModified.

Referenced by ImpDeleteText(), ImpInsertParaBreak(), and ImpInsertText().

◆ UndoActionEnd()

void TextEngine::UndoActionEnd ( )

◆ UndoActionStart()

void TextEngine::UndoActionStart ( sal_uInt16  nId = 0)

◆ UpdateViews()

void TextEngine::UpdateViews ( TextView pCurView = nullptr)
private

◆ ValidatePaM()

void TextEngine::ValidatePaM ( TextPaM rPaM) const
private

Definition at line 2524 of file texteng.cxx.

References TextPaM::GetIndex(), TextPaM::GetPara(), GetTextLen(), mpDoc, and TEXT_INDEX_ALL.

Referenced by ValidateSelection().

◆ ValidateSelection()

void TextEngine::ValidateSelection ( TextSelection rSel) const
private

Definition at line 2518 of file texteng.cxx.

References TextSelection::GetEnd(), TextSelection::GetStart(), and ValidatePaM().

Referenced by GetTextLen().

◆ Write()

void TextEngine::Write ( SvStream rOutput)

Friends And Related Function Documentation

◆ ExtTextEngine

friend class ExtTextEngine
friend

Definition at line 73 of file texteng.hxx.

◆ TextSelFunctionSet

friend class TextSelFunctionSet
friend

Definition at line 72 of file texteng.hxx.

◆ TextUndo

friend class TextUndo
friend

Definition at line 75 of file texteng.hxx.

◆ TextUndoConnectParas

friend class TextUndoConnectParas
friend

Definition at line 78 of file texteng.hxx.

◆ TextUndoDelPara

friend class TextUndoDelPara
friend

Definition at line 77 of file texteng.hxx.

◆ TextUndoInsertChars

friend class TextUndoInsertChars
friend

Definition at line 80 of file texteng.hxx.

Referenced by ImpInsertText().

◆ TextUndoManager

friend class TextUndoManager
friend

Definition at line 76 of file texteng.hxx.

Referenced by GetUndoManager().

◆ TextUndoRemoveChars

friend class TextUndoRemoveChars
friend

Definition at line 81 of file texteng.hxx.

◆ TextUndoSplitPara

friend class TextUndoSplitPara
friend

Definition at line 79 of file texteng.hxx.

◆ TextView

friend class TextView
friend

Definition at line 71 of file texteng.hxx.

Member Data Documentation

◆ maFont

vcl::Font TextEngine::maFont
private

Definition at line 104 of file texteng.hxx.

Referenced by SeekCursor(), and SetFont().

◆ maInvalidRect

tools::Rectangle TextEngine::maInvalidRect
private

Definition at line 100 of file texteng.hxx.

Referenced by FormatDoc(), and UpdateViews().

◆ maLocale

css::lang::Locale TextEngine::maLocale
private

Definition at line 96 of file texteng.hxx.

Referenced by GetLocale(), and SetLocale().

◆ maTextColor

Color TextEngine::maTextColor
private

Definition at line 105 of file texteng.hxx.

Referenced by SeekCursor(), and SetFont().

◆ mbDowning

bool TextEngine::mbDowning
private

Definition at line 122 of file texteng.hxx.

Referenced by FormatAndUpdate(), and ~TextEngine().

◆ mbFormatted

bool TextEngine::mbFormatted
private

◆ mbHasMultiLineParas

bool TextEngine::mbHasMultiLineParas
private

Definition at line 124 of file texteng.hxx.

Referenced by FormatDoc(), and PaMtoEditCursor().

◆ mbIsFormatting

bool TextEngine::mbIsFormatting
private

Definition at line 116 of file texteng.hxx.

Referenced by FormatDoc().

◆ mbIsInUndo

bool TextEngine::mbIsInUndo
private

Definition at line 121 of file texteng.hxx.

◆ mbModified

bool TextEngine::mbModified
private

Definition at line 119 of file texteng.hxx.

Referenced by TextModified().

◆ mbRightToLeft

bool TextEngine::mbRightToLeft
private

Definition at line 123 of file texteng.hxx.

Referenced by SetRightToLeft().

◆ mbUndoEnabled

bool TextEngine::mbUndoEnabled
private

Definition at line 120 of file texteng.hxx.

Referenced by EnableUndo().

◆ mbUpdate

bool TextEngine::mbUpdate
private

Definition at line 118 of file texteng.hxx.

Referenced by SetUpdateMode().

◆ meAlign

TxtAlign TextEngine::meAlign
private

Definition at line 114 of file texteng.hxx.

Referenced by ImpGetAlign(), SetRightToLeft(), and SetTextAlign().

◆ mnCharHeight

tools::Long TextEngine::mnCharHeight
private

◆ mnCurTextHeight

tools::Long TextEngine::mnCurTextHeight
private

Definition at line 111 of file texteng.hxx.

Referenced by FormatDoc(), GetTextHeight(), and SetText().

◆ mnCurTextWidth

tools::Long TextEngine::mnCurTextWidth
private

Definition at line 110 of file texteng.hxx.

Referenced by CalcTextWidth(), and FormatDoc().

◆ mnDefTab

tools::Long TextEngine::mnDefTab
private

Definition at line 112 of file texteng.hxx.

Referenced by CreateLines(), and SetFont().

◆ mnMaxTextLen

sal_Int32 TextEngine::mnMaxTextLen
private

Definition at line 107 of file texteng.hxx.

Referenced by SetMaxTextLen().

◆ mnMaxTextWidth

tools::Long TextEngine::mnMaxTextWidth
private

Definition at line 108 of file texteng.hxx.

Referenced by CreateAndInsertEmptyLine(), CreateLines(), FormatDoc(), and SetMaxTextWidth().

◆ mpActiveView

TextView* TextEngine::mpActiveView
private

Definition at line 88 of file texteng.hxx.

Referenced by SetActiveView().

◆ mpDoc

std::unique_ptr<TextDoc> TextEngine::mpDoc
private

◆ mpIdleFormatter

std::unique_ptr<IdleFormatter> TextEngine::mpIdleFormatter
private

Definition at line 92 of file texteng.hxx.

Referenced by CheckIdleFormatter(), IdleFormatAndUpdate(), TextEngine(), and ~TextEngine().

◆ mpIMEInfos

std::unique_ptr<TEIMEInfos> TextEngine::mpIMEInfos
private

Definition at line 94 of file texteng.hxx.

Referenced by CreateTextPortions(), SeekCursor(), and ~TextEngine().

◆ mpLocaleDataWrapper

std::unique_ptr<LocaleDataWrapper> TextEngine::mpLocaleDataWrapper
private

Definition at line 102 of file texteng.hxx.

Referenced by ImpGetLocaleDataWrapper(), SetLocale(), and ~TextEngine().

◆ mpRefDev

VclPtr<OutputDevice> TextEngine::mpRefDev
private

Definition at line 85 of file texteng.hxx.

Referenced by CalcTextWidth(), GetCharPos(), ImpBreakLine(), SetFont(), TextEngine(), and ~TextEngine().

◆ mpTEParaPortions

std::unique_ptr<TEParaPortions> TextEngine::mpTEParaPortions
private

◆ mpUndoManager

std::unique_ptr<TextUndoManager> TextEngine::mpUndoManager
private

Definition at line 90 of file texteng.hxx.

Referenced by GetUndoManager(), ResetUndo(), and ~TextEngine().

◆ mpViews

std::unique_ptr<TextViews> TextEngine::mpViews
private

◆ mxBreakIterator

css::uno::Reference< css::i18n::XBreakIterator > TextEngine::mxBreakIterator
private

Definition at line 97 of file texteng.hxx.

Referenced by GetBreakIterator().

◆ mxISC

css::uno::Reference< css::i18n::XExtendedInputSequenceChecker > TextEngine::mxISC
private

Definition at line 98 of file texteng.hxx.

Referenced by GetInputSequenceChecker().


The documentation for this class was generated from the following files: