summaryrefslogtreecommitdiff
path: root/starmath/source/visitors.cxx
diff options
context:
space:
mode:
authorLuke Dixon <6b8b4567@gmail.com>2011-01-29 12:32:53 +0000
committerJonas Finnemann Jensen <jopsen@gmail.com>2011-01-29 16:30:38 +0100
commitf11e417a89ea2d87ffe5b64092f56efd4f2af9c1 (patch)
tree383c7f80476acea01115a7ba8d20975d2bfa7348 /starmath/source/visitors.cxx
parentdb18b6ce1628f8ba6f0df543adfcfebfcaae5744 (diff)
Add some brackets back to SmNodeToTextVisitor
For SmOperNodes, I shouldn't have removed these brackets. Add brackets around SmBinVerNodes and SmBinDiagonalNodes, removing the ones from SmBinHorNodes and SmUnHorNodes made these ones necessary. Add brackets when an SmExpressionNode has an SmBinHorNode child.
Diffstat (limited to 'starmath/source/visitors.cxx')
-rw-r--r--starmath/source/visitors.cxx24
1 files changed, 17 insertions, 7 deletions
diff --git a/starmath/source/visitors.cxx b/starmath/source/visitors.cxx
index 6ce811233fc3..9d0a8c5ebe31 100644
--- a/starmath/source/visitors.cxx
+++ b/starmath/source/visitors.cxx
@@ -2244,33 +2244,39 @@ void SmNodeToTextVisitor::Visit( SmOperNode* pNode )
SmNode* pChild;
if( ( pChild = pSubSup->GetSubSup( LSUP ) ) ) {
Separate( );
- Append( "lsup " );
+ Append( "lsup { " );
LineToText( pChild );
+ Append( "} " );
}
if( ( pChild = pSubSup->GetSubSup( LSUB ) ) ) {
Separate( );
- Append( "lsub " );
+ Append( "lsub { " );
LineToText( pChild );
+ Append( "} " );
}
if( ( pChild = pSubSup->GetSubSup( RSUP ) ) ) {
Separate( );
- Append( "rsup " );
+ Append( "rsup { " );
LineToText( pChild );
+ Append( "} " );
}
if( ( pChild = pSubSup->GetSubSup( RSUB ) ) ) {
Separate( );
- Append( "rsub " );
+ Append( "rsub { " );
LineToText( pChild );
+ Append( "} " );
}
if( ( pChild = pSubSup->GetSubSup( CSUP ) ) ) {
Separate( );
- Append( "csup " );
+ Append( "csup { " );
LineToText( pChild );
+ Append( "} " );
}
if( ( pChild = pSubSup->GetSubSup( CSUB ) ) ) {
Separate( );
- Append( "csub " );
+ Append( "csub { " );
LineToText( pChild );
+ Append( "} " );
}
}
LineToText( pNode->GetSubNode( 1 ) );
@@ -2401,19 +2407,23 @@ void SmNodeToTextVisitor::Visit( SmBinVerNode* pNode )
{
SmNode *pNum = pNode->GetSubNode( 0 ),
*pDenom = pNode->GetSubNode( 2 );
+ Append( "{ " );
LineToText( pNum );
Append( "over" );
LineToText( pDenom );
+ Append( "} " );
}
void SmNodeToTextVisitor::Visit( SmBinDiagonalNode* pNode )
{
SmNode *pLeftOperand = pNode->GetSubNode( 0 ),
*pRightOperand = pNode->GetSubNode( 1 );
+ Append( "{ " );
LineToText( pLeftOperand );
Separate( );
Append( "wideslash " );
LineToText( pRightOperand );
+ Append( "} " );
}
void SmNodeToTextVisitor::Visit( SmSubSupNode* pNode )
@@ -2525,7 +2535,7 @@ void SmNodeToTextVisitor::Visit( SmLineNode* pNode )
void SmNodeToTextVisitor::Visit( SmExpressionNode* pNode )
{
- bool bracketsNeeded = pNode->GetNumSubNodes() != 1 || pNode->GetSubNode(0)->GetType() != NEXPRESSION;
+ bool bracketsNeeded = pNode->GetNumSubNodes() != 1 || pNode->GetSubNode(0)->GetType() == NBINHOR;
if (bracketsNeeded) {
Append( "{ " );
}