X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetListingsParams.h;h=dc76ed40ad1db4cd34b24582b50c1aa7bf6a37b7;hb=d8a6b5bfd0baa02a4ba03f8c9e9c618baf41b03f;hp=797cf44d74424363ccf308b211efa35e6e3c874a;hpb=b78c1db2906cec8ebb3bcacd3850a4ce50d57993;p=lyx.git diff --git a/src/insets/InsetListingsParams.h b/src/insets/InsetListingsParams.h index 797cf44d74..dc76ed40ad 100644 --- a/src/insets/InsetListingsParams.h +++ b/src/insets/InsetListingsParams.h @@ -12,7 +12,7 @@ #ifndef INSETLISTINGSPARAMS_H #define INSETLISTINGSPARAMS_H -#include +#include #include #include "Lexer.h" #include "InsetCollapsable.h" @@ -35,14 +35,14 @@ public: void read(Lexer &); /// valid parameter string - std::string params() const { return params_; } - + std::string params(std::string const & sep=",") const; + /// add key=value to params_ void addParam(std::string const & key, std::string const & value); /// add a few parameters void addParams(std::string const & par); - + /// set params_ with par, throw an exception if par is valid void setParams(std::string const & par); @@ -57,7 +57,7 @@ public: /// get parameter from encoded string void fromEncodedString(std::string const & par); - /// + /// bool isInline() const { return inline_; } /// @@ -74,39 +74,22 @@ public: /// void clear() { params_.clear(); } + + /// validate parameter, return an error message + docstring validate() const; private: /// inline or normal listings bool inline_; - /// listing parameters, this will always be a *valid* string - /// that can be passed to listing packages. - std::string params_; - - /// keys defined in params_ - std::vector keys_; + /// key-value pairs of the parameters + std::map params_; /// collapsable status InsetCollapsable::CollapseStatus status_; }; -class invalidParam : public std::exception { -public: - invalidParam(docstring const & details) - : details_(to_utf8(details)) - {} - - virtual const char * what() const throw() { - return details_.c_str(); - } - - virtual ~invalidParam() throw() {} -private: - std::string const details_; -}; - - } // namespace lyx #endif