On Tue, Oct 23, 2007 at 02:22:33AM -0000, [EMAIL PROTECTED] wrote: > Modified: lyx-devel/branches/personal/rgheck/icp/src/frontends/qt4/GuiRef.h > URL: > http://www.lyx.org/trac/file/lyx-devel/branches/personal/rgheck/icp/src/frontends/qt4/GuiRef.h?rev=21139 > ============================================================================== > --- lyx-devel/branches/personal/rgheck/icp/src/frontends/qt4/GuiRef.h > (original) > +++ lyx-devel/branches/personal/rgheck/icp/src/frontends/qt4/GuiRef.h Tue Oct > 23 04:22:29 2007 > @@ -24,6 +24,9 @@ > namespace lyx { > namespace frontend { > > +//FIXME This could, and therefore, should inherit from > +//GuiCommand. Note, e.g., that the definitions of the first > +//three private functions all just replicate what's there.
Spaces after // > class GuiRef : public GuiDialog, public Ui::RefUi > { > Q_OBJECT > > Modified: lyx-devel/branches/personal/rgheck/icp/src/insets/InsetCommand.cpp > URL: > http://www.lyx.org/trac/file/lyx-devel/branches/personal/rgheck/icp/src/insets/InsetCommand.cpp?rev=21139 > ============================================================================== > --- lyx-devel/branches/personal/rgheck/icp/src/insets/InsetCommand.cpp > (original) > +++ lyx-devel/branches/personal/rgheck/icp/src/insets/InsetCommand.cpp Tue > Oct 23 04:22:29 2007 > @@ -32,6 +32,8 @@ > using std::ostringstream; > > > +//FIXME Would it now be possible to use the InsetCode in > +//place of the mailer name and recover that information? Same > InsetCommand::InsetCommand(InsetCommandParams const & p, > string const & mailer_name) > : p_(p), > > Modified: lyx-devel/branches/personal/rgheck/icp/src/insets/InsetCommand.h > URL: > http://www.lyx.org/trac/file/lyx-devel/branches/personal/rgheck/icp/src/insets/InsetCommand.h?rev=21139 > ============================================================================== > --- lyx-devel/branches/personal/rgheck/icp/src/insets/InsetCommand.h > (original) > +++ lyx-devel/branches/personal/rgheck/icp/src/insets/InsetCommand.h Tue Oct > 23 04:22:29 2007 > @@ -24,10 +24,7 @@ > > > // Created by Alejandro 970222 > -/** Used to insert a LaTeX command automatically > - * > - * Similar to InsetLaTeX but having control of the basic structure of a > - * LaTeX command: \name[options]{contents}. > +/** Used to insert a LaTeX command automatically. > */ > > /// > @@ -57,7 +54,6 @@ > int docbook(Buffer const &, odocstream &, OutputParams const & > runparams) const; > /// > InsetCode lyxCode() const { return NO_CODE; } > - > /// > InsetCommandParams const & params() const { return p_; } > /// FIXME remove > > Modified: > lyx-devel/branches/personal/rgheck/icp/src/insets/InsetCommandParams.cpp > URL: > http://www.lyx.org/trac/file/lyx-devel/branches/personal/rgheck/icp/src/insets/InsetCommandParams.cpp?rev=21139 > ============================================================================== > --- lyx-devel/branches/personal/rgheck/icp/src/insets/InsetCommandParams.cpp > (original) > +++ lyx-devel/branches/personal/rgheck/icp/src/insets/InsetCommandParams.cpp > Tue Oct 23 04:22:29 2007 > @@ -341,7 +341,6 @@ > token = lex.getString(); > if (token == "\\end_inset") > break; > - // FIXME Why is preview_ read but not written? > if (token == "preview") { > lex.next(); > preview_ = lex.getBool(); > @@ -372,6 +371,8 @@ > { > os << "CommandInset " << insetType() << '\n'; > os << "LatexCommand " << cmdName_ << '\n'; > + if (preview_) > + os << "preview true\n"; > for (size_t i = 0; i < info_->n; ++i) > if (!params_[i].empty()) > // FIXME UNICODE > > Modified: lyx-devel/branches/personal/rgheck/icp/src/insets/InsetInclude.cpp > URL: > http://www.lyx.org/trac/file/lyx-devel/branches/personal/rgheck/icp/src/insets/InsetInclude.cpp?rev=21139 > ============================================================================== > --- lyx-devel/branches/personal/rgheck/icp/src/insets/InsetInclude.cpp > (original) > +++ lyx-devel/branches/personal/rgheck/icp/src/insets/InsetInclude.cpp Tue > Oct 23 04:22:29 2007 > @@ -93,37 +93,67 @@ > } > > > +/// the type of inclusion > +enum Types { > + INCLUDE = 0, > + VERB = 1, > + INPUT = 2, > + VERBAST = 3, > + LISTINGS = 4, > +}; There's a tab in the line with 'INCLUDE' and spaces for the rest. > + > + > +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); No need for parantheses. > +} > + > + > +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 incfile = to_utf8(params()["filename"]); Andre'