LibreOffice Module starmath (master) 1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SmNodeToTextVisitor Class Referencefinal

Extract command text from pNodes. More...

#include <visitors.hxx>

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

Public Member Functions

 SmNodeToTextVisitor (SmNode *pNode, OUString &rText)
 
virtual ~SmNodeToTextVisitor ()
 
void Visit (SmTableNode *pNode) override
 
void Visit (SmBraceNode *pNode) override
 
void Visit (SmBracebodyNode *pNode) override
 
void Visit (SmOperNode *pNode) override
 
void Visit (SmAlignNode *pNode) override
 
void Visit (SmAttributeNode *pNode) override
 
void Visit (SmFontNode *pNode) override
 
void Visit (SmUnHorNode *pNode) override
 
void Visit (SmBinHorNode *pNode) override
 
void Visit (SmBinVerNode *pNode) override
 
void Visit (SmBinDiagonalNode *pNode) override
 
void Visit (SmSubSupNode *pNode) override
 
void Visit (SmMatrixNode *pNode) override
 
void Visit (SmPlaceNode *pNode) override
 
void Visit (SmTextNode *pNode) override
 
void Visit (SmSpecialNode *pNode) override
 
void Visit (SmGlyphSpecialNode *pNode) override
 
void Visit (SmMathSymbolNode *pNode) override
 
void Visit (SmBlankNode *pNode) override
 
void Visit (SmErrorNode *pNode) override
 
void Visit (SmLineNode *pNode) override
 
void Visit (SmExpressionNode *pNode) override
 
void Visit (SmPolyLineNode *pNode) override
 
void Visit (SmRootNode *pNode) override
 
void Visit (SmRootSymbolNode *pNode) override
 
void Visit (SmRectangleNode *pNode) override
 
void Visit (SmVerticalBraceNode *pNode) override
 
virtual void Visit (SmTableNode *pNode)=0
 
virtual void Visit (SmBraceNode *pNode)=0
 
virtual void Visit (SmBracebodyNode *pNode)=0
 
virtual void Visit (SmOperNode *pNode)=0
 
virtual void Visit (SmAlignNode *pNode)=0
 
virtual void Visit (SmAttributeNode *pNode)=0
 
virtual void Visit (SmFontNode *pNode)=0
 
virtual void Visit (SmUnHorNode *pNode)=0
 
virtual void Visit (SmBinHorNode *pNode)=0
 
virtual void Visit (SmBinVerNode *pNode)=0
 
virtual void Visit (SmBinDiagonalNode *pNode)=0
 
virtual void Visit (SmSubSupNode *pNode)=0
 
virtual void Visit (SmMatrixNode *pNode)=0
 
virtual void Visit (SmPlaceNode *pNode)=0
 
virtual void Visit (SmTextNode *pNode)=0
 
virtual void Visit (SmSpecialNode *pNode)=0
 
virtual void Visit (SmGlyphSpecialNode *pNode)=0
 
virtual void Visit (SmMathSymbolNode *pNode)=0
 
virtual void Visit (SmBlankNode *pNode)=0
 
virtual void Visit (SmErrorNode *pNode)=0
 
virtual void Visit (SmLineNode *pNode)=0
 
virtual void Visit (SmExpressionNode *pNode)=0
 
virtual void Visit (SmPolyLineNode *pNode)=0
 
virtual void Visit (SmRootNode *pNode)=0
 
virtual void Visit (SmRootSymbolNode *pNode)=0
 
virtual void Visit (SmRectangleNode *pNode)=0
 
virtual void Visit (SmVerticalBraceNode *pNode)=0
 

Private Member Functions

void LineToText (SmNode *pNode)
 Extract text from a pNode that constitutes a line. More...
 
void Append (std::u16string_view rText)
 Appends rText to the OUStringBuffer ( maCmdText ). More...
 
void Separate ()
 Append a blank for separation, if needed. More...
 

Private Attributes

OUStringBuffer maCmdText
 Output text generated from the pNodes. More...
 

Additional Inherited Members

- Protected Member Functions inherited from SmVisitor
 ~SmVisitor ()
 

Detailed Description

Extract command text from pNodes.

Definition at line 464 of file visitors.hxx.

Constructor & Destructor Documentation

◆ SmNodeToTextVisitor()

SmNodeToTextVisitor::SmNodeToTextVisitor ( SmNode *  pNode,
OUString &  rText 
)

Definition at line 1862 of file visitors.cxx.

References SmNode::Accept(), and maCmdText.

◆ ~SmNodeToTextVisitor()

virtual SmNodeToTextVisitor::~SmNodeToTextVisitor ( )
inlinevirtual

Definition at line 468 of file visitors.hxx.

Member Function Documentation

◆ Append()

void SmNodeToTextVisitor::Append ( std::u16string_view  rText)
inlineprivate

Appends rText to the OUStringBuffer ( maCmdText ).

Parameters
rText
Returns

Definition at line 515 of file visitors.hxx.

References maCmdText.

Referenced by Visit().

◆ LineToText()

void SmNodeToTextVisitor::LineToText ( SmNode *  pNode)
inlineprivate

Extract text from a pNode that constitutes a line.

Parameters
pNode
Returns

Definition at line 504 of file visitors.hxx.

References SmNode::Accept(), and Separate().

Referenced by Visit().

◆ Separate()

void SmNodeToTextVisitor::Separate ( )
inlineprivate

Append a blank for separation, if needed.

It is needed if last char is not ' '.

Returns

Definition at line 524 of file visitors.hxx.

References maCmdText.

Referenced by LineToText(), and Visit().

◆ Visit() [1/27]

void SmNodeToTextVisitor::Visit ( SmAlignNode *  pNode)
overridevirtual

◆ Visit() [2/27]

void SmNodeToTextVisitor::Visit ( SmAttributeNode *  pNode)
overridevirtual

Implements SmVisitor.

Definition at line 2026 of file visitors.cxx.

References Append(), SmToken::aText, SmAttributeNode::Body(), SmNode::GetToken(), and LineToText().

◆ Visit() [3/27]

void SmNodeToTextVisitor::Visit ( SmBinDiagonalNode *  pNode)
overridevirtual

Implements SmVisitor.

Definition at line 2215 of file visitors.cxx.

References Append(), SmStructureNode::GetSubNode(), LineToText(), Separate(), and u.

◆ Visit() [4/27]

void SmNodeToTextVisitor::Visit ( SmBinHorNode *  pNode)
overridevirtual

◆ Visit() [5/27]

void SmNodeToTextVisitor::Visit ( SmBinVerNode *  pNode)
overridevirtual

◆ Visit() [6/27]

void SmNodeToTextVisitor::Visit ( SmBlankNode *  pNode)
overridevirtual

Implements SmVisitor.

Definition at line 2555 of file visitors.cxx.

References Append(), SmBlankNode::GetBlankNum(), i, and u.

◆ Visit() [7/27]

void SmNodeToTextVisitor::Visit ( SmBracebodyNode *  pNode)
overridevirtual

Implements SmVisitor.

Definition at line 1944 of file visitors.cxx.

References Separate().

◆ Visit() [8/27]

void SmNodeToTextVisitor::Visit ( SmBraceNode *  pNode)
overridevirtual

◆ Visit() [9/27]

void SmNodeToTextVisitor::Visit ( SmErrorNode *  pNode)
overridevirtual

Implements SmVisitor.

Definition at line 2569 of file visitors.cxx.

◆ Visit() [10/27]

void SmNodeToTextVisitor::Visit ( SmExpressionNode *  pNode)
overridevirtual

◆ Visit() [11/27]

void SmNodeToTextVisitor::Visit ( SmFontNode *  pNode)
overridevirtual

◆ Visit() [12/27]

void SmNodeToTextVisitor::Visit ( SmGlyphSpecialNode *  pNode)
overridevirtual

Implements SmVisitor.

Definition at line 2369 of file visitors.cxx.

References Append(), SmToken::aText, SmToken::eType, SmNode::GetToken(), TBOPER, and u.

◆ Visit() [13/27]

void SmNodeToTextVisitor::Visit ( SmLineNode *  pNode)
overridevirtual

Implements SmVisitor.

Definition at line 2573 of file visitors.cxx.

References Separate().

◆ Visit() [14/27]

void SmNodeToTextVisitor::Visit ( SmMathSymbolNode *  pNode)
overridevirtual

◆ Visit() [15/27]

void SmNodeToTextVisitor::Visit ( SmMatrixNode *  pNode)
overridevirtual

◆ Visit() [16/27]

void SmNodeToTextVisitor::Visit ( SmOperNode *  pNode)
overridevirtual

◆ Visit() [17/27]

void SmNodeToTextVisitor::Visit ( SmPlaceNode *  pNode)
overridevirtual

Implements SmVisitor.

Definition at line 2319 of file visitors.cxx.

References Append(), and u.

◆ Visit() [18/27]

void SmNodeToTextVisitor::Visit ( SmPolyLineNode *  pNode)
overridevirtual

Implements SmVisitor.

Definition at line 2612 of file visitors.cxx.

◆ Visit() [19/27]

void SmNodeToTextVisitor::Visit ( SmRectangleNode *  pNode)
overridevirtual

Implements SmVisitor.

Definition at line 2632 of file visitors.cxx.

◆ Visit() [20/27]

void SmNodeToTextVisitor::Visit ( SmRootNode *  pNode)
overridevirtual

Implements SmVisitor.

Definition at line 2616 of file visitors.cxx.

References Append(), SmStructureNode::GetSubNode(), LineToText(), and u.

◆ Visit() [21/27]

void SmNodeToTextVisitor::Visit ( SmRootSymbolNode *  pNode)
overridevirtual

Implements SmVisitor.

Definition at line 2628 of file visitors.cxx.

◆ Visit() [22/27]

void SmNodeToTextVisitor::Visit ( SmSpecialNode *  pNode)
overridevirtual

Implements SmVisitor.

Definition at line 2353 of file visitors.cxx.

References Append(), SmToken::aText, SmToken::eType, SmNode::GetToken(), TLIMINF, TLIMSUP, type, and u.

◆ Visit() [23/27]

void SmNodeToTextVisitor::Visit ( SmSubSupNode *  pNode)
overridevirtual

◆ Visit() [24/27]

void SmNodeToTextVisitor::Visit ( SmTableNode *  pNode)
overridevirtual

◆ Visit() [25/27]

void SmNodeToTextVisitor::Visit ( SmTextNode *  pNode)
overridevirtual

Implements SmVisitor.

Definition at line 2324 of file visitors.cxx.

References Append(), SmToken::aText, SmToken::eType, SmNode::GetToken(), Separate(), TFUNC, THEX, TIDENT, TNUMBER, TTEXT, type, and u.

◆ Visit() [26/27]

void SmNodeToTextVisitor::Visit ( SmUnHorNode *  pNode)
overridevirtual

◆ Visit() [27/27]

void SmNodeToTextVisitor::Visit ( SmVerticalBraceNode *  pNode)
overridevirtual

Member Data Documentation

◆ maCmdText

OUStringBuffer SmNodeToTextVisitor::maCmdText
private

Output text generated from the pNodes.

Definition at line 530 of file visitors.hxx.

Referenced by Append(), Separate(), and SmNodeToTextVisitor().


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