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: