Author: rgheck
Date: Tue Oct 23 17:02:15 2007
New Revision: 21149
URL: http://www.lyx.org/trac/changeset/21149
Log:
InsetInclude becomes an InsetCommand.
Modified:
lyx-devel/trunk/lib/lyx2lyx/LyX.py
lyx-devel/trunk/lib/lyx2lyx/lyx_1_6.py
lyx-devel/trunk/src/Buffer.cpp
lyx-devel/trunk/src/LyXFunc.cpp
lyx-devel/trunk/src/factory.cpp
lyx-devel/trunk/src/frontends/qt4/GuiInclude.cpp
lyx-devel/trunk/src/insets/InsetInclude.cpp
lyx-devel/trunk/src/insets/InsetInclude.h
Modified: lyx-devel/trunk/lib/lyx2lyx/LyX.py
URL: http://www.lyx.org/trac/file/lyx-devel/trunk/lib/lyx2lyx/LyX.py?rev=21149
==============================================================================
--- lyx-devel/trunk/lib/lyx2lyx/LyX.py (original)
+++ lyx-devel/trunk/lib/lyx2lyx/LyX.py Tue Oct 23 17:02:15 2007
@@ -80,7 +80,7 @@
("1_3", [221], minor_versions("1.3" , 7)),
("1_4", range(222,246), minor_versions("1.4" , 5)),
("1_5", range(246,277), minor_versions("1.5" , 2)),
- ("1_6", range(277,296), minor_versions("1.6" , 0))] # Uwe:
htmlurl, href
+ ("1_6", range(277,297), minor_versions("1.6" , 0))] # RGH:
InsetInclude
def formats_list():
Modified: lyx-devel/trunk/lib/lyx2lyx/lyx_1_6.py
URL:
http://www.lyx.org/trac/file/lyx-devel/trunk/lib/lyx2lyx/lyx_1_6.py?rev=21149
==============================================================================
--- lyx-devel/trunk/lib/lyx2lyx/lyx_1_6.py (original)
+++ lyx-devel/trunk/lib/lyx2lyx/lyx_1_6.py Tue Oct 23 17:02:15 2007
@@ -581,6 +581,73 @@
["\\begin_inset CommandInset url", "LatexCommand url"]
i = i + 2
+def convert_include(document):
+ 'Converts include insets to new format.'
+ i = 0
+ r = re.compile(r'\\begin_inset Include\s+\\([^{]+){([^}]*)}(?:\[(.*)\])?')
+ while True:
+ i = find_token(document.body, "\\begin_inset Include", i)
+ if i == -1:
+ return
+ line = document.body[i]
+ previewline = document.body[i + 1]
+ m = r.match(line)
+ if m == None:
+ document.warning("Unable to match line " + str(i) + " of body!")
+ i += 1
+ continue
+ cmd = m.group(1)
+ fn = m.group(2)
+ opt = m.group(3)
+ insertion = ["\\begin_inset CommandInset include",
+ "LatexCommand " + cmd, previewline,
+ "filename \"" + fn + "\""]
+ newlines = 2
+ if opt:
+ insertion.append("lstparams " + '"' + opt + '"')
+ newlines += 1
+ document.body[i : i + 2] = insertion
+ i += newlines
+
+def revert_include(document):
+ 'Reverts include insets to old format.'
+ i = 0
+ r1 = re.compile('LatexCommand (.+)')
+ r2 = re.compile('filename (.+)')
+ r3 = re.compile('options (.*)')
+ while True:
+ i = find_token(document.body, "\\begin_inset CommandInset include", i)
+ if i == -1:
+ return
+ previewline = document.body[i + 1]
+ m = r1.match(document.body[i + 2])
+ if m == None:
+ document.warning("Malformed LyX document: No LatexCommand line for `" +
+ document.body[i] + "' on line " + str(i) + ".")
+ i += 1
+ continue
+ cmd = m.group(1)
+ m = r2.match(document.body[i + 3])
+ if m == None:
+ document.warning("Malformed LyX document: No filename line for `" + \
+ document.body[i] + "' on line " + str(i) + ".")
+ i += 2
+ continue
+ fn = m.group(1)
+ options = ""
+ numlines = 4
+ if (cmd == "lstinputlisting"):
+ m = r3.match(document.body[i + 4])
+ if m != None:
+ options = m.group(1)
+ numlines = 5
+ newline = "\\begin_inset Include \\" + cmd + "{" + fn + "}"
+ if options:
+ newline += ("[" + options + "]")
+ insertion = [newline, previewline]
+ document.body[i : i + numlines] = insertion
+ i += 2
+
##
# Conversion hub
@@ -605,10 +672,12 @@
[292, []],
[293, []],
[294, [convert_pdf_options]],
- [295, [convert_htmlurl, convert_url]]
+ [295, [convert_htmlurl, convert_url]],
+ [296, [convert_include]]
]
-revert = [[294, [revert_href]],
+revert = [[295, [revert_include]],
+ [294, [revert_href]],
[293, [revert_pdf_options_2]],
[292, [revert_inset_info]],
[291, [revert_japanese, revert_japanese_encoding]],
Modified: lyx-devel/trunk/src/Buffer.cpp
URL: http://www.lyx.org/trac/file/lyx-devel/trunk/src/Buffer.cpp?rev=21149
==============================================================================
--- lyx-devel/trunk/src/Buffer.cpp (original)
+++ lyx-devel/trunk/src/Buffer.cpp Tue Oct 23 17:02:15 2007
@@ -156,7 +156,7 @@
namespace {
-int const LYX_FORMAT = 295; //Uwe: htmlurl, href
+int const LYX_FORMAT = 296; //RGH: InsetInclude changes
} // namespace anon
@@ -2173,7 +2173,7 @@
for (InsetIterator it = inset_iterator_begin(inset()); it; ++it) {
if (it->lyxCode() != INCLUDE_CODE)
continue;
- InsetInclude const & inset = static_cast<InsetInclude const
&>(*it);
+ InsetCommand const & inset = static_cast<InsetCommand const
&>(*it);
InsetCommandParams const & ip = inset.params();
Buffer * child = loadIfNeeded(*this, ip);
if (!child)
Modified: lyx-devel/trunk/src/LyXFunc.cpp
URL: http://www.lyx.org/trac/file/lyx-devel/trunk/src/LyXFunc.cpp?rev=21149
==============================================================================
--- lyx-devel/trunk/src/LyXFunc.cpp (original)
+++ lyx-devel/trunk/src/LyXFunc.cpp Tue Oct 23 17:02:15 2007
@@ -1434,7 +1434,7 @@
// default type is requested
data = "include";
InsetCommandParams p(INCLUDE_CODE, data);
- data = InsetIncludeMailer::params2string(p);
+ data =
InsetCommandMailer::params2string("include", p);
break;
}
case BOX_CODE: {
Modified: lyx-devel/trunk/src/factory.cpp
URL: http://www.lyx.org/trac/file/lyx-devel/trunk/src/factory.cpp?rev=21149
==============================================================================
--- lyx-devel/trunk/src/factory.cpp (original)
+++ lyx-devel/trunk/src/factory.cpp Tue Oct 23 17:02:15 2007
@@ -292,9 +292,9 @@
}
case INCLUDE_CODE: {
- InsetCommandParams iip(code);
-
InsetIncludeMailer::string2params(to_utf8(cmd.argument()), iip);
- return new InsetInclude(iip);
+ InsetCommandParams icp(code);
+ InsetCommandMailer::string2params(name,
to_utf8(cmd.argument()), icp);
+ return new InsetInclude(icp);
}
case INDEX_CODE:
@@ -434,8 +434,6 @@
case HYPERLINK_CODE:
inset.reset(new InsetHyperlink(inscmd));
break;
- // FIXME Currently non-functional, since InsetInclude
- // does not write itself as a CommandInset.
case INCLUDE_CODE:
inset.reset(new InsetInclude(inscmd));
break;
@@ -498,10 +496,6 @@
} else if (tmptok == "Branch") {
inset.reset(new InsetBranch(buf.params(),
InsetBranchParams()));
- } else if (tmptok == "Include") {
- //FIXME
- InsetCommandParams p(INCLUDE_CODE);
- inset.reset(new InsetInclude(p));
} else if (tmptok == "Environment") {
lex.next();
inset.reset(new InsetEnvironment(buf.params(),
lex.getDocString()));
Modified: lyx-devel/trunk/src/frontends/qt4/GuiInclude.cpp
URL:
http://www.lyx.org/trac/file/lyx-devel/trunk/src/frontends/qt4/GuiInclude.cpp?rev=21149
==============================================================================
--- lyx-devel/trunk/src/frontends/qt4/GuiInclude.cpp (original)
+++ lyx-devel/trunk/src/frontends/qt4/GuiInclude.cpp Tue Oct 23 17:02:15 2007
@@ -57,6 +57,10 @@
using support::prefixIs;
using support::getStringFromVector;
using support::getVectorFromString;
+
+
+/// Flags what action is taken by Kernel::dispatch()
+static std::string const lfun_name_ = "include";
GuiInclude::GuiInclude(LyXView & lv)
@@ -325,7 +329,7 @@
bool GuiInclude::initialiseParams(string const & data)
{
- InsetIncludeMailer::string2params(data, params_);
+ InsetCommandMailer::string2params(lfun_name_, data, params_);
return true;
}
@@ -338,7 +342,7 @@
void GuiInclude::dispatchParams()
{
- dispatch(FuncRequest(getLfun(),
InsetIncludeMailer::params2string(params_)));
+ dispatch(FuncRequest(getLfun(),
InsetCommandMailer::params2string(lfun_name_, params_)));
}
Modified: lyx-devel/trunk/src/insets/InsetInclude.cpp
URL:
http://www.lyx.org/trac/file/lyx-devel/trunk/src/insets/InsetInclude.cpp?rev=21149
==============================================================================
--- lyx-devel/trunk/src/insets/InsetInclude.cpp (original)
+++ lyx-devel/trunk/src/insets/InsetInclude.cpp Tue Oct 23 17:02:15 2007
@@ -93,37 +93,67 @@
}
+/// the type of inclusion
+enum Types {
+ INCLUDE = 0,
+ VERB = 1,
+ INPUT = 2,
+ VERBAST = 3,
+ LISTINGS = 4,
+};
+
+
+Types type(InsetCommandParams const & params)
+{
+ string const command_name = params.getCmdName();
+
+ if (command_name == "input")
+ return INPUT;
+ if (command_name == "verbatiminput")
+ return VERB;
+ if (command_name == "verbatiminput*")
+ return VERBAST;
+ if (command_name == "lstinputlisting")
+ return LISTINGS;
+ return INCLUDE;
+}
+
+
bool isListings(InsetCommandParams const & params)
{
- return params.getCmdName() == "lstinputlisting";
+ return type(params) == LISTINGS;
+}
+
+
+bool isVerbatim(InsetCommandParams const & params)
+{
+ Types const t = type(params);
+ return (t == VERB) || (t == VERBAST);
+}
+
+
+bool isInputOrInclude(InsetCommandParams const & params)
+{
+ Types const t = type(params);
+ return (t == INPUT) || (t == INCLUDE);
}
} // namespace anon
InsetInclude::InsetInclude(InsetCommandParams const & p)
- : params_(p), include_label(uniqueID()),
- preview_(new RenderMonitoredPreview(this)),
- set_label_(false)
+ : InsetCommand(p, "include"), include_label(uniqueID()),
+ preview_(new RenderMonitoredPreview(this)), set_label_(false)
{
preview_->fileChanged(boost::bind(&InsetInclude::fileChanged, this));
}
InsetInclude::InsetInclude(InsetInclude const & other)
- : Inset(other),
- params_(other.params_),
- include_label(other.include_label),
- preview_(new RenderMonitoredPreview(this)),
- set_label_(false)
+ : InsetCommand(other), include_label(other.include_label),
+ preview_(new RenderMonitoredPreview(this)), set_label_(false)
{
preview_->fileChanged(boost::bind(&InsetInclude::fileChanged, this));
-}
-
-
-InsetInclude::~InsetInclude()
-{
- InsetIncludeMailer(*this).hideDialog();
}
@@ -133,7 +163,7 @@
case LFUN_INSET_MODIFY: {
InsetCommandParams p(INCLUDE_CODE);
- InsetIncludeMailer::string2params(to_utf8(cmd.argument()), p);
+ InsetCommandMailer::string2params("include",
to_utf8(cmd.argument()), p);
if (!p.getCmdName().empty()) {
if (isListings(p)){
InsetListingsParams
par_old(params().getOptions());
@@ -153,86 +183,15 @@
break;
}
- case LFUN_INSET_DIALOG_UPDATE:
- InsetIncludeMailer(*this).updateDialog(&cur.bv());
+ //pass everything else up the chain
+ default:
+ InsetCommand::doDispatch(cur, cmd);
break;
-
- case LFUN_MOUSE_RELEASE:
- if (!cur.selection())
- InsetIncludeMailer(*this).showDialog(&cur.bv());
- break;
-
- default:
- Inset::doDispatch(cur, cmd);
- break;
- }
-}
-
-
-bool InsetInclude::getStatus(Cursor & cur, FuncRequest const & cmd,
- FuncStatus & flag) const
-{
- switch (cmd.action) {
-
- case LFUN_INSET_MODIFY:
- case LFUN_INSET_DIALOG_UPDATE:
- flag.enabled(true);
- return true;
-
- default:
- return Inset::getStatus(cur, cmd, flag);
- }
-}
-
-
-InsetCommandParams const & InsetInclude::params() const
-{
- return params_;
+ }
}
namespace {
-
-/// the type of inclusion
-enum Types {
- INCLUDE = 0,
- VERB = 1,
- INPUT = 2,
- VERBAST = 3,
- LISTINGS = 4,
-};
-
-
-Types type(InsetCommandParams const & params)
-{
- string const command_name = params.getCmdName();
-
- if (command_name == "input")
- return INPUT;
- if (command_name == "verbatiminput")
- return VERB;
- if (command_name == "verbatiminput*")
- return VERBAST;
- if (command_name == "lstinputlisting")
- return LISTINGS;
- return INCLUDE;
-}
-
-
-bool isVerbatim(InsetCommandParams const & params)
-{
- string const command_name = params.getCmdName();
- return command_name == "verbatiminput" ||
- command_name == "verbatiminput*";
-}
-
-
-bool isInputOrInclude(InsetCommandParams const & params)
-{
- Types const t = type(params);
- return (t == INPUT) || (t == INCLUDE);
-}
-
string const masterFilename(Buffer const & buffer)
{
@@ -250,7 +209,7 @@
InsetCommandParams const & params)
{
return makeAbsPath(to_utf8(params["filename"]),
- onlyPath(parentFilename(buffer)));
+ onlyPath(parentFilename(buffer)));
}
@@ -261,13 +220,13 @@
void InsetInclude::set(InsetCommandParams const & p, Buffer const & buffer)
{
- params_ = p;
+ setParams(p);
set_label_ = false;
if (preview_->monitoring())
preview_->stopMonitoring();
- if (type(params_) == INPUT)
+ if (type(params()) == INPUT)
add_preview(*preview_, *this, buffer);
}
@@ -278,56 +237,11 @@
}
-void InsetInclude::write(Buffer const &, ostream & os) const
-{
- write(os);
-}
-
-
-void InsetInclude::write(ostream & os) const
-{
- os << "Include " << to_utf8(params_.getCommand()) << '\n'
- << "preview " << convert<string>(params_.preview()) << '\n';
-}
-
-
-void InsetInclude::read(Buffer const &, Lexer & lex)
-{
- read(lex);
-}
-
-
-void InsetInclude::read(Lexer & lex)
-{
- if (lex.isOK()) {
- lex.eatLine();
- string const command = lex.getString();
- params_.scanCommand(command);
- }
- string token;
- while (lex.isOK()) {
- lex.next();
- token = lex.getString();
- if (token == "\\end_inset")
- break;
- if (token == "preview") {
- lex.next();
- params_.preview(lex.getBool());
- } else
- lex.printError("Unknown parameter name `$$Token' for command
" + params_.getCmdName());
- }
- if (token != "\\end_inset") {
- lex.printError("Missing \\end_inset at this point. "
- "Read: `$$Token'");
- }
-}
-
-
docstring const InsetInclude::getScreenLabel(Buffer const & buf) const
{
docstring temp;
- switch (type(params_)) {
+ switch (type(params())) {
case INPUT:
temp = buf.B_("Input");
break;
@@ -347,10 +261,10 @@
temp += ": ";
- if (params_["filename"].empty())
+ if (params()["filename"].empty())
temp += "???";
else
- temp += from_utf8(onlyFilename(to_utf8(params_["filename"])));
+ temp += from_utf8(onlyFilename(to_utf8(params()["filename"])));
return temp;
}
@@ -414,19 +328,19 @@
int InsetInclude::latex(Buffer const & buffer, odocstream & os,
OutputParams const & runparams) const
{
- string incfile(to_utf8(params_["filename"]));
+ string incfile(to_utf8(params()["filename"]));
// Do nothing if no file name has been specified
if (incfile.empty())
return 0;
- FileName const included_file = includedFilename(buffer, params_);
+ FileName const included_file = includedFilename(buffer, params());
//Check we're not trying to include ourselves.
//FIXME RECURSIVE INCLUDE
//This isn't sufficient, as the inclusion could be downstream.
//But it'll have to do for now.
- if (isInputOrInclude(params_) &&
+ if (isInputOrInclude(params()) &&
buffer.absFileName() == included_file.absFilename())
{
Alert::error(_("Recursive input"),
@@ -467,11 +381,11 @@
if (runparams.inComment || runparams.dryrun) {
//Don't try to load or copy the file if we're
//in a comment or doing a dryrun
- } else if (isInputOrInclude(params_) &&
+ } else if (isInputOrInclude(params()) &&
isLyXFilename(included_file.absFilename())) {
//if it's a LyX file and we're inputting or including,
//try to load it so we can write the associated latex
- if (!loadIfNeeded(buffer, params_))
+ if (!loadIfNeeded(buffer, params()))
return false;
Buffer * tmp = theBufferList().getBuffer(included_file.absFilename());
@@ -545,12 +459,12 @@
string const tex_format = (runparams.flavor == OutputParams::LATEX) ?
"latex" : "pdflatex";
- if (isVerbatim(params_)) {
+ if (isVerbatim(params())) {
incfile = latex_path(incfile);
// FIXME UNICODE
- os << '\\' << from_ascii(params_.getCmdName()) << '{'
+ os << '\\' << from_ascii(params().getCmdName()) << '{'
<< from_utf8(incfile) << '}';
- } else if (type(params_) == INPUT) {
+ } else if (type(params()) == INPUT) {
runparams.exportdata->addExternalFile(tex_format, writefile,
exportfile);
@@ -558,18 +472,18 @@
if (!isLyXFilename(included_file.absFilename())) {
incfile = latex_path(incfile);
// FIXME UNICODE
- os << '\\' << from_ascii(params_.getCmdName())
+ os << '\\' << from_ascii(params().getCmdName())
<< '{' << from_utf8(incfile) << '}';
} else {
incfile = changeExtension(incfile, ".tex");
incfile = latex_path(incfile);
// FIXME UNICODE
- os << '\\' << from_ascii(params_.getCmdName())
+ os << '\\' << from_ascii(params().getCmdName())
<< '{' << from_utf8(incfile) << '}';
}
- } else if (type(params_) == LISTINGS) {
- os << '\\' << from_ascii(params_.getCmdName());
- string opt = params_.getOptions();
+ } else if (type(params()) == LISTINGS) {
+ os << '\\' << from_ascii(params().getCmdName());
+ string opt = params().getOptions();
// opt is set in QInclude dialog and should have passed
validation.
InsetListingsParams params(opt);
if (!params.params().empty())
@@ -584,7 +498,7 @@
incfile = changeExtension(incfile, string());
incfile = latex_path(incfile);
// FIXME UNICODE
- os << '\\' << from_ascii(params_.getCmdName()) << '{'
+ os << '\\' << from_ascii(params().getCmdName()) << '{'
<< from_utf8(incfile) << '}';
}
@@ -595,11 +509,11 @@
int InsetInclude::plaintext(Buffer const & buffer, odocstream & os,
OutputParams const &) const
{
- if (isVerbatim(params_) || isListings(params_)) {
+ if (isVerbatim(params()) || isListings(params())) {
os << '[' << getScreenLabel(buffer) << '\n';
// FIXME: We don't know the encoding of the file
docstring const str =
- from_utf8(includedFilename(buffer,
params_).fileContents());
+ from_utf8(includedFilename(buffer,
params()).fileContents());
os << str;
os << "\n]";
return PLAINTEXT_NEWLINE + 1; // one char on a separate line
@@ -614,13 +528,13 @@
int InsetInclude::docbook(Buffer const & buffer, odocstream & os,
OutputParams const & runparams) const
{
- string incfile = to_utf8(params_["filename"]);
+ string incfile = to_utf8(params()["filename"]);
// Do nothing if no file name has been specified
if (incfile.empty())
return 0;
- string const included_file = includedFilename(buffer, params_).absFilename();
+ string const included_file = includedFilename(buffer,
params()).absFilename();
//Check we're not trying to include ourselves.
//FIXME RECURSIVE INCLUDE
@@ -637,7 +551,7 @@
string const exportfile = changeExtension(incfile, ".sgml");
DocFileName writefile(changeExtension(included_file, ".sgml"));
- if (loadIfNeeded(buffer, params_)) {
+ if (loadIfNeeded(buffer, params())) {
Buffer * tmp = theBufferList().getBuffer(included_file);
string const mangled = writefile.mangledFilename();
@@ -658,7 +572,7 @@
runparams.exportdata->addExternalFile("docbook-xml", writefile,
exportfile);
- if (isVerbatim(params_) || isListings(params_)) {
+ if (isVerbatim(params()) || isListings(params())) {
os << "<inlinegraphic fileref=\""
<< '&' << include_label << ';'
<< "\" format=\"linespecific\">";
@@ -671,19 +585,19 @@
void InsetInclude::validate(LaTeXFeatures & features) const
{
- string incfile(to_utf8(params_["filename"]));
+ string incfile(to_utf8(params()["filename"]));
string writefile;
Buffer const & buffer = features.buffer();
- string const included_file = includedFilename(buffer, params_).absFilename();
+ string const included_file = includedFilename(buffer,
params()).absFilename();
if (isLyXFilename(included_file))
writefile = changeExtension(included_file, ".sgml");
else
writefile = included_file;
- if (!features.runparams().nice && !isVerbatim(params_) && !isListings(params_)) {
+ if (!features.runparams().nice && !isVerbatim(params()) &&
!isListings(params())) {
incfile = DocFileName(writefile).mangledFilename();
writefile = makeAbsPath(incfile,
buffer.masterBuffer()->temppath()).absFilename();
@@ -691,15 +605,15 @@
features.includeFile(include_label, writefile);
- if (isVerbatim(params_))
+ if (isVerbatim(params()))
features.require("verbatim");
- else if (isListings(params_))
+ else if (isListings(params()))
features.require("listings");
// Here we must do the fun stuff...
// Load the file in the include if it needs
// to be loaded:
- if (loadIfNeeded(buffer, params_)) {
+ if (loadIfNeeded(buffer, params())) {
// a file got loaded
Buffer * const tmp = theBufferList().getBuffer(included_file);
// make sure the buffer isn't us
@@ -721,14 +635,14 @@
void InsetInclude::getLabelList(Buffer const & buffer,
std::vector<docstring> & list) const
{
- if (isListings(params_)) {
- InsetListingsParams params(params_.getOptions());
- string label = params.getParamValue("label");
+ if (isListings(params())) {
+ InsetListingsParams p(params().getOptions());
+ string label = p.getParamValue("label");
if (!label.empty())
list.push_back(from_utf8(label));
}
- else if (loadIfNeeded(buffer, params_)) {
- string const included_file = includedFilename(buffer,
params_).absFilename();
+ else if (loadIfNeeded(buffer, params())) {
+ string const included_file = includedFilename(buffer,
params()).absFilename();
Buffer * tmp = theBufferList().getBuffer(included_file);
tmp->setParentName("");
tmp->getLabelList(list);
@@ -740,8 +654,8 @@
void InsetInclude::fillWithBibKeys(Buffer const & buffer,
BiblioInfo & keys, InsetIterator const & /*di*/) const
{
- if (loadIfNeeded(buffer, params_)) {
- string const included_file = includedFilename(buffer,
params_).absFilename();
+ if (loadIfNeeded(buffer, params())) {
+ string const included_file = includedFilename(buffer,
params()).absFilename();
Buffer * tmp = theBufferList().getBuffer(included_file);
//FIXME This is kind of a dirty hack and should be made
reasonable.
tmp->setParentName("");
@@ -753,7 +667,7 @@
void InsetInclude::updateBibfilesCache(Buffer const & buffer)
{
- Buffer * const tmp = getChildBuffer(buffer, params_);
+ Buffer * const tmp = getChildBuffer(buffer, params());
if (tmp) {
tmp->setParentName("");
tmp->updateBibfilesCache();
@@ -765,7 +679,7 @@
std::vector<FileName> const &
InsetInclude::getBibfilesCache(Buffer const & buffer) const
{
- Buffer * const tmp = getChildBuffer(buffer, params_);
+ Buffer * const tmp = getChildBuffer(buffer, params());
if (tmp) {
tmp->setParentName("");
std::vector<FileName> const & cache = tmp->getBibfilesCache();
@@ -824,7 +738,7 @@
Inset::DisplayType InsetInclude::display() const
{
- return type(params_) == INPUT ? Inline : AlignCenter;
+ return type(params()) == INPUT ? Inline : AlignCenter;
}
@@ -899,9 +813,9 @@
void InsetInclude::addToToc(TocList & toclist, Buffer const & buffer,
ParConstIterator const & pit) const
{
- if (isListings(params_)) {
- InsetListingsParams params(params_.getOptions());
- string caption = params.getParamValue("caption");
+ if (isListings(params())) {
+ InsetListingsParams p(params().getOptions());
+ string caption = p.getParamValue("caption");
if (caption.empty())
return;
Toc & toc = toclist["listing"];
@@ -912,7 +826,7 @@
toc.push_back(TocItem(pit, 0, str));
return;
}
- Buffer const * const childbuffer = getChildBuffer(buffer, params_);
+ Buffer const * const childbuffer = getChildBuffer(buffer, params());
if (!childbuffer)
return;
@@ -927,11 +841,11 @@
void InsetInclude::updateLabels(Buffer const & buffer, ParIterator const &)
{
- Buffer const * const childbuffer = getChildBuffer(buffer, params_);
+ Buffer const * const childbuffer = getChildBuffer(buffer, params());
if (childbuffer)
lyx::updateLabels(*childbuffer, true);
- else if (isListings(params_)) {
- InsetListingsParams const par = params_.getOptions();
+ else if (isListings(params())) {
+ InsetListingsParams const par = params().getOptions();
if (par.getParamValue("caption").empty())
listings_label_.clear();
else {
@@ -952,65 +866,9 @@
EmbeddedFiles & files) const
{
// include and input are temprarily not considered.
- if (isVerbatim(params_) || isListings(params_))
- files.registerFile(includedFilename(buffer,
params_).absFilename(),
+ if (isVerbatim(params()) || isListings(params()))
+ files.registerFile(includedFilename(buffer,
params()).absFilename(),
false, this);
}
-
-string const InsetIncludeMailer::name_("include");
-
-
-InsetIncludeMailer::InsetIncludeMailer(InsetInclude & inset)
- : inset_(inset)
-{}
-
-
-string const InsetIncludeMailer::inset2string(Buffer const &) const
-{
- return params2string(inset_.params());
-}
-
-
-void InsetIncludeMailer::string2params(string const & in,
- InsetCommandParams & params)
-{
- params.clear();
- if (in.empty())
- return;
-
- istringstream data(in);
- Lexer lex(0,0);
- lex.setStream(data);
-
- string name;
- lex >> name;
- if (!lex || name != name_)
- return print_mailer_error("InsetIncludeMailer", in, 1, name_);
-
- // This is part of the inset proper that is usually swallowed
- // by Text::readInset
- string id;
- lex >> id;
- if (!lex || id != "Include")
- return print_mailer_error("InsetIncludeMailer", in, 2,
"Include");
-
- InsetInclude inset(params);
- inset.read(lex);
- params = inset.params();
-}
-
-
-string const
-InsetIncludeMailer::params2string(InsetCommandParams const & params)
-{
- InsetInclude inset(params);
- ostringstream data;
- data << name_ << ' ';
- inset.write(data);
- data << "\\end_inset\n";
- return data.str();
-}
-
-
} // namespace lyx
Modified: lyx-devel/trunk/src/insets/InsetInclude.h
URL:
http://www.lyx.org/trac/file/lyx-devel/trunk/src/insets/InsetInclude.h?rev=21149
==============================================================================
--- lyx-devel/trunk/src/insets/InsetInclude.h (original)
+++ lyx-devel/trunk/src/insets/InsetInclude.h Tue Oct 23 17:02:15 2007
@@ -13,7 +13,7 @@
#define INSET_INCLUDE_H
#include "BiblioInfo.h"
-#include "Inset.h"
+#include "InsetCommand.h"
#include "InsetCommandParams.h"
#include "RenderButton.h"
#include "MailInset.h"
@@ -33,11 +33,10 @@
/// for including tex/lyx files
-class InsetInclude : public Inset {
+class InsetInclude : public InsetCommand {
public:
///
InsetInclude(InsetCommandParams const &);
- ~InsetInclude();
/// Override these InsetButton methods if Previewing
void metrics(MetricsInfo & mi, Dimension & dim) const;
@@ -45,10 +44,6 @@
void draw(PainterInfo & pi, int x, int y) const;
///
virtual DisplayType display() const;
-
- /// get the parameters
- InsetCommandParams const & params() const;
-
///
InsetCode lyxCode() const { return INCLUDE_CODE; }
/** Fills \c list
@@ -78,13 +73,9 @@
* \param buffer the Buffer containing this inset.
*/
std::vector<support::FileName> const &
- getBibfilesCache(Buffer const & buffer) const;
+ getBibfilesCache(Buffer const & buffer) const;
///
EDITABLE editable() const { return IS_EDITABLE; }
- ///
- void write(Buffer const &, std::ostream &) const;
- ///
- void read(Buffer const &, Lexer &);
///
int latex(Buffer const &, odocstream &,
OutputParams const &) const;
@@ -101,8 +92,6 @@
///
void addToToc(TocList &, Buffer const &, ParConstIterator const &)
const;
///
- bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
- ///
void updateLabels(Buffer const & buffer, ParIterator const &);
/// child document can be embedded
void registerEmbeddedFiles(Buffer const &, EmbeddedFiles &) const;
@@ -118,19 +107,10 @@
*/
void fileChanged() const;
- friend class InsetIncludeMailer;
-
/// set the parameters
void set(InsetCommandParams const & params, Buffer const &);
/// get the text displayed on the button
docstring const getScreenLabel(Buffer const &) const;
- ///
- void write(std::ostream &) const;
- ///
- void read(Lexer &);
-
- /// the parameters
- InsetCommandParams params_;
/// holds the entity name that defines the file location (SGML)
docstring const include_label;
@@ -144,27 +124,6 @@
};
-class InsetIncludeMailer : public MailInset {
-public:
- ///
- InsetIncludeMailer(InsetInclude & inset);
- ///
- virtual Inset & inset() const { return inset_; }
- ///
- virtual std::string const & name() const { return name_; }
- ///
- virtual std::string const inset2string(Buffer const &) const;
- ///
- static void string2params(std::string const &, InsetCommandParams &);
- ///
- static std::string const params2string(InsetCommandParams const &);
-private:
- ///
- static std::string const name_;
- ///
- InsetInclude & inset_;
-};
-
/// return loaded Buffer or zero if the file loading did not proceed.
Buffer * loadIfNeeded(Buffer const & parent, InsetCommandParams const &
params);
_______________________________________________
Cvslog mailing list
[EMAIL PROTECTED]
http://www.lyx.org/mailman/listinfo/cvslog