X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffactory.cpp;h=fc6468056b086badb5887e428681ba8ae699e7c7;hb=e08e5afeea7194d95be1f02fe9484383574d203f;hp=54ae0c8965711bc76302e3719eafdf7805df648d;hpb=6add1994c75c0f3e0db50ab6c94ac3b73deb1561;p=lyx.git diff --git a/src/factory.cpp b/src/factory.cpp index 54ae0c8965..fc6468056b 100644 --- a/src/factory.cpp +++ b/src/factory.cpp @@ -21,7 +21,6 @@ #include "Color.h" #include "Lexer.h" #include "LyX.h" -#include "Paragraph.h" #include "insets/InsetBibitem.h" #include "insets/InsetBibtex.h" @@ -30,6 +29,7 @@ #include "insets/InsetCharStyle.h" #include "insets/InsetEnvironment.h" #include "insets/InsetERT.h" +#include "insets/InsetListings.h" #include "insets/InsetExternal.h" #include "insets/InsetFloat.h" #include "insets/InsetFloatList.h" @@ -68,6 +68,10 @@ #include +using std::auto_ptr; +using std::endl; +using std::string; + namespace lyx { @@ -75,10 +79,6 @@ namespace Alert = frontend::Alert; using support::compare_ascii_no_case; -using std::auto_ptr; -using std::endl; -using std::string; - Inset * createInset(BufferView * bv, FuncRequest const & cmd) { @@ -136,6 +136,9 @@ Inset * createInset(BufferView * bv, FuncRequest const & cmd) case LFUN_ERT_INSERT: return new InsetERT(params); + case LFUN_LISTING_INSERT: + return new InsetListings(params); + case LFUN_FOOTNOTE_INSERT: return new InsetFoot(params); @@ -225,7 +228,7 @@ Inset * createInset(BufferView * bv, FuncRequest const & cmd) return new InsetTOC(InsetCommandParams("tableofcontents")); case LFUN_ENVIRONMENT_INSERT: - return new InsetEnvironment(params, to_utf8(cmd.argument())); + return new InsetEnvironment(params, cmd.argument()); #if 0 case LFUN_LIST_INSERT: @@ -261,6 +264,11 @@ Inset * createInset(BufferView * bv, FuncRequest const & cmd) InsetERTMailer::string2params(to_utf8(cmd.argument()), st); return new InsetERT(params, st); + } else if (name == "listings") { + InsetListingsParams par; + InsetListingsMailer::string2params(to_utf8(cmd.argument()), par); + return new InsetListings(params, par); + } else if (name == "external") { Buffer const & buffer = *bv->buffer(); InsetExternalParams iep; @@ -483,9 +491,11 @@ Inset * readInset(Lexer & lex, Buffer const & buf) inset.reset(new InsetInclude(p)); } else if (tmptok == "Environment") { lex.next(); - inset.reset(new InsetEnvironment(buf.params(), lex.getString())); + inset.reset(new InsetEnvironment(buf.params(), lex.getDocString())); } else if (tmptok == "ERT") { inset.reset(new InsetERT(buf.params())); + } else if (tmptok == "listings") { + inset.reset(new InsetListings(buf.params())); } else if (tmptok == "InsetSpace") { inset.reset(new InsetSpace); } else if (tmptok == "Tabular") { @@ -528,9 +538,7 @@ Inset * readInset(Lexer & lex, Buffer const & buf) inset->read(buf, lex); -#ifdef WITH_WARNINGS -#warning hack.. -#endif +// FIXME: hack.. if (inset->lyxCode() == Inset::MATHMACRO_CODE) { MathMacroTemplate const * tmpl = static_cast(inset.get());