LibreOffice Module starmath (master) 1
|
Node for brace construction. More...
#include <node.hxx>
Public Member Functions | |
SmBraceNode (const SmToken &rNodeToken) | |
const SmMathSymbolNode * | OpeningBrace () const |
Returns the node containing the data of the opening brace. More... | |
SmMathSymbolNode * | OpeningBrace () |
const SmNode * | Body () const |
Returns the node containing the data of what is between braces. More... | |
SmNode * | Body () |
const SmMathSymbolNode * | ClosingBrace () const |
Returns the node containing the data of the closing brace. More... | |
SmMathSymbolNode * | ClosingBrace () |
virtual void | Arrange (OutputDevice &rDev, const SmFormat &rFormat) override |
Prepares the SmRect to render. More... | |
void | Accept (SmVisitor *pVisitor) override |
Accept a visitor. More... | |
Public Member Functions inherited from SmStructureNode | |
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 |
Additional Inherited Members | |
Protected Member Functions inherited from SmStructureNode | |
SmStructureNode (SmNodeType eNodeType, const SmToken &rNodeToken, size_t nSize=0) | |
Protected Member Functions inherited from SmNode | |
SmNode (SmNodeType eNodeType, SmToken aNodeToken) | |
Node for brace construction.
Used for "lbrace [body] rbrace" and similar constructions. Should look like
Children:
0: Opening brace
1: Body (usually SmBracebodyNode)
2: Closing brace
None of the children can be NULL.
Note that child 1 (Body) is usually SmBracebodyNode, but it can also be e.g. SmExpressionNode.
|
inlineexplicit |
|
overridevirtual |
Accept a visitor.
Calls the method for this class on the visitor.
pVisitor |
Implements SmNode.
Definition at line 2363 of file node.cxx.
References SmVisitor::Visit().
|
overridevirtual |
Prepares the SmRect to render.
rDev | |
rFormat |
Implements SmNode.
Definition at line 1265 of file node.cxx.
References SmNode::AdaptToY(), Point::AdjustX(), SmRect::AlignTo(), SmNode::Arrange(), Baseline, Body(), Bracebody, Center, CenterY, ClosingBrace(), SmToken::cMathChar, DIS_BRACKETSIZE, DIS_BRACKETSPACE, DIS_NORMALBRACKETSIZE, SmToken::eType, SmRect::ExtendBy(), SmFormat::GetBaseSize(), SmFormat::GetDistance(), SmNode::GetFont(), vcl::Font::GetFontSize(), SmNode::GetScaleMode(), SmNode::GetToken(), Size::Height(), Height, SmFormat::IsScaleNormalBrackets(), Left, SmNode::MoveTo(), MS_DLINE, MS_DVERTLINE, MS_LINE, MS_VERTLINE, nIndex, OpeningBrace(), Right, SmFace::SetSize(), Size::setWidth(), TABS, This, and Size::Width().
|
inline |
Definition at line 1668 of file node.hxx.
References SmStructureNode::GetNumSubNodes(), and SmStructureNode::GetSubNode().
|
inline |
Returns the node containing the data of what is between braces.
Definition at line 1667 of file node.hxx.
References Body().
Referenced by Arrange(), Body(), SmOoxmlExport::HandleBrace(), SmRtfExport::HandleBrace(), SmCaretPosGraphBuildingVisitor::Visit(), and SmNodeToTextVisitor::Visit().
|
inline |
Definition at line 1676 of file node.hxx.
References SmStructureNode::GetNumSubNodes(), SmStructureNode::GetSubNode(), SmNode::GetType(), and Math.
|
inline |
Returns the node containing the data of the closing brace.
Definition at line 1674 of file node.hxx.
References ClosingBrace().
Referenced by Arrange(), ClosingBrace(), SmOoxmlExport::HandleBrace(), SmRtfExport::HandleBrace(), SmCursor::IsAtTailOfBracket(), and SmNodeToTextVisitor::Visit().
|
inline |
Definition at line 1657 of file node.hxx.
References SmStructureNode::GetNumSubNodes(), SmStructureNode::GetSubNode(), SmNode::GetType(), and Math.
|
inline |
Returns the node containing the data of the opening brace.
Definition at line 1655 of file node.hxx.
References OpeningBrace().
Referenced by Arrange(), SmOoxmlExport::HandleBrace(), SmRtfExport::HandleBrace(), OpeningBrace(), and SmNodeToTextVisitor::Visit().