LibreOffice Module starmath (master) 1
|
Abstract baseclass for all composite node. More...
#include <node.hxx>
Public Member Functions | |
virtual | ~SmStructureNode () override |
virtual bool | IsVisible () const override |
Checks node visibility. More... | |
virtual size_t | GetNumSubNodes () const override |
Gets the number of subnodes. More... | |
virtual SmNode * | GetSubNode (size_t nIndex) override |
Gets the subnode of index nIndex. More... | |
SmNode * | GetSubNodeBinMo (size_t nIndex) const |
Gets the subnode of index nIndex, used for operators. More... | |
void | ClearSubNodes () |
Does the cleaning of the subnodes. More... | |
void | SetSubNodes (std::unique_ptr< SmNode > pFirst, std::unique_ptr< SmNode > pSecond, std::unique_ptr< SmNode > pThird=nullptr) |
Sets subnodes, used for operators. More... | |
void | SetSubNodes (SmNode *pFirst, SmNode *pSecond, SmNode *pThird) |
Sets subnodes. More... | |
void | SetSubNodesBinMo (std::unique_ptr< SmNode > pFirst, std::unique_ptr< SmNode > pSecond, std::unique_ptr< SmNode > pThird=nullptr) |
Sets subnodes, used for operators. More... | |
void | SetSubNodes (SmNodeArray &&rNodeArray) |
Sets subnodes. More... | |
virtual void | GetAccessibleText (OUStringBuffer &rText) const override |
Appends to rText the node text. More... | |
SmNodeArray::iterator | begin () |
Gets the first subnode. More... | |
SmNodeArray::iterator | end () |
Gets the last subnode. More... | |
SmNodeArray::reverse_iterator | rbegin () |
Gets the last subnode. More... | |
SmNodeArray::reverse_iterator | rend () |
Gets the first subnode. More... | |
int | IndexOfSubNode (SmNode const *pSubNode) |
Get the index of the child node pSubNode. More... | |
void | SetSubNode (size_t nIndex, SmNode *pNode) |
Sets the subnode pNode at nIndex. More... | |
virtual SmNode * | GetSubNode (size_t nIndex)=0 |
Gets the subnode of index nIndex. More... | |
const SmNode * | GetSubNode (size_t nIndex) const |
Gets the subnode of index nIndex. More... | |
Public Member Functions inherited from SmNode | |
SmNode (const SmNode &)=delete | |
SmNode & | operator= (const SmNode &)=delete |
virtual | ~SmNode () |
virtual bool | IsVisible () const =0 |
Checks node visibility. More... | |
virtual size_t | GetNumSubNodes () const =0 |
Gets the number of subnodes. More... | |
virtual SmNode * | GetSubNode (size_t nIndex)=0 |
Gets the subnode of index nIndex. More... | |
const SmNode * | GetSubNode (size_t nIndex) const |
virtual const SmNode * | GetLeftMost () const |
(this assumes the one with index 0 is always the leftmost subnode for the current node). More... | |
FontChangeMask & | Flags () |
Gets the FontChangeMask flags. More... | |
FontAttribute & | Attributes () |
Gets the font attributes. More... | |
bool | IsPhantom () const |
Checks if it is a visible node rendered invisible. More... | |
void | SetPhantom (bool bIsPhantom) |
Sets the render visibility of a visible node to bIsPhantom. More... | |
void | SetColor (const Color &rColor) |
Sets the font color. More... | |
void | SetAttribute (FontAttribute nAttrib) |
Sets the font attribute nAttrib. More... | |
void | ClearAttribute (FontAttribute nAttrib) |
Clears the font attribute nAttrib. More... | |
const SmFace & | GetFont () const |
Gets the font. More... | |
SmFace & | GetFont () |
void | SetFont (const SmFace &rFace) |
Sets the font to rFace. More... | |
void | SetFontSize (const Fraction &rRelSize, FontSizeType nType) |
Sets the font size to rRelSize with type nType. More... | |
void | SetSize (const Fraction &rScale) |
Sets the font size to rRelSize with type FontSizeType::ABSOLUT. More... | |
virtual void | Prepare (const SmFormat &rFormat, const SmDocShell &rDocShell, int nDepth) |
Prepare preliminary settings about font and text (e.g. More... | |
void | PrepareAttributes () |
Prepare preliminary font attributes Called on Prepare(...). More... | |
void | SetRectHorAlign (RectHorAlign eHorAlign, bool bApplyToSubTree=true) |
Sets the alignment of the text. More... | |
RectHorAlign | GetRectHorAlign () const |
Gets the alignment of the text. More... | |
const SmRect & | GetRect () const |
Parses itself to SmRect. More... | |
void | Move (const Point &rVector) |
Moves the rectangle by rVector. More... | |
void | MoveTo (const Point &rPoint) |
Moves the rectangle to rPoint, being the top left corner the origin. More... | |
virtual void | Arrange (OutputDevice &rDev, const SmFormat &rFormat)=0 |
Prepares the SmRect to render. More... | |
virtual void | GetAccessibleText (OUStringBuffer &rText) const =0 |
Appends to rText the node text. More... | |
sal_Int32 | GetAccessibleIndex () const |
Gets the node accessible index. More... | |
void | SetAccessibleIndex (sal_Int32 nAccIndex) |
Sets the node accessible index to nAccIndex. More... | |
const SmNode * | FindNodeWithAccessibleIndex (sal_Int32 nAccIndex) const |
Finds the node with accessible index nAccIndex. More... | |
sal_uInt16 | GetRow () const |
Gets the line in the text where the node is located. More... | |
sal_uInt16 | GetColumn () const |
Gets the column of the line in the text where the node is located. More... | |
SmScaleMode | GetScaleMode () const |
Gets the scale mode. More... | |
void | SetScaleMode (SmScaleMode eMode) |
Sets the scale mode to eMode. More... | |
virtual void | AdaptToX (OutputDevice &rDev, sal_uLong nWidth) |
virtual void | AdaptToY (OutputDevice &rDev, sal_uLong nHeight) |
SmNodeType | GetType () const |
Gets the node type. More... | |
const SmToken & | GetToken () const |
Gets the token. More... | |
SmToken & | GetToken () |
const ESelection & | GetSelection () const |
Gets node position in input text. More... | |
void | SetSelection (ESelection aESelection) |
Gets node position in input text. More... | |
const SmNode * | FindTokenAt (sal_uInt16 nRow, sal_uInt16 nCol) const |
Finds the node from the position in the text. More... | |
const SmNode * | FindRectClosestTo (const Point &rPoint) const |
Finds the closest rectangle in the screen. More... | |
virtual void | Accept (SmVisitor *pVisitor)=0 |
Accept a visitor. More... | |
bool | IsSelected () const |
Checks if the node is selected. More... | |
void | SetSelected (bool Selected) |
Sets the node to Selected. More... | |
const SmStructureNode * | GetParent () const |
Gets the parent node of this node. More... | |
SmStructureNode * | GetParent () |
void | SetParent (SmStructureNode *parent) |
Sets the parent node. More... | |
void | SetToken (SmToken const &token) |
Sets the token for this node. More... | |
Public Member Functions inherited from SmRect | |
SmRect () | |
SmRect (const OutputDevice &rDev, const SmFormat *pFormat, const OUString &rText, sal_uInt16 nBorderWidth) | |
SmRect (tools::Long nWidth, tools::Long nHeight) | |
sal_uInt16 | GetBorderWidth () const |
void | SetItalicSpaces (tools::Long nLeftSpace, tools::Long nRightSpace) |
void | SetWidth (sal_uLong nWidth) |
void | SetLeft (tools::Long nLeft) |
void | SetRight (tools::Long nRight) |
void | SetBottom (tools::Long nBottom) |
void | SetTop (tools::Long nTop) |
const Point & | GetTopLeft () const |
tools::Long | GetTop () const |
tools::Long | GetLeft () const |
tools::Long | GetBottom () const |
tools::Long | GetRight () const |
tools::Long | GetCenterY () const |
tools::Long | GetWidth () const |
tools::Long | GetHeight () const |
tools::Long | GetItalicLeftSpace () const |
tools::Long | GetItalicRightSpace () const |
tools::Long | GetHiAttrFence () const |
tools::Long | GetLoAttrFence () const |
tools::Long | GetItalicLeft () const |
tools::Long | GetItalicCenterX () const |
tools::Long | GetItalicRight () const |
tools::Long | GetItalicWidth () const |
bool | HasBaseline () const |
tools::Long | GetBaseline () const |
tools::Long | GetBaselineOffset () const |
tools::Long | GetAlignT () const |
tools::Long | GetAlignM () const |
tools::Long | GetAlignB () const |
const Size & | GetSize () const |
Size | GetItalicSize () const |
void | Move (const Point &rPosition) |
void | MoveTo (const Point &rPosition) |
bool | IsEmpty () const |
bool | HasAlignInfo () const |
Point | AlignTo (const SmRect &rRect, RectPos ePos, RectHorAlign eHor, RectVerAlign eVer) const |
SmRect & | ExtendBy (const SmRect &rRect, RectCopyMBL eCopyMode) |
void | ExtendBy (const SmRect &rRect, RectCopyMBL eCopyMode, tools::Long nNewAlignM) |
SmRect & | ExtendBy (const SmRect &rRect, RectCopyMBL eCopyMode, bool bKeepVerAlignParams) |
tools::Long | OrientedDist (const Point &rPoint) const |
bool | IsInsideRect (const Point &rPoint) const |
bool | IsInsideItalicRect (const Point &rPoint) const |
tools::Rectangle | AsRectangle () const |
SmRect | AsGlyphRect () const |
Protected Member Functions | |
SmStructureNode (SmNodeType eNodeType, const SmToken &rNodeToken, size_t nSize=0) | |
Protected Member Functions inherited from SmNode | |
SmNode (SmNodeType eNodeType, SmToken aNodeToken) | |
Private Member Functions | |
void | ClaimPaternity () |
Sets parent on children of this node. More... | |
Private Attributes | |
SmNodeArray | maSubNodes |
Abstract baseclass for all composite node.
Subclasses of this class can have subnodes. Nodes that doesn't derivate from this class does not have subnodes.
|
inlineprotected |
|
inline |
Gets the first subnode.
Definition at line 564 of file node.hxx.
References maSubNodes.
|
private |
Sets parent on children of this node.
Definition at line 463 of file node.cxx.
References SmNode::SetParent().
Referenced by SetSubNodes(), and SetSubNodesBinMo().
void SmStructureNode::ClearSubNodes | ( | ) |
Does the cleaning of the subnodes.
Definition at line 359 of file node.cxx.
References maSubNodes.
Referenced by SmCursor::LineToList().
|
inline |
Gets the last subnode.
Definition at line 570 of file node.hxx.
References maSubNodes.
|
overridevirtual |
Appends to rText the node text.
rText |
Implements SmNode.
Definition at line 452 of file node.cxx.
References SmNode::GetAccessibleText(), SmNode::IsVisible(), and SmNode::SetAccessibleIndex().
|
overridevirtual |
Gets the number of subnodes.
Implements SmNode.
Definition at line 430 of file node.cxx.
References maSubNodes.
Referenced by SmRootNode::Argument(), SmTableNode::Arrange(), SmLineNode::Arrange(), SmSubSupNode::Arrange(), SmBracebodyNode::Arrange(), SmAlignNode::Arrange(), SmMatrixNode::Arrange(), SmAttributeNode::Attribute(), SmRootNode::Body(), SmBraceNode::Body(), SmVerticalBraceNode::Body(), SmAttributeNode::Body(), SmVerticalBraceNode::Brace(), SmCloningVisitor::CloneKids(), SmBraceNode::ClosingBrace(), SmCursor::DeletePrev(), SmOoxmlExport::HandleBrace(), MathType::HandleSmMatrix(), IndexOfSubNode(), SmCursor::InsertRow(), SmCursor::IsAtTailOfBracket(), SmBinHorNode::LeftOperand(), SmBraceNode::OpeningBrace(), SmBinHorNode::RightOperand(), SmVerticalBraceNode::Script(), SmRootNode::Symbol(), SmBinHorNode::Symbol(), and SmNodeToTextVisitor::Visit().
|
inline |
|
overridevirtual |
Gets the subnode of index nIndex.
nIndex |
Implements SmNode.
Definition at line 435 of file node.cxx.
References maSubNodes, and nIndex.
Referenced by SmRootNode::Argument(), SmTableNode::Arrange(), SmLineNode::Arrange(), SmUnHorNode::Arrange(), SmRootNode::Arrange(), SmBinVerNode::Arrange(), SmBinDiagonalNode::Arrange(), SmBracebodyNode::Arrange(), SmOperNode::Arrange(), SmAlignNode::Arrange(), SmFontNode::Arrange(), SmMatrixNode::Arrange(), SmAttributeNode::Attribute(), SmRootNode::Body(), SmBraceNode::Body(), SmVerticalBraceNode::Body(), SmAttributeNode::Body(), SmVerticalBraceNode::Brace(), SmCloningVisitor::CloneKids(), SmBraceNode::ClosingBrace(), SmCursor::DeletePrev(), SmSubSupNode::GetBody(), SmSubSupNode::GetSubSup(), SmOperNode::GetSymbol(), SmOoxmlExport::HandleBrace(), SmOoxmlExport::HandleMatrix(), SmRtfExport::HandleMatrix(), SmOoxmlExport::HandleOperator(), SmRtfExport::HandleOperator(), MathType::HandleSmMatrix(), IndexOfSubNode(), SmCursor::InsertFraction(), SmCursor::InsertRow(), SmBinHorNode::LeftOperand(), SmBraceNode::OpeningBrace(), SmBinHorNode::RightOperand(), SmVerticalBraceNode::Script(), SmRootNode::Symbol(), SmBinHorNode::Symbol(), SmCaretPosGraphBuildingVisitor::Visit(), and SmNodeToTextVisitor::Visit().
|
virtual |
Gets the subnode of index nIndex.
nIndex |
Implements SmNode.
SmNode * SmStructureNode::GetSubNodeBinMo | ( | size_t | nIndex | ) | const |
Gets the subnode of index nIndex, used for operators.
nIndex |
Definition at line 440 of file node.cxx.
References BinDiagonal, SmNode::GetType(), maSubNodes, and nIndex.
Get the index of the child node pSubNode.
Returns -1, if pSubNode isn't a subnode of this.
pSubNode |
Definition at line 468 of file node.cxx.
References GetNumSubNodes(), GetSubNode(), and i.
Referenced by SmCursor::Delete(), SmCursor::DeletePrev(), SmCursor::InsertBrackets(), SmCursor::InsertFraction(), SmCursor::InsertNodes(), SmCursor::InsertRow(), SmCursor::InsertSubSup(), SmCursor::IsAtTailOfBracket(), and SmCursor::NodeToList().
|
overridevirtual |
Checks node visibility.
Returns true if this is an instance of SmVisibleNode's subclass, false otherwise.
Implements SmNode.
|
inline |
Gets the last subnode.
Definition at line 576 of file node.hxx.
References maSubNodes.
Referenced by SmNodeToTextVisitor::Visit().
|
inline |
Gets the first subnode.
Definition at line 582 of file node.hxx.
References maSubNodes.
Referenced by SmNodeToTextVisitor::Visit().
void SmStructureNode::SetSubNode | ( | size_t | nIndex, |
SmNode * | pNode | ||
) |
Sets the subnode pNode at nIndex.
If necessary increases the subnodes length.
nIndex | |
pNode |
Definition at line 477 of file node.cxx.
References i, maSubNodes, nIndex, SmNode::SetParent(), and size.
Referenced by SmCursor::DeletePrev(), SmCursor::FinishEdit(), SmCursor::InsertRow(), SmCursor::NodeToList(), SmSubSupNode::SetBody(), and SmSubSupNode::SetSubSup().
Sets subnodes.
pFirst | |
pSecond | |
pThird |
Definition at line 378 of file node.cxx.
References ClaimPaternity(), and maSubNodes.
void SmStructureNode::SetSubNodes | ( | SmNodeArray && | rNodeArray | ) |
Sets subnodes.
rNodeArray |
Definition at line 419 of file node.cxx.
References ClaimPaternity(), and maSubNodes.
void SmStructureNode::SetSubNodes | ( | std::unique_ptr< SmNode > | pFirst, |
std::unique_ptr< SmNode > | pSecond, | ||
std::unique_ptr< SmNode > | pThird = nullptr |
||
) |
Sets subnodes, used for operators.
pFirst | |
pSecond | |
pThird |
Definition at line 364 of file node.cxx.
References ClaimPaternity(), and maSubNodes.
Referenced by SmCloningVisitor::CloneKids(), SmCursor::DeletePrev(), SmNodeListParser::Expression(), SmNodeListParser::Factor(), SmCursor::InsertBrackets(), and SmCursor::InsertFraction().
void SmStructureNode::SetSubNodesBinMo | ( | std::unique_ptr< SmNode > | pFirst, |
std::unique_ptr< SmNode > | pSecond, | ||
std::unique_ptr< SmNode > | pThird = nullptr |
||
) |
Sets subnodes, used for operators.
The data is reordered so the items are correctly ordered.
pFirst | |
pSecond | |
pThird |
Definition at line 392 of file node.cxx.
References BinDiagonal, ClaimPaternity(), SmNode::GetType(), and maSubNodes.
|
private |
Definition at line 472 of file node.hxx.
Referenced by begin(), ClearSubNodes(), end(), GetNumSubNodes(), GetSubNode(), GetSubNodeBinMo(), rbegin(), rend(), SetSubNode(), SetSubNodes(), and SetSubNodesBinMo().