LibreOffice Module starmath (master) 1
|
Text node. More...
#include <node.hxx>
Public Member Functions | |
SmTextNode (const SmToken &rNodeToken, sal_uInt16 nFontDescP) | |
sal_uInt16 | GetFontDesc () const |
Returns the font type being used (text, variable, symbol, ...). More... | |
void | SetText (const OUString &rText) |
Sets the node text to rText. More... | |
const OUString & | GetText () const |
Gets the node text. More... | |
OUString & | GetText () |
void | ChangeText (const OUString &rText) |
Change the text of this node, including the underlying token to rText. More... | |
void | AdjustFontDesc () |
Try to guess the correct FontDesc, used during visual editing. More... | |
sal_Int32 | GetSelectionStart () const |
Index within GetText() where the selection starts. More... | |
sal_Int32 | GetSelectionEnd () const |
Index within GetText() where the selection ends. More... | |
void | SetSelectionStart (sal_Int32 index) |
Sets the index within GetText() where the selection starts to index. More... | |
void | SetSelectionEnd (sal_Int32 index) |
Sets the index within GetText() where the selection ends to index. More... | |
virtual void | Prepare (const SmFormat &rFormat, const SmDocShell &rDocShell, int nDepth) override |
Prepare preliminary settings about font and text (e.g. More... | |
virtual void | Arrange (OutputDevice &rDev, const SmFormat &rFormat) override |
Prepares the SmRect to render. More... | |
virtual void | GetAccessibleText (OUStringBuffer &rText) const override |
Appends to rText the node text. More... | |
void | Accept (SmVisitor *pVisitor) override |
Accept a visitor. More... | |
Public Member Functions inherited from SmVisibleNode | |
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... | |
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 |
Static Public Member Functions | |
static sal_Unicode | ConvertSymbolToUnicode (sal_Unicode nIn) |
Converts the character from StarMath's private area symbols to a matching Unicode character, if necessary. More... | |
Protected Member Functions | |
SmTextNode (SmNodeType eNodeType, const SmToken &rNodeToken, sal_uInt16 nFontDescP) | |
Protected Member Functions inherited from SmVisibleNode | |
SmVisibleNode (SmNodeType eNodeType, const SmToken &rNodeToken) | |
Protected Member Functions inherited from SmNode | |
SmNode (SmNodeType eNodeType, SmToken aNodeToken) | |
Private Attributes | |
OUString | maText |
sal_uInt16 | mnFontDesc |
sal_Int32 | mnSelectionStart |
Index within text where the selection starts. More... | |
sal_Int32 | mnSelectionEnd |
Index within text where the selection ends. More... | |
Text node.
|
protected |
SmTextNode::SmTextNode | ( | const SmToken & | rNodeToken, |
sal_uInt16 | nFontDescP | ||
) |
|
overridevirtual |
Accept a visitor.
Calls the method for this class on the visitor.
pVisitor |
Implements SmNode.
Reimplemented in SmSpecialNode, SmGlyphSpecialNode, SmMathSymbolNode, SmRootSymbolNode, SmPlaceNode, and SmErrorNode.
Definition at line 2415 of file node.cxx.
References SmVisitor::Visit().
void SmTextNode::AdjustFontDesc | ( | ) |
Try to guess the correct FontDesc, used during visual editing.
Definition at line 1887 of file node.cxx.
References eType, FNT_FUNCTION, FNT_NUMBER, FNT_TEXT, FNT_VARIABLE, Function, SmNode::GetToken(), maText, mnFontDesc, and TTEXT.
Referenced by ChangeText(), and SmCursor::InsertText().
|
overridevirtual |
Prepares the SmRect to render.
rDev | |
rFormat |
Implements SmNode.
Reimplemented in SmSpecialNode, SmGlyphSpecialNode, SmMathSymbolNode, SmPlaceNode, and SmErrorNode.
Definition at line 1868 of file node.cxx.
References FNT_FUNCTION, SmRect::GetBorderWidth(), SmNode::GetFont(), GetFontDesc(), SmFormat::GetRelSize(), maText, SmNode::PrepareAttributes(), SmTmpDevice::SetFont(), SIZ_FUNCTION, SIZ_TEXT, and SmRect::SmRect().
void SmTextNode::ChangeText | ( | const OUString & | rText | ) |
Change the text of this node, including the underlying token to rText.
rText |
Definition at line 1836 of file node.cxx.
References AdjustFontDesc(), SmToken::aText, SmNode::GetToken(), and maText.
Referenced by SmCursor::FindPositionInLineList(), SmCursor::PatchLineList(), SmCursor::TakeSelectedNodesFromList(), and SmCloningVisitor::Visit().
|
static |
Converts the character from StarMath's private area symbols to a matching Unicode character, if necessary.
To be used when converting GetText() to a normal text.
nIn |
Definition at line 1899 of file node.cxx.
Referenced by MathType::HandleMath(), SmOoxmlExport::HandleText(), SmRtfExport::HandleText(), MathType::HandleText(), and mathSymbolToString().
|
overridevirtual |
|
inline |
Returns the font type being used (text, variable, symbol, ...).
Definition at line 769 of file node.hxx.
References mnFontDesc.
Referenced by Arrange(), SmCursor::CloneLineToClipboard(), SmCursor::Copy(), SmCursor::FindPositionInLineList(), Prepare(), SmMathSymbolNode::Prepare(), SmCursor::TakeSelectedNodesFromList(), and SmCloningVisitor::Visit().
|
inline |
Index within GetText() where the selection ends.
Definition at line 810 of file node.hxx.
References mnSelectionEnd.
Referenced by SmCursor::CloneLineToClipboard(), SmCursor::Copy(), SmCursor::TakeSelectedNodesFromList(), and SmSelectionRectanglesVisitor::Visit().
|
inline |
Index within GetText() where the selection starts.
Definition at line 803 of file node.hxx.
References mnSelectionStart.
Referenced by SmCursor::CloneLineToClipboard(), SmCursor::Copy(), SmCursor::TakeSelectedNodesFromList(), and SmSelectionRectanglesVisitor::Visit().
|
inline |
|
inline |
Gets the node text.
Definition at line 782 of file node.hxx.
References maText.
Referenced by SmMathSymbolNode::AdaptToX(), SmMathSymbolNode::AdaptToY(), SmSpecialNode::Arrange(), SmGlyphSpecialNode::Arrange(), SmMathSymbolNode::Arrange(), SmPlaceNode::Arrange(), SmErrorNode::Arrange(), SmCursor::CloneLineToClipboard(), SmCursor::Copy(), SmDrawingVisitor::DrawTextNode(), SmXMLExport::ExportMath(), SmXMLExport::ExportNodes(), SmXMLExport::ExportText(), SmCursor::FindPositionInLineList(), MathType::HandleAttributes(), MathType::HandleMath(), MathType::HandleNodes(), SmOoxmlExport::HandleText(), MathType::HandleText(), SmCursor::IsAtTailOfBracket(), mathSymbolToString(), SmCursor::PatchLineList(), SmSpecialNode::Prepare(), SmCursor::TakeSelectedNodesFromList(), SmCaretLinesVisitor::Visit(), SmCaretPos2LineVisitor::Visit(), SmSetSelectionVisitor::Visit(), SmCaretPosGraphBuildingVisitor::Visit(), SmCloningVisitor::Visit(), and SmSelectionRectanglesVisitor::Visit().
|
overridevirtual |
Prepare preliminary settings about font and text (e.g.
maFace, meRectHorAlign, mnFlags, mnAttributes, etc.)
rFormat | |
rDocShell | |
nDepth |
Reimplemented from SmNode.
Reimplemented in SmSpecialNode, SmMathSymbolNode, SmPlaceNode, and SmErrorNode.
Definition at line 1842 of file node.cxx.
References SmToken::aText, SmNode::Attributes(), Bold, eType, SmNode::GetFont(), SmFormat::GetFont(), GetFontDesc(), SmNode::GetToken(), IsBold(), IsItalic(), Italic, Left, maText, SmNode::Prepare(), SmNode::SetRectHorAlign(), and TTEXT.
Referenced by SmCursor::InsertText().
|
inline |
Sets the index within GetText() where the selection ends to index.
index |
Definition at line 824 of file node.hxx.
References index, and mnSelectionEnd.
Referenced by SmSetSelectionVisitor::Visit().
|
inline |
Sets the index within GetText() where the selection starts to index.
index |
Definition at line 817 of file node.hxx.
References index, and mnSelectionStart.
Referenced by SmSetSelectionVisitor::Visit().
|
inline |
Sets the node text to rText.
rText |
Definition at line 776 of file node.hxx.
References maText.
Referenced by SmCursor::InsertText(), SmSpecialNode::Prepare(), SmErrorNode::SmErrorNode(), and SmMathSymbolNode::SmMathSymbolNode().
|
private |
Definition at line 748 of file node.hxx.
Referenced by AdjustFontDesc(), Arrange(), ChangeText(), GetAccessibleText(), GetText(), Prepare(), and SetText().
|
private |
Definition at line 749 of file node.hxx.
Referenced by AdjustFontDesc(), and GetFontDesc().
|
private |
Index within text where the selection ends.
Definition at line 757 of file node.hxx.
Referenced by GetSelectionEnd(), and SetSelectionEnd().
|
private |
Index within text where the selection starts.
Definition at line 753 of file node.hxx.
Referenced by GetSelectionStart(), and SetSelectionStart().