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 (long nWidth)
 
long GetMaxTextWidth () const
 
long GetTextHeight () const
 
long CalcTextWidth ()
 
long GetCharHeight () const
 
sal_uInt32 GetParagraphCount () const
 
OUString GetText (sal_uInt32 nParagraph) const
 
sal_Int32 GetTextLen (sal_uInt32 nParagraph) const
 
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 ()
 
void SetIsInUndo (bool bInUndo)
 
void ResetUndo ()
 
void EnableUndo (bool bEnable)
 
bool IsUndoEnabled ()
 
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)
 
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, bool bIdleFormatAndUpdate=true)
 
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_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, 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, long nDocPosX)
 
tools::Rectangle GetEditCursor (const TextPaM &rPaM, bool bSpecial, bool bPreferPortionStart=false)
 
sal_Int32 ImpFindIndex (sal_uInt32 nPortion, const Point &rPosInPara)
 
long ImpGetPortionXOffset (sal_uInt32 nPara, TextLine const *pLine, std::size_t nTextPortion)
 
long ImpGetXPos (sal_uInt32 nPara, TextLine *pLine, sal_Int32 nIndex, bool bPreferPortionStart=false)
 
long ImpGetOutputOffset (sal_uInt32 nPara, TextLine *pLine, sal_Int32 nIndex, sal_Int32 nIndex2)
 
bool ImpGetRightToLeft (sal_uInt32 nPara, sal_Int32 nPos)
 
TxtAlign ImpGetAlign () const
 
long CalcTextHeight ()
 
long CalcParaHeight (sal_uInt32 nParagraph) const
 
long CalcTextWidth (sal_uInt32 nPara)
 
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
 
vcl::Font maOrigFont
 
Color maTextColor
 
sal_Int32 mnMaxTextLen
 
long mnMaxTextWidth
 
long mnCharHeight
 
long mnCurTextWidth
 
long mnCurTextHeight
 
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 73 of file texteng.hxx.

Constructor & Destructor Documentation

TextEngine::TextEngine ( )

Definition at line 68 of file texteng.cxx.

TextEngine::~TextEngine ( )
overridevirtual
TextEngine::TextEngine ( const TextEngine )
delete

Member Function Documentation

long TextEngine::CalcParaHeight ( sal_uInt32  nParagraph) const
private
long TextEngine::CalcTextHeight ( )
private

Definition at line 1161 of file texteng.cxx.

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

Referenced by FormatDoc().

long TextEngine::CalcTextWidth ( sal_uInt32  nPara)
private
long TextEngine::CalcTextWidth ( sal_uInt32  nPara,
sal_Int32  nPortionStart,
sal_Int32  nPortionLen 
)
private
long TextEngine::CalcTextWidth ( )
void TextEngine::CheckIdleFormatter ( )
private

Definition at line 1477 of file texteng.cxx.

References mpIdleFormatter.

TextPaM TextEngine::ConnectContents ( sal_uInt32  nLeftNode)
private

Definition at line 1341 of file texteng.cxx.

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

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

void TextEngine::CreateAndInsertEmptyLine ( sal_uInt32  nPara)
private
bool TextEngine::CreateLines ( sal_uInt32  nPara)
private
void TextEngine::CreateTextPortions ( sal_uInt32  nPara,
sal_Int32  nStartPos 
)
private
void TextEngine::CursorMoved ( sal_uInt32  nNode)
private
TextEngine::DECL_LINK ( IdleFormatHdl  ,
Timer ,
void   
)
private
bool TextEngine::DoesKeyChangeText ( const KeyEvent rKeyEvent)
static
void TextEngine::Draw ( OutputDevice pDev,
const Point rPos 
)

Definition at line 2624 of file texteng.cxx.

References ImpPaint().

Referenced by VclMultiLineEdit::Draw().

void TextEngine::EnableUndo ( bool  bEnable)

Definition at line 1277 of file texteng.cxx.

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

Referenced by SetText().

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

Definition at line 984 of file texteng.cxx.

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

const TextCharAttrib * TextEngine::FindCharAttrib ( const TextPaM rPaM,
sal_uInt16  nWhich 
) const
void TextEngine::FormatAndUpdate ( TextView pCurView = nullptr)
private
void TextEngine::FormatDoc ( )
private
void TextEngine::FormatFullDoc ( )
private
TextView* TextEngine::GetActiveView ( ) const
inline
uno::Reference< i18n::XBreakIterator > const & TextEngine::GetBreakIterator ( )
long TextEngine::GetCharHeight ( ) const
inline

Definition at line 246 of file texteng.hxx.

sal_Int32 TextEngine::GetCharPos ( sal_uInt32  nPara,
std::vector< TextLine >::size_type  nLine,
long  nDocPosX 
)
private
tools::Rectangle TextEngine::GetEditCursor ( const TextPaM rPaM,
bool  bSpecial,
bool  bPreferPortionStart = false 
)
private
const vcl::Font& TextEngine::GetFont ( ) const
inline

Definition at line 224 of file texteng.hxx.

Referenced by TextView::TextView().

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

Definition at line 606 of file texteng.cxx.

References comphelper::getProcessComponentContext(), and mxISC.

Referenced by ImpInsertText().

Range TextEngine::GetInvalidYOffsets ( sal_uInt32  nPortion)
private
sal_uInt16 TextEngine::GetLineCount ( sal_uInt32  nParagraph) const

Definition at line 1207 of file texteng.cxx.

References mpTEParaPortions, and SAL_WARN_IF.

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

Definition at line 1218 of file texteng.cxx.

References mpTEParaPortions, SAL_WARN_IF, and size.

css::lang::Locale const & TextEngine::GetLocale ( )
sal_Int32 TextEngine::GetMaxTextLen ( ) const
inline

Definition at line 239 of file texteng.hxx.

Referenced by ImpVclMEdit::GetMaxTextLen().

long TextEngine::GetMaxTextWidth ( ) const
inline

Definition at line 242 of file texteng.hxx.

TextPaM TextEngine::GetPaM ( const Point rDocPos)
sal_uInt32 TextEngine::GetParagraphCount ( ) const

Definition at line 1272 of file texteng.cxx.

References mpDoc.

Referenced by ExtTextEngine::MatchGroup(), and ExtTextEngine::Search().

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

Definition at line 281 of file texteng.cxx.

References mpDoc.

TxtAlign TextEngine::GetTextAlign ( ) const
inline

Definition at line 290 of file texteng.hxx.

const Color& TextEngine::GetTextColor ( ) const
inline

Definition at line 302 of file texteng.hxx.

long TextEngine::GetTextHeight ( ) const
long TextEngine::GetTextHeight ( sal_uInt32  nParagraph) const
sal_Int32 TextEngine::GetTextLen ( ) const
sal_Int32 TextEngine::GetTextLen ( const TextSelection rSel) const
sal_Int32 TextEngine::GetTextLen ( sal_uInt32  nParagraph) const

Definition at line 299 of file texteng.cxx.

References mpDoc.

OUString TextEngine::GetTextLines ( LineEnd  aSeparator = LINEEND_LF) const
void TextEngine::GetTextPortionRange ( const TextPaM rPaM,
sal_Int32 &  nStart,
sal_Int32 &  nEnd 
)
SfxUndoManager & TextEngine::GetUndoManager ( )

Definition at line 1286 of file texteng.cxx.

References mpUndoManager, and TextUndoManager.

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

bool TextEngine::GetUpdateMode ( ) const
inline
TextView * TextEngine::GetView ( sal_uInt16  nView) const

Definition at line 148 of file texteng.cxx.

References mpViews.

sal_uInt16 TextEngine::GetViewCount ( ) const

Definition at line 143 of file texteng.cxx.

References mpViews.

OUString TextEngine::GetWord ( const TextPaM rCursorPos,
TextPaM pStartOfWord = nullptr 
)
bool TextEngine::HasUndoManager ( ) const
inline

Definition at line 261 of file texteng.hxx.

Referenced by SetText().

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

Definition at line 1426 of file texteng.cxx.

References mpIdleFormatter.

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

