summaryrefslogtreecommitdiff
path: root/starmath/source/mathml.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'starmath/source/mathml.cxx')
-rw-r--r--starmath/source/mathml.cxx34
1 files changed, 32 insertions, 2 deletions
diff --git a/starmath/source/mathml.cxx b/starmath/source/mathml.cxx
index fa7abcdc4613..56a68a8340a4 100644
--- a/starmath/source/mathml.cxx
+++ b/starmath/source/mathml.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: mathml.cxx,v $
*
- * $Revision: 1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: cmc $ $Date: 2000-11-15 10:43:57 $
+ * last change: $Author: cmc $ $Date: 2000-12-11 15:43:30 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -1059,8 +1059,38 @@ public:
SvXMLImportContext *CreateChildContext(sal_uInt16 nPrefix,
const OUString& rLocalName,
const uno::Reference< xml::sax::XAttributeList > &xAttrList);
+ void EndElement();
};
+void SmXMLTableRowContext_Impl::EndElement()
+{
+ SmNodeArray aRelationArray;
+ SmNodeStack &rNodeStack = GetSmImport().GetNodeStack();
+ USHORT nSize = rNodeStack.Count()-nElementCount;
+
+ if (nSize)
+ {
+ aRelationArray.SetSize(nSize);
+ for(USHORT i=rNodeStack.Count()-nElementCount;i > 0;i--)
+ aRelationArray.Put(i-1,rNodeStack.Pop());
+ }
+ else //Multiple newlines result in empty row elements
+ {
+ aRelationArray.SetSize(1);
+ SmToken aToken;
+ aToken.cMathChar = '\0';
+ aToken.nGroup = 0;
+ aToken.nLevel = 5;
+ aToken.eType = TNEWLINE;
+ aRelationArray.Put(0,new SmLineNode(aToken));
+ }
+
+ SmToken aDummy;
+ SmStructureNode *pSNode = new SmExpressionNode(aDummy);
+ pSNode->SetSubNodes(aRelationArray);
+ rNodeStack.Push(pSNode);
+}
+
class SmXMLTableContext_Impl : public SmXMLTableRowContext_Impl
{
public: