summaryrefslogtreecommitdiff
path: root/starmath
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@suse.cz>2011-11-29 19:58:24 +0100
committerLuboš Luňák <l.lunak@suse.cz>2011-11-29 21:20:28 +0100
commit6e91e7d4e7c283e40ae3f6a3fe520da392d84bb5 (patch)
tree3adf20dacb0220c02143ea5581b5660615b4a07b /starmath
parent49987bbb47962f46b2522345a764bb99fe5a742a (diff)
implement m:func, m:limLow, m:limUpp
Diffstat (limited to 'starmath')
-rw-r--r--starmath/source/ooxmlimport.cxx30
-rw-r--r--starmath/source/ooxmlimport.hxx3
2 files changed, 33 insertions, 0 deletions
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;