namespace lyx {
class Layout;
-class Lexer;
+
+namespace support { class Lexer; }
/// This represents a single counter.
class Counter {
Counter();
///
Counter(docstring const & mc, docstring const & ls,
- docstring const & lsa, docstring const & guiname);
+ docstring const & lsa, docstring const & prettyformat,
+ docstring const & guiname);
/// \return true on success
- bool read(Lexer & lex);
+ bool read(support::Lexer & lex);
///
void set(int v);
///
/// E.g., for a section counter it might be "section \thesection"
docstring const & prettyFormat() const { return prettyformat_; }
///
+ docstring const & refFormat(docstring const & prefix) const;
+ ///
docstring const & guiName() const { return guiname_; }
///
docstring const & latexName() const { return latexname_; }
/// Similar, but used for formatted references in XHTML output
docstring prettyformat_;
///
+ std::map<docstring, docstring> ref_formats_;
+ ///
docstring guiname_;
/// The name used for the counter in LaTeX
docstring latexname_;
docstring const & parentc,
docstring const & ls,
docstring const & lsa,
+ docstring const & prettyformat,
docstring const & guiname);
/// Checks whether the given counter exists.
bool hasCounter(docstring const & c) const;
/// \param makeNew whether to make a new counter if one
/// doesn't already exist
/// \return true on success
- bool read(Lexer & lex, docstring const & name, bool makenew);
+ bool read(support::Lexer & lex, docstring const & name, bool makenew);
///
void set(docstring const & ctr, int val);
///
/// format given by Counter::prettyFormat().
docstring prettyCounter(docstring const & cntr,
std::string const & lang) const;
+ /// returns a formatted version of the counter, using the
+ /// format given by Counter::prettyFormat().
+ docstring formattedCounter(docstring const & cntr,
+ docstring const & prefix,
+ std::string const & lang) const;
///
docstring const & guiName(docstring const & cntr) const;
///