]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetListingsParams.h
Links between citations and bibliography entries were broken in XHTML
[lyx.git] / src / insets / InsetListingsParams.h
index 6341bb994e35071a84a3125c52dfac70444415a9..6c2d3f20d63b3f329128af5a14125e6093035980 100644 (file)
 #ifndef INSETLISTINGSPARAMS_H
 #define INSETLISTINGSPARAMS_H
 
-#include <map>
-#include <exception>
-#include "Lexer.h"
 #include "InsetCollapsable.h"
 
+#include <map>
+
 namespace lyx {
 
 class InsetListingsParams {
@@ -35,12 +34,12 @@ public:
        void read(Lexer &);
 
        /// valid parameter string
-       /// \param valid_key whether or not strip leading @, which is 
-       ///                  used to bypass validator
-       std::string params(std::string const & sep=",", bool valid_key=false) const;
+       std::string params(std::string const & sep=",") const;
 
-       /// add key=value to params_
-       void addParam(std::string const & key, std::string const & value);
+       /// add key=value to params_. key_=value will be used if key=value already exists
+       /// unless replace=true.
+       void addParam(std::string const & key, std::string const & value, 
+                       bool replace = false);
 
        /// add a few parameters
        void addParams(std::string const & par);
@@ -76,6 +75,9 @@ public:
 
        ///
        void clear() { params_.clear(); }
+       
+       /// validate parameter, return an error message
+       docstring validate() const;
 
 private:
        /// inline or normal listings
@@ -89,22 +91,6 @@ private:
 };
 
 
-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