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

Set Selection Visitor Sets the IsSelected( ) property on all SmNodes of the tree. More...

#include <visitors.hxx>

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

Public Member Functions

 SmSetSelectionVisitor (SmCaretPos startPos, SmCaretPos endPos, SmNode *pNode)
 
virtual ~SmSetSelectionVisitor ()
 
void Visit (SmBinHorNode *pNode) override
 
void Visit (SmUnHorNode *pNode) override
 
void Visit (SmFontNode *pNode) override
 
void Visit (SmTextNode *pNode) override
 
void Visit (SmExpressionNode *pNode) override
 
void Visit (SmLineNode *pNode) override
 
void Visit (SmAlignNode *pNode) override
 
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
 
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
 

Static Public Member Functions

static void SetSelectedOnAll (SmNode *pSubTree, bool IsSelected=true)
 Set IsSelected on all pNodes of pSubTree. More...
 

Private Member Functions

void DefaultVisit (SmNode *pNode) override
 Visit a selectable pNode Can be used to handle pNodes that can be selected, that doesn't have more SmCaretPos' than 0 and 1 inside them. More...
 
void VisitCompositionNode (SmStructureNode *pNode)
 

Private Attributes

SmCaretPos maStartPos
 Caret position where the selection starts. More...
 
SmCaretPos maEndPos
 Caret position where the selection ends. More...
 
bool mbSelecting
 The current state of this visitor This property changes when the visitor meets either maStartPos or maEndPos. More...
 

Additional Inherited Members

- Protected Member Functions inherited from SmDefaultingVisitor
 ~SmDefaultingVisitor ()
 
virtual void DefaultVisit (SmNode *pNode)=0
 Method invoked by Visit methods by default. More...
 
- Protected Member Functions inherited from SmVisitor
 ~SmVisitor ()
 

Detailed Description

Set Selection Visitor Sets the IsSelected( ) property on all SmNodes of the tree.

Definition at line 275 of file visitors.hxx.

Constructor & Destructor Documentation

◆ SmSetSelectionVisitor()

SmSetSelectionVisitor::SmSetSelectionVisitor ( SmCaretPos  startPos,
SmCaretPos  endPos,
SmNode *  pNode 
)

◆ ~SmSetSelectionVisitor()

virtual SmSetSelectionVisitor::~SmSetSelectionVisitor ( )
inlinevirtual

Definition at line 279 of file visitors.hxx.

Member Function Documentation

◆ DefaultVisit()

void SmSetSelectionVisitor::DefaultVisit ( SmNode *  pNode)
overrideprivatevirtual

Visit a selectable pNode Can be used to handle pNodes that can be selected, that doesn't have more SmCaretPos' than 0 and 1 inside them.

SmTextNode should be handle separately! Also note that pNodes such as SmBinVerNode cannot be selected, don't this method for it.

Implements SmDefaultingVisitor.

Definition at line 601 of file visitors.cxx.

References Brace, Bracebody, SmNode::GetNumSubNodes(), SmNode::GetParent(), SmNode::GetType(), maEndPos, maStartPos, mbSelecting, SmCaretPos::nIndex, SmCaretPos::pSelectedNode, SmNode::SetSelected(), and SetSelectedOnAll().

◆ SetSelectedOnAll()

void SmSetSelectionVisitor::SetSelectedOnAll ( SmNode *  pSubTree,
bool  IsSelected = true 
)
static

Set IsSelected on all pNodes of pSubTree.

Definition at line 587 of file visitors.cxx.

References SmNode::GetNumSubNodes(), SmNode::SetSelected(), and SetSelectedOnAll().

Referenced by DefaultVisit(), SetSelectedOnAll(), and SmSetSelectionVisitor().

◆ Visit() [1/34]

