X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetCommandParams.cpp;h=94b9a2c8a2e7897be9fce2d393e36be3ea1db3b0;hb=8124e6c02ea1fd6779bb6c47ffe2bca2c8bd2d97;hp=2ee1934e066312b5c4060193f78c30a5b4152c7b;hpb=10272e474790d25ae9b5f3d272423959422ddfbd;p=lyx.git diff --git a/src/insets/InsetCommandParams.cpp b/src/insets/InsetCommandParams.cpp index 2ee1934e06..94b9a2c8a2 100644 --- a/src/insets/InsetCommandParams.cpp +++ b/src/insets/InsetCommandParams.cpp @@ -5,7 +5,7 @@ * * \author Angus Leeming * \author Georg Baum - * \author Richard Heck + * \author Richard Kimberly Heck * * Full author contact details are available in file CREDITS. */ @@ -31,7 +31,6 @@ #include "Buffer.h" #include "Encoding.h" #include "Lexer.h" -#include "OutputParams.h" #include "frontends/alert.h" @@ -323,7 +322,7 @@ void InsetCommandParams::Read(Lexer & lex, Buffer const * buffer) preview_ = lex.getBool(); continue; } - if (info_.hasParam(token)) { + if (hasParam(token)) { lex.next(true); docstring data = lex.getDocString(); if (buffer && token == "filename") { @@ -554,9 +553,11 @@ docstring InsetCommandParams::prepareCommand(OutputParams const & runparams, } -docstring InsetCommandParams::getCommand(OutputParams const & runparams) const +docstring InsetCommandParams::getCommand(OutputParams const & runparams, bool starred) const { docstring s = '\\' + from_ascii(cmdName_); + if (starred) + s += from_utf8("*"); bool noparam = true; ParamInfo::const_iterator it = info_.begin(); ParamInfo::const_iterator end = info_.end(); @@ -605,10 +606,24 @@ docstring InsetCommandParams::getFirstNonOptParam() const } +bool InsetCommandParams::hasParam(std::string const & name) const +{ + return info_.hasParam(name); +} + + +docstring const & InsetCommandParams::getParamOr(std::string const & name, docstring const & defaultValue) const +{ + if (hasParam(name)) + return (*this)[name]; + return defaultValue; +} + + docstring const & InsetCommandParams::operator[](string const & name) const { static const docstring dummy; - LASSERT(info_.hasParam(name), return dummy); + LASSERT(hasParam(name), return dummy); ParamMap::const_iterator data = params_.find(name); if (data == params_.end() || data->second.empty()) return dummy; @@ -621,7 +636,7 @@ docstring const & InsetCommandParams::operator[](string const & name) const docstring & InsetCommandParams::operator[](string const & name) { - LATTEST(info_.hasParam(name)); + LATTEST(hasParam(name)); // this will add the name in release mode ParamInfo::ParamData const & param = info_[name]; if (param.ignore())