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

Visitor for cloning a pNode. More...

#include <visitors.hxx>

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

Public Member Functions

 SmCloningVisitor ()
 
virtual ~SmCloningVisitor ()
 
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
 
SmNodeClone (SmNode *pNode)
 Clone a pNode. More...
 
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 CloneKids (SmStructureNode *pSource, SmStructureNode *pTarget)
 Clone children of pSource and give them to pTarget. More...
 

Static Private Member Functions

static void CloneNodeAttr (SmNode const *pSource, SmNode *pTarget)
 Clone attributes on a pNode. More...
 

Private Attributes

SmNodempResult
 

Additional Inherited Members

- Protected Member Functions inherited from SmVisitor
 ~SmVisitor ()
 

Detailed Description

Visitor for cloning a pNode.

This visitor creates deep clones.

Definition at line 382 of file visitors.hxx.

Constructor & Destructor Documentation

◆ SmCloningVisitor()

SmCloningVisitor::SmCloningVisitor ( )
inline

Definition at line 385 of file visitors.hxx.

◆ ~SmCloningVisitor()

virtual SmCloningVisitor::~SmCloningVisitor ( )
inlinevirtual

Definition at line 388 of file visitors.hxx.

Member Function Documentation

◆ Clone()

SmNode * SmCloningVisitor::Clone ( SmNode pNode)

Clone a pNode.

Definition at line 1513 of file visitors.cxx.

References SmNode::Accept(), and mpResult.

Referenced by SmCursor::CloneLineToClipboard(), SmCursor::CloneList(), and SmCursor::Copy().

◆ CloneKids()

void SmCloningVisitor::CloneKids ( SmStructureNode pSource,
SmStructureNode pTarget 
)
private

Clone children of pSource and give them to pTarget.

Definition at line 1529 of file visitors.cxx.

References SmNode::Accept(), SmStructureNode::GetNumSubNodes(), SmStructureNode::GetSubNode(), i, mpResult, and SmStructureNode::SetSubNodes().

Referenced by Visit().

◆ CloneNodeAttr()

void SmCloningVisitor::CloneNodeAttr ( SmNode const *  pSource,
SmNode pTarget 
)
staticprivate

Clone attributes on a pNode.

Definition at line 1522 of file visitors.cxx.

References SmNode::GetScaleMode(), and SmNode::SetScaleMode().

Referenced by Visit().

◆ Visit() [1/27]

void SmCloningVisitor::Visit ( SmAlignNode pNode)
overridevirtual

◆ Visit() [2/27]

void SmCloningVisitor::Visit ( SmAttributeNode pNode)
overridevirtual

◆ Visit() [3/27]

void SmCloningVisitor::Visit ( SmBinDiagonalNode pNode)
overridevirtual

◆ Visit() [4/27]

void SmCloningVisitor::Visit ( SmBinHorNode pNode)
overridevirtual

◆ Visit() [5/27]

void SmCloningVisitor::Visit ( SmBinVerNode pNode)
overridevirtual

◆ Visit() [6/27]

void SmCloningVisitor::Visit ( SmBlankNode pNode)
overridevirtual

◆ Visit() [7/27]

void SmCloningVisitor::Visit ( SmBracebodyNode pNode)
overridevirtual

◆ Visit() [8/27]

void SmCloningVisitor::Visit ( SmBraceNode pNode)
overridevirtual

◆ Visit() [9/27]

void SmCloningVisitor::Visit ( SmErrorNode pNode)
overridevirtual

◆ Visit() [10/27]

void SmCloningVisitor::Visit ( SmExpressionNode pNode)
overridevirtual

◆ Visit() [11/27]

void SmCloningVisitor::Visit ( SmFontNode pNode)
overridevirtual

◆ Visit() [12/27]

void SmCloningVisitor::Visit ( SmGlyphSpecialNode pNode)
overridevirtual

◆ Visit() [13/27]

void SmCloningVisitor::Visit ( SmLineNode pNode)
overridevirtual

◆ Visit() [14/27]

void SmCloningVisitor::Visit ( SmMathSymbolNode pNode)
overridevirtual

◆ Visit() [15/27]

void SmCloningVisitor::Visit ( SmMatrixNode pNode)
overridevirtual

◆ Visit() [16/27]

void SmCloningVisitor::Visit ( SmOperNode pNode)
overridevirtual

◆ Visit() [17/27]

void SmCloningVisitor::Visit ( SmPlaceNode pNode)
overridevirtual

◆ Visit() [18/27]

void SmCloningVisitor::Visit ( SmPolyLineNode pNode)
overridevirtual

◆ Visit() [19/27]

void SmCloningVisitor::Visit ( SmRectangleNode pNode)
overridevirtual

◆ Visit() [20/27]

void SmCloningVisitor::Visit ( SmRootNode pNode)
overridevirtual

◆ Visit() [21/27]

void SmCloningVisitor::Visit ( SmRootSymbolNode pNode)
overridevirtual

◆ Visit() [22/27]

void SmCloningVisitor::Visit ( SmSpecialNode pNode)
overridevirtual

◆ Visit() [23/27]

void SmCloningVisitor::Visit ( SmSubSupNode pNode)
overridevirtual

◆ Visit() [24/27]

void SmCloningVisitor::Visit ( SmTableNode pNode)
overridevirtual

◆ Visit() [25/27]

void SmCloningVisitor::Visit ( SmTextNode pNode)
overridevirtual

◆ Visit() [26/27]

void SmCloningVisitor::Visit ( SmUnHorNode pNode)
overridevirtual

◆ Visit() [27/27]

void SmCloningVisitor::Visit ( SmVerticalBraceNode pNode)
overridevirtual

Member Data Documentation

◆ mpResult

SmNode* SmCloningVisitor::mpResult
private

Definition at line 419 of file visitors.hxx.

Referenced by Clone(), CloneKids(), and Visit().


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