X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffactory.cpp;h=b8d94336b9f74294f14d61161e360294a9251d23;hb=7855c0c1fc98b154768d3014883873387bd64c95;hp=2ffa85018c1666ab32b1a8b57d688aec03ed2433;hpb=c246076ed57e0ee80320477349d25330e9d24e64;p=lyx.git diff --git a/src/factory.cpp b/src/factory.cpp index 2ffa85018c..b8d94336b9 100644 --- a/src/factory.cpp +++ b/src/factory.cpp @@ -52,6 +52,7 @@ #include "insets/InsetPreview.h" #include "insets/InsetRef.h" #include "insets/InsetScript.h" +#include "insets/InsetSeparator.h" #include "insets/InsetSpace.h" #include "insets/InsetTabular.h" #include "insets/InsetTOC.h" @@ -99,6 +100,22 @@ Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd) return new InsetNewpage(inp); } + case LFUN_SEPARATOR_INSERT: { + string const name = cmd.getArg(0); + InsetSeparatorParams inp; + if (name.empty() || name == "plain") + inp.kind = InsetSeparatorParams::PLAIN; + else if (name == "parbreak") + inp.kind = InsetSeparatorParams::PARBREAK; + else if (name == "latexpar") + inp.kind = InsetSeparatorParams::LATEXPAR; + else { + lyxerr << "Wrong argument for LyX function 'separator-insert'." << endl; + break; + } + return new InsetSeparator(inp); + } + case LFUN_FLEX_INSERT: { string s = cmd.getArg(0); return new InsetFlex(buf, s); @@ -523,7 +540,7 @@ Inset * readInset(Lexer & lex, Buffer * buf) //Worst case, we could put it in each case below. Better, we could //pass the lexer to the constructor and let the params be built there. InsetCommandParams inscmd(code); - inscmd.read(lex); + inscmd.Read(lex, buf); switch (code) { case BIBITEM_CODE: @@ -627,6 +644,8 @@ Inset * readInset(Lexer & lex, Buffer * buf) inset.reset(new InsetNewpage); } else if (tmptok == "Newline") { inset.reset(new InsetNewline); + } else if (tmptok == "Separator") { + inset.reset(new InsetSeparator); } else if (tmptok == "Argument") { inset.reset(new InsetArgument(buf, tmptok)); } else if (tmptok == "Float") {