X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffactory.cpp;h=a465a55e86db268b622a9874f81a4bd3d011c943;hb=31a197d88c5521a3ff566597d22b7877d3e151c2;hp=653a12876108184617fdd2a0ce516ebdf5189b64;hpb=33d663720b85c15798f7a043996aee5a43f516fc;p=lyx.git diff --git a/src/factory.cpp b/src/factory.cpp index 653a128761..a465a55e86 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" @@ -37,6 +34,7 @@ #include "insets/InsetHyperlink.h" #include "insets/InsetInclude.h" #include "insets/InsetIndex.h" +#include "insets/InsetIndexMacro.cpp" #include "insets/InsetInfo.h" #include "insets/InsetIPA.h" #include "insets/InsetIPAMacro.h" @@ -50,6 +48,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 +65,6 @@ #include "support/debug.h" #include "support/ExceptionMessage.h" -#include "support/lassert.h" #include "support/lstrings.h" #include "support/unique_ptr.h" @@ -98,6 +96,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); } @@ -160,6 +160,16 @@ Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd) return new InsetIPADeco(buf, arg2); } + case LFUN_INDEXMACRO_INSERT: { + string const arg = cmd.getArg(0); + if (arg != "see" && arg != "seealso" + && arg != "subentry" && arg != "sortkey") { + LYXERR0("LFUN_INDEXMACRO_INSERT: wrong argument"); + return nullptr; + } + return new InsetIndexMacro(buf, arg); + } + case LFUN_ERT_INSERT: return new InsetERT(buf); @@ -216,7 +226,7 @@ Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd) } case LFUN_INDEX_INSERT: { - docstring arg = cmd.argument(); + docstring const & arg = cmd.argument(); return new InsetIndex(buf, InsetIndexParams(arg)); } @@ -301,6 +311,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()))); @@ -336,7 +352,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)); } @@ -551,6 +567,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; @@ -659,6 +678,9 @@ Inset * readInset(Lexer & lex, Buffer * buf) inset.reset(new InsetCaption(buf, s)); } else if (tmptok == "Index") { inset.reset(new InsetIndex(buf, InsetIndexParams())); + } else if (tmptok == "IndexMacro") { + string s = lex.getString(); + inset.reset(new InsetIndexMacro(buf, s)); } else if (tmptok == "FloatList") { inset.reset(new InsetFloatList(buf)); } else if (tmptok == "Info") {