+2002-08-11 Lars Gullik Bjønnes <larsbj@gullik.net>
+
+ * paragraph_pimpl.h: remove inclusion of boost/array.hpp, remove
+ unused class variable counter_,
+
+ * paragraph.[Ch] (getFirstCounter): delete unused function
+
+ * counters.C: include LAssert.h
+ (reset): add a new function with no arg, change other version to
+ not have def. arg and to not allow empty arg.
+
+ * text2.C (setCounter): remove empty arg from call to Counters::reset
+
2002-08-11 John Levon <levon@movementarian.org>
* Makefile.am: add WordLangTuple.h
-
+
2002-08-11 Lars Gullik Bjønnes <larsbj@gullik.net>
* paragraph.C, ToolbarDefaults.h, kbsequence.h, lyx_main.C,
- lyxfunc.C lyxlex_pimpl.C: ws changes only.
+ lyxfunc.C lyxlex_pimpl.C: ws changes only.
* insets/insettext.C: InsetList changes
-
+
* graphics/GraphicsSupport.C (operator()): InsetList changes
-
+
* toc.C (getTocList): InsetList changes
-
+
* paragraph_pimpl.[Ch]: InsetList changes
-
+
* paragraph.[Ch]: InsetList changes
* buffer.C (inset_iterator): InsetList changes
#include "counters.h"
#include "debug.h"
#include "support/lstrings.h"
+#include "support/LAssert.h"
using std::endl;
using std::vector;
}
}
+
+void Counters::reset()
+{
+ CounterList::iterator it = counterList.begin();
+ CounterList::iterator end = counterList.end();
+ for (; it != end; ++it) {
+ it->second.reset();
+ }
+}
+
+
void Counters::reset(string const & match)
{
+ lyx::Assert(!match.empty());
+
CounterList::iterator it = counterList.begin();
CounterList::iterator end = counterList.end();
for (; it != end; ++it) {
- if (it->first.find(match) != string::npos || match == "")
+ if (it->first.find(match) != string::npos)
it->second.reset();
}
}
private:
int value_;
- /// contains master counter name; master counter is the counter
- /// that, if stepped (incremented) zeroes this counter. E.g.
+ /// 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_;
};
-/// This is a class of (La)TeX type counters.
+/// This is a class of (La)TeX type counters.
/// 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);
/// NOTE sub-slaves not zeroed! That happens at slave's
/// first step 0->1. Seems to be sufficient.
void step(string const & ctr);
- /// Reset counters matched by match string. Empty string matches
- /// all.
- void reset(string const & match = string());
- /// Copy counters whose name matches match from the &from to
+ /// Reset all counters.
+ void reset();
+ /// Reset counters matched by match string.
+ void reset(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 & 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 & labeltype,
string const & langtype = "latin",
int head = 0);
/// Maps numbers to enumeration of sectioning counter name strings.
std::vector<string> enums;
std::vector<string> sects;
-
+
private:
/// Maps counter (layout) names to actual counters.
typedef std::map<string, Counter> CounterList;
}
-int Paragraph::getFirstCounter(int i) const
-{
- return pimpl_->counter_[i];
-}
-
-
// the next two functions are for the manual labels
string const Paragraph::getLabelWidthString() const
{
///
void applyLayout(LyXLayout_ptr const & new_layout);
///
- int getFirstCounter(int i) const;
- ///
void erase(lyx::pos_type pos);
/** the flag determines wether the layout should be copied
*/
#include "ParagraphParameters.h"
#include "counters.h"
-#include <boost/array.hpp>
-
class LyXLayout;
struct Paragraph::Pimpl {
BufferParams const & bparams) const;
///
Inset * inset_owner;
- ///
- boost::array<int, 10> counter_;
-
+
/** A font entry covers a range of positions. Notice that the
entries in the list are inserted in random order.
I don't think it's worth the effort to implement a more effective
ParagraphParameters params;
///
Counters ctrs;
-
private:
/// match a string against a particular point in the paragraph
bool isTextAt(string const & str, lyx::pos_type pos) const;
par->params().appendix(par->previous()->params().appendix());
if (!par->params().appendix() && par->params().startOfAppendix()) {
par->params().appendix(true);
- par->counters().reset("");
+ par->counters().reset();
}
par->enumdepth = par->previous()->enumdepth;
par->itemdepth = par->previous()->itemdepth;
} else {
- par->counters().reset("");
+ par->counters().reset();
par->params().appendix(par->params().startOfAppendix());
par->enumdepth = 0;
par->itemdepth = 0;