]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/MathMacroTable.C
we rely on Windows and maybe Linux on a Qt bug
[lyx.git] / src / mathed / MathMacroTable.C
index d7e2c0aa17f25a4a21cd28a2d117f341c80947a9..961235c2f28a426ebf37353679c170cac43a1f99 100644 (file)
@@ -40,8 +40,8 @@ MacroData::MacroData()
 {}
 
 
-MacroData::MacroData(docstring const & def, int numargs, docstring const & disp)
-       : def_(def), numargs_(numargs), disp_(disp)
+MacroData::MacroData(docstring const & def, int numargs, docstring const & disp, string const & requires)
+       : def_(def), numargs_(numargs), disp_(disp), requires_(requires)
 {}
 
 
@@ -78,14 +78,6 @@ MacroTable & MacroTable::globalMacros()
 }
 
 
-// The local table.
-//MacroTable & MacroTable::localMacros()
-//{
-//     static MacroTable theLocalMacros;
-//     return theLocalMacros;
-//}
-
-
 bool MacroTable::has(docstring const & name) const
 {
        return find(name) != end();
@@ -102,17 +94,18 @@ MacroData const & MacroTable::get(docstring const & name) const
 
 void MacroTable::insert(docstring const & name, MacroData const & data)
 {
-       //lyxerr << "MacroTable::insert: " << name << endl;
+       //lyxerr << "MacroTable::insert: " << to_utf8(name) << endl;
        operator[](name) = data;
 }
 
 
-void MacroTable::insert(docstring const & def)
+void MacroTable::insert(docstring const & def, string const & requires)
 {
-       //lyxerr << "MacroTable::insert, def: " << def << endl;
-       std::istringstream is(to_utf8(def));
-       MathMacroTemplate mac(is);
-       insert(mac.name(), mac.asMacroData());
+       //lyxerr << "MacroTable::insert, def: " << to_utf8(def) << endl;
+       MathMacroTemplate mac(def);
+       MacroData data = mac.asMacroData();
+       data.requires() = requires;
+       insert(mac.name(), data);
 }