]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/MathParser.C
This commit cleans up everything related to singleton. The other important change...
[lyx.git] / src / mathed / MathParser.C
index f71fccab460081e952a3ef93c4bf310e3dbf1824..b8268eb72a9647ef18a0498c5152c0962758a777 100644 (file)
@@ -54,6 +54,7 @@ following hack as starting point to write some macros:
 #include "InsetMathRef.h"
 #include "InsetMathRoot.h"
 #include "InsetMathScript.h"
+#include "InsetMathSplit.h"
 #include "InsetMathSqrt.h"
 #include "InsetMathTabular.h"
 #include "MathMacroTemplate.h"
@@ -1099,16 +1100,16 @@ void Parser::parse1(InsetMathGrid & grid, unsigned flags,
                                parse2(cell->back(), FLAG_END, InsetMath::TEXT_MODE, false);
                        }
 
-                       else if (name == "split" || name == "cases" ||
-                                name == "gathered" || name == "aligned") {
+                       else if (name == "split" || name == "cases") {
                                cell->push_back(createInsetMath(name));
                                parse2(cell->back(), FLAG_END, mode, false);
                        }
 
                        else if (name == "alignedat") {
+                               string const valign = parse_verbatim_option() + 'c';
                                // ignore this for a while
                                getArg('{', '}');
-                               cell->push_back(createInsetMath(name));
+                               cell->push_back(MathAtom(new InsetMathSplit(name, valign[0])));
                                parse2(cell->back(), FLAG_END, mode, false);
                        }
 
@@ -1173,6 +1174,18 @@ void Parser::parse1(InsetMathGrid & grid, unsigned flags,
                                if (l->inset == "matrix") {
                                        cell->push_back(createInsetMath(name));
                                        parse2(cell->back(), FLAG_END, mode, false);
+                               } else if (l->inset == "split") {
+                                       string const valign = parse_verbatim_option() + 'c';
+                                       cell->push_back(MathAtom(new InsetMathSplit(name, valign[0])));
+                                       parse2(cell->back(), FLAG_END, mode, false);
+                               } else {
+                                       dump();
+                                       lyxerr << "found math environment `" << name
+                                              << "' in symbols file with unsupported inset `"
+                                              << l->inset << "'." << endl;
+                                       // create generic environment inset
+                                       cell->push_back(MathAtom(new InsetMathEnv(name)));
+                                       parse(cell->back().nucleus()->cell(0), FLAG_ITEM, mode);
                                }
                        }