#ifndef INSETLISTINGSPARAMS_H
#define INSETLISTINGSPARAMS_H
-#include "InsetCollapsable.h"
+#include "InsetCaptionable.h"
#include <map>
///
InsetListingsParams(std::string const &, bool in=false,
- InsetCollapsable::CollapseStatus s = InsetCollapsable::Open);
+ InsetCollapsible::CollapseStatus s = InsetCollapsible::Open);
/// write parameters to an ostream
void write(std::ostream &) const;
/// 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,
+ void addParam(std::string const & key, std::string const & value,
bool replace = false);
/// add a few parameters
bool isFloat() const;
///
- InsetCollapsable::CollapseStatus status() const { return status_; }
+ InsetCollapsible::CollapseStatus status() const { return status_; }
///
void setInline(bool i) { inline_ = i; }
+ ///
+ void setMinted(bool use_minted) { package_ = use_minted ? 1 : 0; }
+
+ ///
+ static int package() { return package_; }
+
+ ///
+ bool minted() { return package_ == 1; }
+
/// get value of option \c param
std::string getParamValue(std::string const & param) const;
///
void clear() { params_.clear(); }
-
+
/// validate parameter, return an error message
docstring validate() const;
private:
+ /// listings or minted package (0 or 1, respectively)
+ static int package_;
+
/// inline or normal listings
bool inline_;
+ /// Do we have a param with the given \c key?
+ bool hasParam(std::string const & key) const;
+ /// return the value for the given \c key, if available, else empty string
+ std::string getValue(std::string const & key) const;
+
/// key-value pairs of the parameters
- std::map<std::string, std::string> params_;
+ // Use a vector of pairs in order to maintain the order of insertion.
+ typedef std::vector<std::pair<std::string, std::string> > keyValuePair;
+ keyValuePair params_;
- /// collapsable status
- InsetCollapsable::CollapseStatus status_;
+ /// collapsible status
+ InsetCollapsible::CollapseStatus status_;
};