namespace Alert = frontend::Alert;
-Inset * createInsetHelper(Buffer & buf, FuncRequest const & cmd)
+Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd)
{
- BufferParams const & params = buf.params();
+ BufferParams const & params = buf->params();
try {
case LFUN_FLOAT_INSERT: {
// check if the float type exists
string const argument = to_utf8(cmd.argument());
- if (buf.params().documentClass().floats().typeExist(argument))
+ if (params.documentClass().floats().typeExist(argument))
return new InsetFloat(buf, argument);
lyxerr << "Non-existent float type: " << argument << endl;
}
case LFUN_NOMENCL_INSERT: {
InsetCommandParams icp(NOMENCL_CODE);
icp["symbol"] = cmd.argument();
- return new InsetNomencl(icp);
+ return new InsetNomencl(buf, icp);
}
case LFUN_TABULAR_INSERT: {
case LFUN_INDEX_PRINT: {
InsetCommandParams icp(INDEX_PRINT_CODE);
icp["type"] = cmd.argument();
- return new InsetPrintIndex(icp);
+ return new InsetPrintIndex(buf, icp);
}
case LFUN_NOMENCL_PRINT: {
InsetCommandParams icp(NOMENCL_PRINT_CODE);
icp["set_width"] = from_ascii("auto");
- return new InsetPrintNomencl(icp);
+ return new InsetPrintNomencl(buf, icp);
}
case LFUN_TOC_INSERT:
- return new InsetTOC(InsetCommandParams(TOC_CODE));
+ return new InsetTOC(buf, InsetCommandParams(TOC_CODE));
case LFUN_INFO_INSERT: {
InsetInfo * inset = new InsetInfo(buf, to_utf8(cmd.argument()));
case CITE_CODE: {
InsetCommandParams icp(code);
InsetCommand::string2params(name, to_utf8(cmd.argument()), icp);
- return new InsetCitation(icp);
+ return new InsetCitation(buf, icp);
}
case ERT_CODE: {
case EXTERNAL_CODE: {
InsetExternalParams iep;
- InsetExternal::string2params(to_utf8(cmd.argument()), buf, iep);
+ InsetExternal::string2params(to_utf8(cmd.argument()), *buf, iep);
auto_ptr<InsetExternal> inset(new InsetExternal(buf));
- inset->setBuffer(buf);
+ inset->setBuffer(*buf);
inset->setParams(iep);
return inset.release();
}
case GRAPHICS_CODE: {
InsetGraphicsParams igp;
- InsetGraphics::string2params(to_utf8(cmd.argument()), buf, igp);
+ InsetGraphics::string2params(to_utf8(cmd.argument()), *buf, igp);
auto_ptr<InsetGraphics> inset(new InsetGraphics(buf));
inset->setParams(igp);
return inset.release();
case HYPERLINK_CODE: {
InsetCommandParams icp(code);
InsetCommand::string2params(name, to_utf8(cmd.argument()), icp);
- return new InsetHyperlink(icp);
+ return new InsetHyperlink(buf, icp);
}
case INCLUDE_CODE: {
InsetCommandParams icp(code);
InsetCommand::string2params(name, to_utf8(cmd.argument()), icp);
- return new InsetInclude(icp);
+ return new InsetInclude(buf, icp);
}
case INDEX_CODE: {
case INDEX_PRINT_CODE: {
InsetCommandParams icp(code);
InsetCommand::string2params(name, to_utf8(cmd.argument()), icp);
- return new InsetPrintIndex(icp);
+ return new InsetPrintIndex(buf, icp);
}
case NOMENCL_CODE: {
InsetCommandParams icp(code);
InsetCommand::string2params(name, to_utf8(cmd.argument()), icp);
- return new InsetNomencl(icp);
+ return new InsetNomencl(buf, icp);
}
case LABEL_CODE: {
InsetCommandParams icp(code);
InsetCommand::string2params(name, to_utf8(cmd.argument()), icp);
- return new InsetLabel(icp);
+ return new InsetLabel(buf, icp);
}
case REF_CODE: {
case TOC_CODE: {
InsetCommandParams icp(code);
InsetCommand::string2params(name, to_utf8(cmd.argument()), icp);
- return new InsetTOC(icp);
+ return new InsetTOC(buf, icp);
}
case VSPACE_CODE: {
}
-Inset * createInset(Buffer & buf, FuncRequest const & cmd)
+Inset * createInset(Buffer * buf, FuncRequest const & cmd)
{
Inset * inset = createInsetHelper(buf, cmd);
if (inset)
- inset->setBuffer(buf);
+ inset->setBuffer(*buf);
return inset;
}
-Inset * readInset(Lexer & lex, Buffer const & buf)
+Inset * readInset(Lexer & lex, Buffer * buf)
{
// consistency check
if (lex.getString() != "\\begin_inset")
inset.reset(new InsetBibtex(buf, inscmd));
break;
case CITE_CODE:
- inset.reset(new InsetCitation(inscmd));
+ inset.reset(new InsetCitation(buf, inscmd));
break;
case HYPERLINK_CODE:
- inset.reset(new InsetHyperlink(inscmd));
+ inset.reset(new InsetHyperlink(buf, inscmd));
break;
case INCLUDE_CODE:
- inset.reset(new InsetInclude(inscmd));
+ inset.reset(new InsetInclude(buf, inscmd));
break;
case INDEX_PRINT_CODE:
- inset.reset(new InsetPrintIndex(inscmd));
+ inset.reset(new InsetPrintIndex(buf, inscmd));
break;
case LABEL_CODE:
- inset.reset(new InsetLabel(inscmd));
+ inset.reset(new InsetLabel(buf, inscmd));
break;
case NOMENCL_CODE:
- inset.reset(new InsetNomencl(inscmd));
+ inset.reset(new InsetNomencl(buf, inscmd));
break;
case NOMENCL_PRINT_CODE:
- inset.reset(new InsetPrintNomencl(inscmd));
+ inset.reset(new InsetPrintNomencl(buf, inscmd));
break;
case REF_CODE:
if (inscmd["name"].empty() && inscmd["reference"].empty())
inset.reset(new InsetRef(buf, inscmd));
break;
case TOC_CODE:
- inset.reset(new InsetTOC(inscmd));
+ inset.reset(new InsetTOC(buf, inscmd));
break;
case NO_CODE:
default:
lex.next();
return 0;
}
- inset->setBuffer(const_cast<Buffer &>(buf));
+ inset->setBuffer(*buf);
} else {
// FIXME This branch should be made to use inset codes as the preceding
// branch does. Unfortunately, that will take some doing. It requires
if (tmptok == "Quotes") {
inset.reset(new InsetQuotes(buf));
} else if (tmptok == "External") {
- inset.reset(new InsetExternal(const_cast<Buffer &>(buf)));
+ inset.reset(new InsetExternal(buf));
} else if (tmptok == "FormulaMacro") {
- inset.reset(new MathMacroTemplate(&const_cast<Buffer &>(buf)));
+ inset.reset(new MathMacroTemplate(buf));
} else if (tmptok == "Formula") {
- inset.reset(new InsetMathHull(&const_cast<Buffer &>(buf)));
+ inset.reset(new InsetMathHull(buf));
} else if (tmptok == "Graphics") {
- inset.reset(new InsetGraphics(const_cast<Buffer &>(buf)));
+ inset.reset(new InsetGraphics(buf));
} else if (tmptok == "Note") {
inset.reset(new InsetNote(buf, tmptok));
} else if (tmptok == "Box") {
} else if (tmptok == "space") {
inset.reset(new InsetSpace);
} else if (tmptok == "Tabular") {
- inset.reset(new InsetTabular(const_cast<Buffer &>(buf)));
+ inset.reset(new InsetTabular(buf));
} else if (tmptok == "Text") {
inset.reset(new InsetText(buf));
} else if (tmptok == "VSpace") {
} else if (tmptok == "Index") {
inset.reset(new InsetIndex(buf, InsetIndexParams()));
} else if (tmptok == "FloatList") {
- inset.reset(new InsetFloatList);
+ inset.reset(new InsetFloatList(buf));
} else if (tmptok == "Info") {
inset.reset(new InsetInfo(buf));
} else {
// Set the buffer reference for proper parsing of some insets
// (InsetCollapsable for example)
- inset->setBuffer(const_cast<Buffer &>(buf));
+ inset->setBuffer(*buf);
inset->read(lex);
// Set again the buffer for insets that are created inside this inset
// (InsetMathHull for example).
- inset->setBuffer(const_cast<Buffer &>(buf));
+ inset->setBuffer(*buf);
}
return inset.release();
}