]> git.lyx.org Git - lyx.git/blobdiff - src/counters.h
add nls.m4
[lyx.git] / src / counters.h
index d1c0ef59af0ad94246d9e6fee1ab76e508953f2f..92da5a3c759e18def0db6e36b1c1ae3183ce7d22 100644 (file)
@@ -1,25 +1,22 @@
 // -*- C++ -*-
-/* This file is part of
- * ======================================================
+/**
+ * \file counters.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- *           LyX, The Document Processor
+ * \author Lars Gullik Bjønnes
+ * \author Jean-Marc Lasgouttes
+ * \author John Levon
+ * \author Martin Vermeer
  *
- *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-2001 The LyX Team.
- *
- *
- * ====================================================== */
-
+ * Full author contact details are available in file CREDITS.
+ */
 
 #ifndef COUNTERS_H
 #define COUNTERS_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include "LString.h"
 #include <map>
+#include <string>
 
 
 /// This represents a single counter.
@@ -38,16 +35,16 @@ public:
        ///
        void reset();
        /// Returns the master counter of this counter
-       string master() const;
+       std::string master() const;
        /// sets the master counter for this counter
-       void setMaster(string const & m);
+       void setMaster(std::string 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".
-       string master_;
+       std::string master_;
 };
 
 
@@ -55,49 +52,39 @@ private:
 /// Every instantiation is an array of counters of type Counter.
 class Counters {
 public:
-       ///
-       Counters();
-       ///
-       //~Counters();
        /// Add a new counter to array.
-       void newCounter(string const & newc);
+       void newCounter(std::string const & newc);
        /// Add new counter having oldc as its master.
-       void newCounter(string const & newc, string const & oldc);
+       void newCounter(std::string const & newc, std::string const & oldc);
        ///
-       void set(string const & ctr, int val);
+       void set(std::string const & ctr, int val);
        ///
-       void addto(string const & ctr, int val);
+       void addto(std::string const & ctr, int val);
        ///
-       int value(string const & ctr) const;
+       int value(std::string 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(string const & ctr);
+       void step(std::string const & ctr);
        /// Reset all counters.
        void reset();
        /// Reset counters matched by match string.
-       void reset(string const & match);
+       void reset(std::string 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, string const & match = string());
-       /// A numeric label's single item, like .1 for subsection number in
-       /// the 2.1.4 subsubsection number label. "first" indicates if this
-       /// is the first item to be displayed, usually chapter or section.
-       string labelItem(string const & ctr,
-                       string const & labeltype,
-                       string const & langtype = "latin",
-                       bool first = false);
-       /// A complete numeric label, like 2.1.4 for a subsubsection.
-       /// "head" indicates sequence number of first item to be
-       /// displayed, e.g. 0 for chapter, 1 for section.
-       string numberLabel(string const & ctr,
-                       string const & labeltype,
-                       string const & langtype = "latin",
-                       int head = 0);
+       void copy(Counters & from, Counters & to, std::string const & match = std::string());
+       /// A complete expanded label, like 2.1.4 for a subsubsection
+       /// according to the given format
+       std::string counterLabel(std::string const & format);
+       /// A complete label, like 1.a for enumerations
+       std::string enumLabel(std::string const & ctr, std::string const & langtype = "latin");
 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);
        /// Maps counter (layout) names to actual counters.
-       typedef std::map<string, Counter> CounterList;
+       typedef std::map<std::string, Counter> CounterList;
        /// Instantiate.
        CounterList counterList;