void TextEngine::ImpBreakLine ( sal_uInt32  nPara,
TextLine pLine,
sal_Int32  nPortionStart,
long  nRemainingWidth 
)
private
void TextEngine::ImpCharsInserted ( sal_uInt32  nPara,
sal_Int32  nPos,
sal_Int32  nChars 
)
private
void TextEngine::ImpCharsRemoved ( sal_uInt32  nPara,
sal_Int32  nPos,
sal_Int32  nChars 
)
private
TextPaM TextEngine::ImpConnectParagraphs ( sal_uInt32  nLeft,
sal_uInt32  nRight 
)
private
TextPaM TextEngine::ImpDeleteText ( const TextSelection rSel)
private
sal_Int32 TextEngine::ImpFindIndex ( sal_uInt32  nPortion,
const Point rPosInPara 
)
private
TxtAlign TextEngine::ImpGetAlign ( ) const
private

Definition at line 2822 of file texteng.cxx.

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

Referenced by CreateAndInsertEmptyLine(), and CreateLines().

LocaleDataWrapper * TextEngine::ImpGetLocaleDataWrapper ( )
private

Definition at line 2657 of file texteng.cxx.

References GetLocale(), and mpLocaleDataWrapper.

Referenced by ImpBreakLine().

long TextEngine::ImpGetOutputOffset ( sal_uInt32  nPara,
TextLine pLine,
sal_Int32  nIndex,
sal_Int32  nIndex2 
)
private
long TextEngine::ImpGetPortionXOffset ( sal_uInt32  nPara,
TextLine const *  pLine,
std::size_t  nTextPortion 
)
private
bool TextEngine::ImpGetRightToLeft ( sal_uInt32  nPara,
sal_Int32  nPos 
)
private
long TextEngine::ImpGetXPos ( sal_uInt32  nPara,
TextLine pLine,
sal_Int32  nIndex,
bool  bPreferPortionStart = false 
)
private
void TextEngine::ImpInitDoc ( )
private
void TextEngine::ImpInitLayoutMode ( OutputDevice pOutDev)
staticprivate

Definition at line 2813 of file texteng.cxx.

References BiDiRtl, BiDiStrong, OutputDevice::GetLayoutMode(), and OutputDevice::SetLayoutMode().

Referenced by ImpPaint().

void TextEngine::ImpInitWritingDirections ( sal_uInt32  nPara)
private
TextPaM TextEngine::ImpInsertParaBreak ( const TextSelection rTextSelection)
private

Definition at line 792 of file texteng.cxx.

References TextSelection::GetEnd(), TextSelection::HasRange(), and ImpDeleteText().

Referenced by ImpInsertText(), Read(), and SplitContent().

TextPaM TextEngine::ImpInsertParaBreak ( const TextPaM rPaM)
private
TextPaM TextEngine::ImpInsertText ( const TextSelection rSel,
sal_Unicode  c,
bool  bOverwrite = false 
)
private
TextPaM TextEngine::ImpInsertText ( const TextSelection rSel,
const OUString &  rText 
)
private
TextPaM TextEngine::ImpInsertText ( sal_Unicode  c,
const TextSelection rSel,
bool  bOverwrite,
bool  bIsUserInput = false 
)
private
void TextEngine::ImpPaint ( OutputDevice pOut,
const Point rStartPos,
tools::Rectangle const *  pPaintArea,
TextSelection const *  pSelection = nullptr 
)
private
void TextEngine::ImpParagraphInserted ( sal_uInt32  nPara)
private
void TextEngine::ImpParagraphRemoved ( sal_uInt32  nPara)
private
void TextEngine::ImpRemoveChars ( const TextPaM rPaM,
sal_Int32  nChars 
)
private
void TextEngine::ImpRemoveParagraph ( sal_uInt32  nPara)
private

Definition at line 592 of file texteng.cxx.

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

Referenced by ImpDeleteText().

void TextEngine::ImpRemoveText ( )
private

Definition at line 417 of file texteng.cxx.

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

Referenced by SetText().

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

Definition at line 1319 of file texteng.cxx.

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

Referenced by TextUndoDelPara::Undo().

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

Definition at line 122 of file texteng.cxx.

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

bool TextEngine::IsFormatted ( ) const
inlineprivate
bool TextEngine::IsFormatting ( ) const
inlineprivate

Definition at line 176 of file texteng.hxx.

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

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

Definition at line 274 of file texteng.hxx.

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

bool TextEngine::IsRightToLeft ( ) const
inline
bool TextEngine::IsSimpleCharInput ( const KeyEvent rKeyEvent)
static
bool TextEngine::IsUndoEnabled ( )
inline
TextEngine& TextEngine::operator= ( const TextEngine )
delete
tools::Rectangle TextEngine::PaMtoEditCursor ( const TextPaM rPaM,
bool  bSpecial = false 
)
bool TextEngine::Read ( SvStream rInput,
const TextSelection pSel = nullptr 
)
void TextEngine::RecalcTextPortion ( sal_uInt32  nPara,
sal_Int32  nStartPos,
sal_Int32  nNewChars 
)
private
void TextEngine::RemoveAttribs ( sal_uInt32  nPara)
void TextEngine::RemoveView ( TextView pTextView)

Definition at line 131 of file texteng.cxx.

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

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

Definition at line 250 of file texteng.cxx.

References ImpInsertText().

void TextEngine::ResetUndo ( )

Definition at line 1313 of file texteng.cxx.

References mpUndoManager.

Referenced by EnableUndo(), and ImpRemoveText().

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

Definition at line 154 of file texteng.cxx.

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

Referenced by InsertView(), and RemoveView().

void TextEngine::SetAttrib ( const TextAttrib rAttr,
sal_uInt32  nPara,
sal_Int32  nStart,
sal_Int32  nEnd,
bool  bIdleFormatAndUpdate = true 
)
void TextEngine::SetFont ( const vcl::Font rFont)
void TextEngine::SetIsInUndo ( bool  bInUndo)
inline

Definition at line 267 of file texteng.hxx.

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

void TextEngine::SetLeftMargin ( sal_uInt16  n)

Definition at line 2629 of file texteng.cxx.

References mpDoc.

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

Definition at line 2642 of file texteng.cxx.

References maLocale, and mpLocaleDataWrapper.

void TextEngine::SetMaxTextLen ( sal_Int32  nLen)

Definition at line 212 of file texteng.cxx.

References EDIT_NOLIMIT, and mnMaxTextLen.

Referenced by ImpVclMEdit::SetMaxTextLen().

void TextEngine::SetMaxTextWidth ( long  nWidth)
void TextEngine::SetModified ( bool  bModified)
inline

Definition at line 273 of file texteng.hxx.

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

void TextEngine::SetRightToLeft ( bool  bR2L)
void TextEngine::SetText ( const OUString &  rStr)
void TextEngine::SetTextAlign ( TxtAlign  eAlign)

Definition at line 2490 of file texteng.cxx.

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

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

void TextEngine::SetUpdateMode ( bool  bUpdate)

Definition at line 304 of file texteng.cxx.

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

Referenced by Read().

TextPaM TextEngine::SplitContent ( sal_uInt32  nNode,
sal_Int32  nSepPos 
)
private
std::size_t TextEngine::SplitTextPortion ( sal_uInt32  nPara,
sal_Int32  nPos 
)
private
void TextEngine::TextModified ( )
private

Definition at line 1431 of file texteng.cxx.

References mbFormatted, and mbModified.

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

void TextEngine::UndoActionEnd ( )
void TextEngine::UndoActionStart ( sal_uInt16  nId = 0)
void TextEngine::UpdateViews ( TextView pCurView = nullptr)
private
void TextEngine::ValidatePaM ( TextPaM rPaM) const
private

Definition at line 2506 of file texteng.cxx.

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

Referenced by ValidateSelection().

void TextEngine::ValidateSelection ( TextSelection rSel) const
private

Definition at line 2500 of file texteng.cxx.

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

Referenced by GetTextLen().

void TextEngine::Write ( SvStream rOutput)

Friends And Related Function Documentation

friend class ExtTextEngine
friend

Definition at line 77 of file texteng.hxx.

friend class TextSelFunctionSet
friend

Definition at line 76 of file texteng.hxx.

