X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffactory.cpp;h=6f17797ada95b88c45961f23f7a6b9ca5cf212ad;hb=b4e609bd691b326756e802bb16524bb837b5a10e;hp=72019cd6f72bc1dae92f8feef321384db357c47f;hpb=29378af4cdf9db7a7d6a72a9df34b8593f73f0e8;p=features.git diff --git a/src/factory.cpp b/src/factory.cpp index 72019cd6f7..6f17797ada 100644 --- a/src/factory.cpp +++ b/src/factory.cpp @@ -12,13 +12,9 @@ #include "factory.h" -#include "Buffer.h" -#include "BufferParams.h" -#include "FloatList.h" #include "FuncRequest.h" #include "Lexer.h" #include "LyX.h" -#include "TextClass.h" #include "insets/InsetBibitem.h" #include "insets/InsetBibtex.h" @@ -26,6 +22,7 @@ #include "insets/InsetBranch.h" #include "insets/InsetCaption.h" #include "insets/InsetCitation.h" +#include "insets/InsetCounter.h" #include "insets/InsetFlex.h" #include "insets/InsetERT.h" #include "insets/InsetListings.h" @@ -50,6 +47,7 @@ #include "insets/InsetArgument.h" #include "insets/InsetPhantom.h" #include "insets/InsetPreview.h" +#include "insets/InsetQuotes.h" #include "insets/InsetRef.h" #include "insets/InsetScript.h" #include "insets/InsetSeparator.h" @@ -66,7 +64,6 @@ #include "support/debug.h" #include "support/ExceptionMessage.h" -#include "support/lassert.h" #include "support/lstrings.h" #include "support/unique_ptr.h" @@ -98,6 +95,8 @@ Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd) inp.kind = InsetNewpageParams::CLEARPAGE; else if (name == "cleardoublepage") inp.kind = InsetNewpageParams::CLEARDOUBLEPAGE; + else if (name == "nopagebreak") + inp.kind = InsetNewpageParams::NOPAGEBREAK; return new InsetNewpage(inp); } @@ -155,7 +154,7 @@ Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd) string const arg2 = cmd.getArg(1); if (arg1 != "deco") { LYXERR0("LFUN_IPAMACRO_INSERT: wrong argument"); - return 0; + return nullptr; } return new InsetIPADeco(buf, arg2); } @@ -176,7 +175,7 @@ Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd) string arg = cmd.getArg(0); if (arg.empty()) { LYXERR0("argument-insert needs an argument!"); - return 0; + return nullptr; } return new InsetArgument(buf, arg); } @@ -212,11 +211,11 @@ Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd) if (argument == "figure" || argument == "table") return new InsetWrap(buf, argument); lyxerr << "Non-existent wrapfig type: " << argument << endl; - return 0; + return nullptr; } case LFUN_INDEX_INSERT: { - docstring arg = cmd.argument(); + docstring const & arg = cmd.argument(); return new InsetIndex(buf, InsetIndexParams(arg)); } @@ -231,7 +230,7 @@ Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd) case LFUN_TABULAR_INSERT: { if (cmd.argument().empty()) - return 0; + return nullptr; istringstream ss(to_utf8(cmd.argument())); int r = 0, c = 0; ss >> r >> c; @@ -263,7 +262,6 @@ Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd) case LFUN_INFO_INSERT: { InsetInfo * inset = new InsetInfo(buf, to_utf8(cmd.argument())); - inset->updateInfo(); return inset; } @@ -282,7 +280,7 @@ Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd) switch (code) { case NO_CODE: lyxerr << "No such inset '" << name << "'."; - return 0; + return nullptr; case BIBITEM_CODE: { InsetCommandParams icp(code); @@ -302,6 +300,12 @@ Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd) return new InsetCitation(buf, icp); } + case COUNTER_CODE: { + InsetCommandParams icp(code); + InsetCommand::string2params(to_utf8(cmd.argument()), icp); + return new InsetCounter(buf, icp); + } + case ERT_CODE: { return new InsetERT(buf, InsetERT::string2params(to_utf8(cmd.argument()))); @@ -337,7 +341,7 @@ Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd) } case INDEX_CODE: { - docstring arg = cmd.argument(); + docstring const & arg = cmd.argument(); return new InsetIndex(buf, InsetIndexParams(arg)); } @@ -407,7 +411,7 @@ Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd) default: lyxerr << "Inset '" << name << "' not permitted with LFUN_INSET_INSERT." << endl; - return 0; + return nullptr; } } //end LFUN_INSET_INSERT @@ -479,7 +483,6 @@ Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd) } return new InsetSpace(isp); } - break; default: break; @@ -492,11 +495,11 @@ Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd) lyx_exit(1); } else if (message.type_ == WarningException) { Alert::warning(message.title_, message.details_); - return 0; + return nullptr; } } - return 0; + return nullptr; } @@ -553,6 +556,9 @@ Inset * readInset(Lexer & lex, Buffer * buf) case CITE_CODE: inset.reset(new InsetCitation(buf, inscmd)); break; + case COUNTER_CODE: + inset.reset(new InsetCounter(buf, inscmd)); + break; case HYPERLINK_CODE: inset.reset(new InsetHyperlink(buf, inscmd)); break; @@ -576,7 +582,7 @@ Inset * readInset(Lexer & lex, Buffer * buf) break; case REF_CODE: if (inscmd["name"].empty() && inscmd["reference"].empty()) - return 0; + return nullptr; inset.reset(new InsetRef(buf, inscmd)); break; case TOC_CODE: @@ -588,7 +594,7 @@ Inset * readInset(Lexer & lex, Buffer * buf) << "'" << endl; while (lex.isOK() && lex.getString() != "\\end_inset") lex.next(); - return 0; + return nullptr; } inset->setBuffer(*buf); } else { @@ -653,8 +659,8 @@ Inset * readInset(Lexer & lex, Buffer * buf) inset.reset(new InsetFloat(buf, string())); } else if (tmptok == "Wrap") { lex.next(); - string tmptok = lex.getString(); - inset.reset(new InsetWrap(buf, tmptok)); + string tmptok2 = lex.getString(); + inset.reset(new InsetWrap(buf, tmptok2)); } else if (tmptok == "Caption") { lex.eatLine(); string s = lex.getString(); @@ -676,11 +682,11 @@ Inset * readInset(Lexer & lex, Buffer * buf) << "'" << endl; while (lex.isOK() && lex.getString() != "\\end_inset") lex.next(); - return 0; + return nullptr; } // Set the buffer reference for proper parsing of some insets - // (InsetCollapsable for example) + // (InsetCollapsible for example) inset->setBuffer(*buf); inset->read(lex); // Set again the buffer for insets that are created inside this inset