void SmSetSelectionVisitor::Visit ( SmAlignNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 741 of file visitors.cxx.

References VisitCompositionNode().

◆ Visit() [2/34]

void SmDefaultingVisitor::Visit ( SmAlignNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 84 of file visitors.cxx.

◆ Visit() [3/34]

void SmDefaultingVisitor::Visit ( SmAttributeNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 85 of file visitors.cxx.

◆ Visit() [4/34]

void SmDefaultingVisitor::Visit ( SmBinDiagonalNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 90 of file visitors.cxx.

◆ Visit() [5/34]

void SmSetSelectionVisitor::Visit ( SmBinHorNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 745 of file visitors.cxx.

References VisitCompositionNode().

◆ Visit() [6/34]

void SmDefaultingVisitor::Visit ( SmBinHorNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 88 of file visitors.cxx.

◆ Visit() [7/34]

void SmDefaultingVisitor::Visit ( SmBinVerNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 89 of file visitors.cxx.

◆ Visit() [8/34]

void SmDefaultingVisitor::Visit ( SmBlankNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 98 of file visitors.cxx.

◆ Visit() [9/34]

void SmDefaultingVisitor::Visit ( SmBracebodyNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 82 of file visitors.cxx.

◆ Visit() [10/34]

void SmDefaultingVisitor::Visit ( SmBraceNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 81 of file visitors.cxx.

◆ Visit() [11/34]

void SmDefaultingVisitor::Visit ( SmErrorNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 99 of file visitors.cxx.

◆ Visit() [12/34]

void SmSetSelectionVisitor::Visit ( SmExpressionNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 733 of file visitors.cxx.

References VisitCompositionNode().

◆ Visit() [13/34]

void SmDefaultingVisitor::Visit ( SmExpressionNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 101 of file visitors.cxx.

◆ Visit() [14/34]

void SmSetSelectionVisitor::Visit ( SmFontNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 753 of file visitors.cxx.

References VisitCompositionNode().

◆ Visit() [15/34]

void SmDefaultingVisitor::Visit ( SmFontNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 86 of file visitors.cxx.

◆ Visit() [16/34]

void SmDefaultingVisitor::Visit ( SmGlyphSpecialNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 96 of file visitors.cxx.

◆ Visit() [17/34]

void SmSetSelectionVisitor::Visit ( SmLineNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 737 of file visitors.cxx.

References VisitCompositionNode().

◆ Visit() [18/34]

void SmDefaultingVisitor::Visit ( SmLineNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 100 of file visitors.cxx.

◆ Visit() [19/34]

void SmDefaultingVisitor::Visit ( SmMathSymbolNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 97 of file visitors.cxx.

◆ Visit() [20/34]

void SmDefaultingVisitor::Visit ( SmMatrixNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 92 of file visitors.cxx.

◆ Visit() [21/34]

void SmDefaultingVisitor::Visit ( SmOperNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 83 of file visitors.cxx.

◆ Visit() [22/34]

void SmDefaultingVisitor::Visit ( SmPlaceNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 93 of file visitors.cxx.

◆ Visit() [23/34]

void SmDefaultingVisitor::Visit ( SmPolyLineNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 102 of file visitors.cxx.

◆ Visit() [24/34]

void SmDefaultingVisitor::Visit ( SmRectangleNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 105 of file visitors.cxx.

◆ Visit() [25/34]

void SmDefaultingVisitor::Visit ( SmRootNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 103 of file visitors.cxx.

◆ Visit() [26/34]

void SmDefaultingVisitor::Visit ( SmRootSymbolNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 104 of file visitors.cxx.

◆ Visit() [27/34]

void SmDefaultingVisitor::Visit ( SmSpecialNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 95 of file visitors.cxx.

◆ Visit() [28/34]

void SmDefaultingVisitor::Visit ( SmSubSupNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 91 of file visitors.cxx.

◆ Visit() [29/34]

void SmDefaultingVisitor::Visit ( SmTableNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 80 of file visitors.cxx.

◆ Visit() [30/34]

void SmSetSelectionVisitor::Visit ( SmTextNode *  pNode)
overridevirtual

◆ Visit() [31/34]

void SmDefaultingVisitor::Visit ( SmTextNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 94 of file visitors.cxx.

◆ Visit() [32/34]

void SmSetSelectionVisitor::Visit ( SmUnHorNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 749 of file visitors.cxx.

References VisitCompositionNode().

◆ Visit() [33/34]

void SmDefaultingVisitor::Visit ( SmUnHorNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 87 of file visitors.cxx.

◆ Visit() [34/34]

void SmDefaultingVisitor::Visit ( SmVerticalBraceNode *  pNode)
overridevirtual

Reimplemented from SmDefaultingVisitor.

Definition at line 106 of file visitors.cxx.

◆ VisitCompositionNode()

void SmSetSelectionVisitor::VisitCompositionNode ( SmStructureNode *  pNode)
private

Member Data Documentation

◆ maEndPos

SmCaretPos SmSetSelectionVisitor::maEndPos
private

Caret position where the selection ends.

Definition at line 302 of file visitors.hxx.

Referenced by DefaultVisit(), SmSetSelectionVisitor(), Visit(), and VisitCompositionNode().

◆ maStartPos

SmCaretPos SmSetSelectionVisitor::maStartPos
private

Caret position where the selection starts.

Definition at line 300 of file visitors.hxx.

Referenced by DefaultVisit(), SmSetSelectionVisitor(), Visit(), and VisitCompositionNode().

◆ mbSelecting

bool SmSetSelectionVisitor::mbSelecting
private

The current state of this visitor This property changes when the visitor meets either maStartPos or maEndPos.

This means that anything visited in between will be selected.

Definition at line 308 of file visitors.hxx.

Referenced by DefaultVisit(), SmSetSelectionVisitor(), Visit(), and VisitCompositionNode().


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