From 6e91e7d4e7c283e40ae3f6a3fe520da392d84bb5 Mon Sep 17 00:00:00 2001 From: Luboš Luňák Date: Tue, 29 Nov 2011 19:58:24 +0100 Subject: implement m:func, m:limLow, m:limUpp --- starmath/source/ooxmlimport.cxx | 30 ++++++++++++++++++++++++++++++ starmath/source/ooxmlimport.hxx | 3 +++ 2 files changed, 33 insertions(+) (limited to 'starmath') diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx index 6fc869c1d099..760505ca3cb9 100644 --- a/starmath/source/ooxmlimport.cxx +++ b/starmath/source/ooxmlimport.cxx @@ -102,6 +102,12 @@ OUString SmOoxmlImport::readOMathArg() return handleD(); case OPENING( M_TOKEN( f )): return handleF(); + case OPENING( M_TOKEN( func )): + return handleFunc(); + case OPENING( M_TOKEN( limLow )): + return handleLimLowUpp( LimLow ); + case OPENING( M_TOKEN( limUpp )): + return handleLimLowUpp( LimUpp ); case OPENING( M_TOKEN( r )): return handleR(); default: @@ -306,6 +312,30 @@ OUString SmOoxmlImport::handleF() } } +OUString SmOoxmlImport::handleFunc() +{ +//lim from{x rightarrow 1} x + stream.ensureOpeningTag( M_TOKEN( func )); + stream.ensureOpeningTag( M_TOKEN( fName )); + OUString fname = readOMathArg(); + stream.ensureClosingTag( M_TOKEN( fName )); + OUString ret = fname + STR( " {" ) + handleE() + STR( "}" ); + stream.ensureClosingTag( M_TOKEN( func )); + return ret; +} + +OUString SmOoxmlImport::handleLimLowUpp( LimLowUpp_t limlowupp ) +{ + int token = limlowupp == LimLow ? M_TOKEN( limLow ) : M_TOKEN( limUpp ); + stream.ensureOpeningTag( token ); + OUString e = handleE(); + stream.ensureOpeningTag( M_TOKEN( lim )); + OUString lim = readOMathArg(); + stream.ensureClosingTag( M_TOKEN( lim )); + stream.ensureClosingTag( token ); + return e + STR( " from {" ) + lim + STR( "}" ); +} + // NOT complete OUString SmOoxmlImport::handleR() { diff --git a/starmath/source/ooxmlimport.hxx b/starmath/source/ooxmlimport.hxx index a32cda34e325..af7d1ca964bc 100644 --- a/starmath/source/ooxmlimport.hxx +++ b/starmath/source/ooxmlimport.hxx @@ -50,6 +50,9 @@ private: rtl::OUString handleD(); rtl::OUString handleE(); rtl::OUString handleF(); + rtl::OUString handleFunc(); + enum LimLowUpp_t { LimLow, LimUpp }; + rtl::OUString handleLimLowUpp( LimLowUpp_t limlowupp ); rtl::OUString handleR(); rtl::OUString readOMathArg(); oox::formulaimport::XmlStream& stream; -- cgit