friend class TextUndo
friend

Definition at line 79 of file texteng.hxx.

friend class TextUndoConnectParas
friend

Definition at line 82 of file texteng.hxx.

friend class TextUndoDelPara
friend

Definition at line 81 of file texteng.hxx.

friend class TextUndoInsertChars
friend

Definition at line 84 of file texteng.hxx.

Referenced by ImpInsertText().

friend class TextUndoManager
friend

Definition at line 80 of file texteng.hxx.

Referenced by GetUndoManager().

friend class TextUndoRemoveChars
friend

Definition at line 85 of file texteng.hxx.

friend class TextUndoSplitPara
friend

Definition at line 83 of file texteng.hxx.

friend class TextView
friend

Definition at line 75 of file texteng.hxx.

Member Data Documentation

vcl::Font TextEngine::maFont
private

Definition at line 108 of file texteng.hxx.

Referenced by SeekCursor(), and SetFont().

tools::Rectangle TextEngine::maInvalidRect
private

Definition at line 104 of file texteng.hxx.

Referenced by FormatDoc(), and UpdateViews().

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

Definition at line 100 of file texteng.hxx.

Referenced by GetLocale(), and SetLocale().

vcl::Font TextEngine::maOrigFont
private

Definition at line 109 of file texteng.hxx.

Referenced by SetFont().

Color TextEngine::maTextColor
private

Definition at line 110 of file texteng.hxx.

Referenced by SeekCursor(), and SetFont().

bool TextEngine::mbDowning
private

Definition at line 127 of file texteng.hxx.

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

bool TextEngine::mbFormatted
private
bool TextEngine::mbHasMultiLineParas
private

Definition at line 129 of file texteng.hxx.

Referenced by FormatDoc(), and PaMtoEditCursor().

bool TextEngine::mbIsFormatting
private

Definition at line 121 of file texteng.hxx.

Referenced by FormatDoc().

bool TextEngine::mbIsInUndo
private

Definition at line 126 of file texteng.hxx.

bool TextEngine::mbModified
private

Definition at line 124 of file texteng.hxx.

Referenced by TextModified().

bool TextEngine::mbRightToLeft
private

Definition at line 128 of file texteng.hxx.

Referenced by SetRightToLeft().

bool TextEngine::mbUndoEnabled
private

Definition at line 125 of file texteng.hxx.

Referenced by EnableUndo().

bool TextEngine::mbUpdate
private

Definition at line 123 of file texteng.hxx.

Referenced by SetUpdateMode().

TxtAlign TextEngine::meAlign
private

Definition at line 119 of file texteng.hxx.

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

long TextEngine::mnCharHeight
private
long TextEngine::mnCurTextHeight
private

Definition at line 116 of file texteng.hxx.

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

long TextEngine::mnCurTextWidth
private

Definition at line 115 of file texteng.hxx.

Referenced by CalcTextWidth(), and FormatDoc().

long TextEngine::mnDefTab
private

Definition at line 117 of file texteng.hxx.

Referenced by CreateLines(), and SetFont().

sal_Int32 TextEngine::mnMaxTextLen
private

Definition at line 112 of file texteng.hxx.

Referenced by SetMaxTextLen().

long TextEngine::mnMaxTextWidth
private

Definition at line 113 of file texteng.hxx.

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

TextView* TextEngine::mpActiveView
private

Definition at line 92 of file texteng.hxx.

Referenced by SetActiveView().

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

Definition at line 96 of file texteng.hxx.

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

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

Definition at line 98 of file texteng.hxx.

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

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

Definition at line 106 of file texteng.hxx.

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

VclPtr<OutputDevice> TextEngine::mpRefDev
private

Definition at line 89 of file texteng.hxx.

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

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

Definition at line 94 of file texteng.hxx.

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

std::unique_ptr<TextViews> TextEngine::mpViews
private
css::uno::Reference< css::i18n::XBreakIterator > TextEngine::mxBreakIterator
private

Definition at line 101 of file texteng.hxx.

Referenced by GetBreakIterator().

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

Definition at line 102 of file texteng.hxx.

Referenced by GetInputSequenceChecker().


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