diff options
author | Luke Dixon <6b8b4567@gmail.com> | 2011-01-29 12:32:53 +0000 |
---|---|---|
committer | Jonas Finnemann Jensen <jopsen@gmail.com> | 2011-01-29 16:30:38 +0100 |
commit | f11e417a89ea2d87ffe5b64092f56efd4f2af9c1 (patch) | |
tree | 383c7f80476acea01115a7ba8d20975d2bfa7348 /starmath/source/visitors.cxx | |
parent | db18b6ce1628f8ba6f0df543adfcfebfcaae5744 (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.cxx | 24 |
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( "{ " ); } |