* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author André Pönitz
+ * \author André Pönitz
*
* Full author contact details are available in file CREDITS.
*/
#include "insets/InsetCaption.h"
#include "insets/InsetCitation.h"
#include "insets/InsetFlex.h"
-#include "insets/InsetEnvironment.h"
#include "insets/InsetERT.h"
#include "insets/InsetListings.h"
#include "insets/InsetExternal.h"
#include "insets/InsetNote.h"
#include "insets/InsetBox.h"
#include "insets/InsetBranch.h"
+#include "insets/InsetPhantom.h"
#include "insets/InsetOptArg.h"
#include "insets/InsetNewpage.h"
#include "insets/InsetRef.h"
#include "support/lstrings.h"
#include "support/ExceptionMessage.h"
-#include <boost/assert.hpp>
+#include "support/lassert.h"
#include <sstream>
case LFUN_FLEX_INSERT: {
string s = cmd.getArg(0);
- return new InsetFlex(buf, buf.params().documentClassPtr(), s);
+ return new InsetFlex(buf, s);
}
case LFUN_NOTE_INSERT: {
return new InsetBranch(buf, InsetBranchParams(arg));
}
+ case LFUN_PHANTOM_INSERT: {
+ string arg = cmd.getArg(0);
+ if (arg.empty())
+ arg = "Phantom";
+ return new InsetPhantom(buf, arg);
+ }
+
case LFUN_ERT_INSERT:
return new InsetERT(buf);
case LFUN_OPTIONAL_INSERT:
return new InsetOptArg(buf);
- case LFUN_BIBITEM_INSERT:
- return new InsetBibitem(InsetCommandParams(BIBITEM_CODE));
-
case LFUN_FLOAT_INSERT: {
// check if the float type exists
string const argument = to_utf8(cmd.argument());
return 0;
}
- case LFUN_INDEX_INSERT:
- return new InsetIndex(buf);
+ case LFUN_INDEX_INSERT: {
+ docstring arg = cmd.argument();
+ return new InsetIndex(buf, InsetIndexParams(arg));
+ }
case LFUN_NOMENCL_INSERT: {
InsetCommandParams icp(NOMENCL_CODE);
case LFUN_CAPTION_INSERT:
return new InsetCaption(buf);
- case LFUN_INDEX_PRINT:
- return new InsetPrintIndex(InsetCommandParams(INDEX_PRINT_CODE));
+ case LFUN_INDEX_PRINT: {
+ InsetCommandParams icp(INDEX_PRINT_CODE);
+ icp["type"] = cmd.argument();
+ return new InsetPrintIndex(icp);
+ }
case LFUN_NOMENCL_PRINT:
return new InsetPrintNomencl(InsetCommandParams(NOMENCL_PRINT_CODE));
case LFUN_TOC_INSERT:
return new InsetTOC(InsetCommandParams(TOC_CODE));
- case LFUN_ENVIRONMENT_INSERT:
- return new InsetEnvironment(buf, cmd.argument());
-
- case LFUN_INFO_INSERT:
- return new InsetInfo(buf, to_utf8(cmd.argument()));
+ case LFUN_INFO_INSERT: {
+ InsetInfo * inset = new InsetInfo(buf, to_utf8(cmd.argument()));
+ inset->updateInfo();
+ return inset;
+ }
case LFUN_INSET_INSERT: {
string const name = cmd.getArg(0);
case BIBITEM_CODE: {
InsetCommandParams icp(code);
InsetCommand::string2params(name, to_utf8(cmd.argument()), icp);
- return new InsetBibitem(icp);
+ return new InsetBibitem(buf, icp);
}
case BIBTEX_CODE: {
InsetCommandParams icp(code);
InsetCommand::string2params(name, to_utf8(cmd.argument()), icp);
- return new InsetBibtex(icp);
+ return new InsetBibtex(buf, icp);
}
case CITE_CODE: {
return new InsetInclude(icp);
}
- case INDEX_CODE:
- return new InsetIndex(buf);
+ case INDEX_CODE: {
+ docstring arg = cmd.argument();
+ return new InsetIndex(buf, InsetIndexParams(arg));
+ }
+
+ case INDEX_PRINT_CODE: {
+ InsetCommandParams icp(code);
+ InsetCommand::string2params(name, to_utf8(cmd.argument()), icp);
+ return new InsetPrintIndex(icp);
+ }
case NOMENCL_CODE: {
InsetCommandParams icp(code);
- InsetCommand::string2params(name, lyx::to_utf8(cmd.argument()), icp);
+ InsetCommand::string2params(name, to_utf8(cmd.argument()), icp);
return new InsetNomencl(icp);
}
return 0;
}
- } //end LFUN_INSET_INSERT
+ } //end LFUN_INSET_INSERT
case LFUN_SPACE_INSERT: {
string const name = cmd.getArg(0);
break;
}
InsetSpaceParams isp;
+ // The tests for isp.math might be disabled after a file format change
if (name == "normal")
isp.kind = InsetSpaceParams::NORMAL;
else if (name == "protected")
isp.kind = InsetSpaceParams::PROTECTED;
else if (name == "thin")
isp.kind = InsetSpaceParams::THIN;
+ else if (isp.math && name == "med")
+ isp.kind = InsetSpaceParams::MEDIUM;
+ else if (isp.math && name == "thick")
+ isp.kind = InsetSpaceParams::THICK;
else if (name == "quad")
isp.kind = InsetSpaceParams::QUAD;
else if (name == "qquad")
isp.kind = InsetSpaceParams::ENSKIP;
else if (name == "negthinspace")
isp.kind = InsetSpaceParams::NEGTHIN;
+ else if (isp.math && name == "negmedspace")
+ isp.kind = InsetSpaceParams::NEGMEDIUM;
+ else if (isp.math && name == "negthickspace")
+ isp.kind = InsetSpaceParams::NEGTHICK;
else if (name == "hfill")
isp.kind = InsetSpaceParams::HFILL;
else if (name == "hfill*")
if (message.type_ == ErrorException) {
// This should never happen!
Alert::error(message.title_, message.details_);
- LyX::cref().exit(1);
+ lyx_exit(1);
} else if (message.type_ == WarningException) {
Alert::warning(message.title_, message.details_);
return 0;
switch (code) {
case BIBITEM_CODE:
- inset.reset(new InsetBibitem(inscmd));
+ inset.reset(new InsetBibitem(buf, inscmd));
break;
case BIBTEX_CODE:
- inset.reset(new InsetBibtex(inscmd));
+ inset.reset(new InsetBibtex(buf, inscmd));
break;
case CITE_CODE:
inset.reset(new InsetCitation(inscmd));
// can be translated to inset codes using insetCode(). And the insets'
// write() routines should use insetName() rather than hardcoding it.
if (tmptok == "Quotes") {
- inset.reset(new InsetQuotes);
+ inset.reset(new InsetQuotes(buf));
} else if (tmptok == "External") {
inset.reset(new InsetExternal(const_cast<Buffer &>(buf)));
} else if (tmptok == "FormulaMacro") {
} else if (tmptok == "Box") {
inset.reset(new InsetBox(buf, tmptok));
} else if (tmptok == "Flex") {
- lex.next();
+ lex.eatLine();
string s = lex.getString();
- inset.reset(new InsetFlex(buf,
- buf.params().documentClassPtr(), s));
+ inset.reset(new InsetFlex(buf, s));
} else if (tmptok == "Branch") {
- inset.reset(new InsetBranch(buf,
- InsetBranchParams()));
- } else if (tmptok == "Environment") {
- lex.next();
- inset.reset(new InsetEnvironment(buf, lex.getDocString()));
+ inset.reset(new InsetBranch(buf, InsetBranchParams()));
+ } else if (tmptok == "Phantom") {
+ inset.reset(new InsetPhantom(buf, tmptok));
} else if (tmptok == "ERT") {
inset.reset(new InsetERT(buf));
} else if (tmptok == "listings") {
inset.reset(new InsetListings(buf));
- } else if (tmptok == "Space") {
+ } else if (tmptok == "space") {
inset.reset(new InsetSpace);
} else if (tmptok == "Tabular") {
- inset.reset(new InsetTabular(buf));
+ inset.reset(new InsetTabular(const_cast<Buffer &>(buf)));
} else if (tmptok == "Text") {
inset.reset(new InsetText(buf));
} else if (tmptok == "VSpace") {
lex.next();
string tmptok = lex.getString();
inset.reset(new InsetWrap(buf, tmptok));
-#if 0
- } else if (tmptok == "Theorem") {
- inset.reset(new InsetList);
-#endif
} else if (tmptok == "Caption") {
inset.reset(new InsetCaption(buf));
} else if (tmptok == "Index") {
- inset.reset(new InsetIndex(buf));
+ inset.reset(new InsetIndex(buf, InsetIndexParams()));
} else if (tmptok == "FloatList") {
inset.reset(new InsetFloatList);
} else if (tmptok == "Info") {