X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffactory.C;h=3509bc8150b612b3d2ce56836ecfd2f538778f7f;hb=498f06d43a0f2000c3f704db1ea39fda3c819fe6;hp=7c8bf37bcfdd7fcb5f98493228e2b9ac2f3d5a01;hpb=edc55ba120c15ac51a03515f95bdaff91a19587d;p=lyx.git diff --git a/src/factory.C b/src/factory.C index 7c8bf37bcf..3509bc8150 100644 --- a/src/factory.C +++ b/src/factory.C @@ -1,3 +1,14 @@ +/** + * \file factory.C + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. + * + * \author André Pönitz + * + * Full author contact details are available in file CREDITS + */ + +#include #include "funcrequest.h" #include "bufferparams.h" @@ -23,11 +34,13 @@ #include "insets/insettext.h" #include "insets/insettoc.h" #include "insets/inseturl.h" +#include "insets/insetwrap.h" #include "frontends/Dialogs.h" #include "frontends/LyXView.h" #include +using std::endl; Inset * createInset(FuncRequest const & cmd) { @@ -73,12 +86,23 @@ Inset * createInset(FuncRequest const & cmd) lyxerr << "Non-existent float type: " << cmd.argument << endl; return 0; + case LFUN_INSET_WRAP: + if (cmd.argument == "figure") + return new InsetWrap(params, cmd.argument); + lyxerr << "Non-existent floatflt type: " << cmd.argument << endl; + return 0; + case LFUN_INDEX_INSERT: { - string entry = cmd.argument; - if (entry.empty()) - entry = bv->getLyXText()->getStringToIndex(bv); - if (!entry.empty()) - return new InsetIndex(InsetCommandParams("index", entry)); + string const entry = cmd.argument.empty() ? + "index" : cmd.argument; + InsetCommandParams icp; + icp.setFromString(entry); + + if (icp.getContents().empty()) + icp.setContents(bv->getLyXText()->getStringToIndex(bv)); + if (!icp.getContents().empty()) + return new InsetIndex(icp); + bv->owner()->getDialogs().createIndex(); return 0; } @@ -106,7 +130,7 @@ Inset * createInset(FuncRequest const & cmd) } return 0; - case LFUN_INDEX_PRINT: + case LFUN_INDEX_PRINT: return new InsetPrintIndex(InsetCommandParams("printindex")); case LFUN_TOC_INSERT: @@ -136,5 +160,3 @@ Inset * createInset(FuncRequest const & cmd) } return 0; } - -