]> git.lyx.org Git - lyx.git/blobdiff - src/counters.h
Extend the navigate menu to child docs
[lyx.git] / src / counters.h
index df9a0a6149b00255e3867142478684fc314a2609..1f98e89adc3f06a38c7b1e56dfc3859b45193290 100644 (file)
 #ifndef COUNTERS_H
 #define COUNTERS_H
 
+#include "support/docstring.h"
+
 #include <map>
-#include <string>
+
+
+namespace lyx {
 
 /// This represents a single counter.
 class Counter {
@@ -34,16 +38,16 @@ public:
        ///
        void reset();
        /// Returns the master counter of this counter
-       std::string master() const;
+       lyx::docstring master() const;
        /// sets the master counter for this counter
-       void setMaster(std::string const & m);
+       void setMaster(lyx::docstring const & m);
 private:
        ///
        int value_;
        /// contains master counter name; master counter is the counter
        /// that, if stepped (incremented) zeroes this counter. E.g.
        /// "subparagraph"'s master is "paragraph".
-       std::string master_;
+       lyx::docstring master_;
 };
 
 
@@ -52,39 +56,45 @@ private:
 class Counters {
 public:
        /// Add a new counter to array.
-       void newCounter(std::string const & newc);
+       void newCounter(lyx::docstring const & newc);
        /// Add new counter having oldc as its master.
-       void newCounter(std::string const & newc, std::string const & oldc);
+       void newCounter(lyx::docstring const & newc,
+                       lyx::docstring const & oldc);
        ///
-       void set(std::string const & ctr, int val);
+       void set(lyx::docstring const & ctr, int val);
        ///
-       void addto(std::string const & ctr, int val);
+       void addto(lyx::docstring const & ctr, int val);
        ///
-       int value(std::string const & ctr) const;
+       int value(lyx::docstring const & ctr) const;
        /// Step (increment by one) counter named by arg, and
        /// zeroes slave counter(s) for which it is the master.
        /// NOTE sub-slaves not zeroed! That happens at slave's
        /// first step 0->1. Seems to be sufficient.
-       void step(std::string const & ctr);
+       void step(lyx::docstring const & ctr);
        /// Reset all counters.
        void reset();
        /// Reset counters matched by match string.
-       void reset(std::string const & match);
+       void reset(lyx::docstring const & match);
        /// Copy counters whose name matches match from the &from to
        /// the &to array of counters. Empty string matches all.
-       void copy(Counters & from, Counters & to, std::string const & match = std::string());
+       void copy(Counters & from, Counters & to,
+                 lyx::docstring const & match = lyx::docstring());
        /// A complete expanded label, like 2.1.4 for a subsubsection
        /// according to the given format
-       std::string counterLabel(std::string const & format);
+       lyx::docstring counterLabel(lyx::docstring const & format);
 private:
        /// A counter label's single item, 1 for subsection number in
        /// the 2.1.4 subsubsection number label.
-       std::string labelItem(std::string const & ctr, std::string const & numbertype);
+       lyx::docstring labelItem(lyx::docstring const & ctr,
+                                lyx::docstring const & numbertype);
        /// Maps counter (layout) names to actual counters.
-       typedef std::map<std::string, Counter> CounterList;
+       typedef std::map<lyx::docstring, Counter> CounterList;
        /// Instantiate.
        CounterList counterList;
 
 };
 
+
+} // namespace lyx
+
 #endif