X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffactory.cpp;h=eba16dcc30bf7782fa4838363e8c1032b6feba0f;hb=cca78e3c8ae27431323746abd64f9d7db017099d;hp=f3ed84eebb8091afe0ba91e0c17c597fa78f6656;hpb=bd5b4ebd323a0e6999162c3acc41c326bed80042;p=lyx.git diff --git a/src/factory.cpp b/src/factory.cpp index f3ed84eebb..eba16dcc30 100644 --- a/src/factory.cpp +++ b/src/factory.cpp @@ -25,7 +25,6 @@ #include "insets/InsetCaption.h" #include "insets/InsetCitation.h" #include "insets/InsetFlex.h" -#include "insets/InsetEnvironment.h" #include "insets/InsetERT.h" #include "insets/InsetListings.h" #include "insets/InsetExternal.h" @@ -64,7 +63,7 @@ #include "support/lstrings.h" #include "support/ExceptionMessage.h" -#include +#include "support/lassert.h" #include @@ -103,7 +102,7 @@ Inset * createInsetHelper(Buffer & buf, FuncRequest const & cmd) case LFUN_FLEX_INSERT: { string s = cmd.getArg(0); - return new InsetFlex(buf, buf.params().documentClassPtr(), s); + return new InsetFlex(buf, s); } case LFUN_NOTE_INSERT: { @@ -142,9 +141,6 @@ Inset * createInsetHelper(Buffer & buf, FuncRequest const & cmd) case LFUN_OPTIONAL_INSERT: return new InsetOptArg(buf); - case LFUN_BIBITEM_INSERT: - return new InsetBibitem(InsetCommandParams(BIBITEM_CODE)); - case LFUN_FLOAT_INSERT: { // check if the float type exists string const argument = to_utf8(cmd.argument()); @@ -207,11 +203,11 @@ Inset * createInsetHelper(Buffer & buf, FuncRequest const & cmd) case LFUN_TOC_INSERT: return new InsetTOC(InsetCommandParams(TOC_CODE)); - case LFUN_ENVIRONMENT_INSERT: - return new InsetEnvironment(buf, cmd.argument()); - - case LFUN_INFO_INSERT: - return new InsetInfo(buf, to_utf8(cmd.argument())); + case LFUN_INFO_INSERT: { + InsetInfo * inset = new InsetInfo(buf, to_utf8(cmd.argument())); + inset->updateInfo(); + return inset; + } case LFUN_INSET_INSERT: { string const name = cmd.getArg(0); @@ -224,13 +220,13 @@ Inset * createInsetHelper(Buffer & buf, FuncRequest const & cmd) case BIBITEM_CODE: { InsetCommandParams icp(code); InsetCommand::string2params(name, to_utf8(cmd.argument()), icp); - return new InsetBibitem(icp); + return new InsetBibitem(buf, icp); } case BIBTEX_CODE: { InsetCommandParams icp(code); InsetCommand::string2params(name, to_utf8(cmd.argument()), icp); - return new InsetBibtex(icp); + return new InsetBibtex(buf, icp); } case CITE_CODE: { @@ -392,7 +388,7 @@ Inset * createInsetHelper(Buffer & buf, FuncRequest const & cmd) if (message.type_ == ErrorException) { // This should never happen! Alert::error(message.title_, message.details_); - LyX::cref().exit(1); + lyx_exit(1); } else if (message.type_ == WarningException) { Alert::warning(message.title_, message.details_); return 0; @@ -420,8 +416,8 @@ Inset * readInset(Lexer & lex, Buffer const & buf) auto_ptr inset; - lex.next(); - string tmptok = lex.getString(); + string tmptok; + lex >> tmptok; // test the different insets @@ -448,10 +444,10 @@ Inset * readInset(Lexer & lex, Buffer const & buf) switch (code) { case BIBITEM_CODE: - inset.reset(new InsetBibitem(inscmd)); + inset.reset(new InsetBibitem(buf, inscmd)); break; case BIBTEX_CODE: - inset.reset(new InsetBibtex(inscmd)); + inset.reset(new InsetBibtex(buf, inscmd)); break; case CITE_CODE: inset.reset(new InsetCitation(inscmd)); @@ -515,22 +511,17 @@ Inset * readInset(Lexer & lex, Buffer const & buf) } else if (tmptok == "Flex") { lex.next(); string s = lex.getString(); - inset.reset(new InsetFlex(buf, - buf.params().documentClassPtr(), s)); + inset.reset(new InsetFlex(buf, s)); } else if (tmptok == "Branch") { - inset.reset(new InsetBranch(buf, - InsetBranchParams())); - } else if (tmptok == "Environment") { - lex.next(); - inset.reset(new InsetEnvironment(buf, lex.getDocString())); + inset.reset(new InsetBranch(buf, InsetBranchParams())); } else if (tmptok == "ERT") { inset.reset(new InsetERT(buf)); } else if (tmptok == "listings") { inset.reset(new InsetListings(buf)); - } else if (tmptok == "Space") { + } else if (tmptok == "space") { inset.reset(new InsetSpace); } else if (tmptok == "Tabular") { - inset.reset(new InsetTabular(buf)); + inset.reset(new InsetTabular(const_cast(buf))); } else if (tmptok == "Text") { inset.reset(new InsetText(buf)); } else if (tmptok == "VSpace") { @@ -553,10 +544,6 @@ Inset * readInset(Lexer & lex, Buffer const & buf) lex.next(); string tmptok = lex.getString(); inset.reset(new InsetWrap(buf, tmptok)); -#if 0 - } else if (tmptok == "Theorem") { - inset.reset(new InsetList); -#endif } else if (tmptok == "Caption") { inset.reset(new InsetCaption(buf)); } else if (tmptok == "Index") {