mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-23 10:18:50 +00:00
Some small counters work
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4936 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
6b224b1217
commit
83f4b0018e
@ -1,20 +1,33 @@
|
|||||||
|
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>
|
2002-08-11 John Levon <levon@movementarian.org>
|
||||||
|
|
||||||
* Makefile.am: add WordLangTuple.h
|
* Makefile.am: add WordLangTuple.h
|
||||||
|
|
||||||
2002-08-11 Lars Gullik Bjønnes <larsbj@gullik.net>
|
2002-08-11 Lars Gullik Bjønnes <larsbj@gullik.net>
|
||||||
|
|
||||||
* paragraph.C, ToolbarDefaults.h, kbsequence.h, lyx_main.C,
|
* 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
|
* insets/insettext.C: InsetList changes
|
||||||
|
|
||||||
* graphics/GraphicsSupport.C (operator()): InsetList changes
|
* graphics/GraphicsSupport.C (operator()): InsetList changes
|
||||||
|
|
||||||
* toc.C (getTocList): InsetList changes
|
* toc.C (getTocList): InsetList changes
|
||||||
|
|
||||||
* paragraph_pimpl.[Ch]: InsetList changes
|
* paragraph_pimpl.[Ch]: InsetList changes
|
||||||
|
|
||||||
* paragraph.[Ch]: InsetList changes
|
* paragraph.[Ch]: InsetList changes
|
||||||
|
|
||||||
* buffer.C (inset_iterator): InsetList changes
|
* buffer.C (inset_iterator): InsetList changes
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
#include "counters.h"
|
#include "counters.h"
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#include "support/lstrings.h"
|
#include "support/lstrings.h"
|
||||||
|
#include "support/LAssert.h"
|
||||||
|
|
||||||
using std::endl;
|
using std::endl;
|
||||||
using std::vector;
|
using std::vector;
|
||||||
@ -198,12 +199,25 @@ void Counters::step(string const & ctr)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Counters::reset(string const & match)
|
|
||||||
|
void Counters::reset()
|
||||||
{
|
{
|
||||||
CounterList::iterator it = counterList.begin();
|
CounterList::iterator it = counterList.begin();
|
||||||
CounterList::iterator end = counterList.end();
|
CounterList::iterator end = counterList.end();
|
||||||
for (; it != end; ++it) {
|
for (; it != end; ++it) {
|
||||||
if (it->first.find(match) != string::npos || match == "")
|
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)
|
||||||
it->second.reset();
|
it->second.reset();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45,20 +45,20 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
int value_;
|
int value_;
|
||||||
/// contains master counter name; master counter is the counter
|
/// contains master counter name; master counter is the counter
|
||||||
/// that, if stepped (incremented) zeroes this counter. E.g.
|
/// that, if stepped (incremented) zeroes this counter. E.g.
|
||||||
/// "subparagraph"'s master is "paragraph".
|
/// "subparagraph"'s master is "paragraph".
|
||||||
string master_;
|
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.
|
/// Every instantiation is an array of counters of type Counter.
|
||||||
class Counters {
|
class Counters {
|
||||||
public:
|
public:
|
||||||
///
|
///
|
||||||
Counters();
|
Counters();
|
||||||
///
|
///
|
||||||
//~Counters();
|
//~Counters();
|
||||||
/// Add a new counter to array.
|
/// Add a new counter to array.
|
||||||
void newCounter(string const & newc);
|
void newCounter(string const & newc);
|
||||||
@ -75,30 +75,31 @@ public:
|
|||||||
/// NOTE sub-slaves not zeroed! That happens at slave's
|
/// NOTE sub-slaves not zeroed! That happens at slave's
|
||||||
/// first step 0->1. Seems to be sufficient.
|
/// first step 0->1. Seems to be sufficient.
|
||||||
void step(string const & ctr);
|
void step(string const & ctr);
|
||||||
/// Reset counters matched by match string. Empty string matches
|
/// Reset all counters.
|
||||||
/// all.
|
void reset();
|
||||||
void reset(string const & match = string());
|
/// Reset counters matched by match string.
|
||||||
/// Copy counters whose name matches match from the &from to
|
void reset(string const & match);
|
||||||
|
/// Copy counters whose name matches match from the &from to
|
||||||
/// the &to array of counters. Empty string matches all.
|
/// the &to array of counters. Empty string matches all.
|
||||||
void copy(Counters & from, Counters & to, string const & match = string());
|
void copy(Counters & from, Counters & to, string const & match = string());
|
||||||
/// A numeric label's single item, like .1 for subsection number in
|
/// A numeric label's single item, like .1 for subsection number in
|
||||||
/// the 2.1.4 subsubsection number label. "first" indicates if this
|
/// the 2.1.4 subsubsection number label. "first" indicates if this
|
||||||
/// is the first item to be displayed, usually chapter or section.
|
/// is the first item to be displayed, usually chapter or section.
|
||||||
string labelItem(string const & ctr,
|
string labelItem(string const & ctr,
|
||||||
string const & labeltype,
|
string const & labeltype,
|
||||||
string const & langtype = "latin",
|
string const & langtype = "latin",
|
||||||
bool first = false);
|
bool first = false);
|
||||||
/// A complete numeric label, like 2.1.4 for a subsubsection.
|
/// A complete numeric label, like 2.1.4 for a subsubsection.
|
||||||
/// "head" indicates sequence number of first item to be
|
/// "head" indicates sequence number of first item to be
|
||||||
/// displayed, e.g. 0 for chapter, 1 for section.
|
/// displayed, e.g. 0 for chapter, 1 for section.
|
||||||
string numberLabel(string const & ctr,
|
string numberLabel(string const & ctr,
|
||||||
string const & labeltype,
|
string const & labeltype,
|
||||||
string const & langtype = "latin",
|
string const & langtype = "latin",
|
||||||
int head = 0);
|
int head = 0);
|
||||||
/// Maps numbers to enumeration of sectioning counter name strings.
|
/// Maps numbers to enumeration of sectioning counter name strings.
|
||||||
std::vector<string> enums;
|
std::vector<string> enums;
|
||||||
std::vector<string> sects;
|
std::vector<string> sects;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/// Maps counter (layout) names to actual counters.
|
/// Maps counter (layout) names to actual counters.
|
||||||
typedef std::map<string, Counter> CounterList;
|
typedef std::map<string, Counter> CounterList;
|
||||||
|
@ -984,12 +984,6 @@ string const & Paragraph::getLabelstring() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int Paragraph::getFirstCounter(int i) const
|
|
||||||
{
|
|
||||||
return pimpl_->counter_[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// the next two functions are for the manual labels
|
// the next two functions are for the manual labels
|
||||||
string const Paragraph::getLabelWidthString() const
|
string const Paragraph::getLabelWidthString() const
|
||||||
{
|
{
|
||||||
|
@ -222,8 +222,6 @@ public:
|
|||||||
///
|
///
|
||||||
void applyLayout(LyXLayout_ptr const & new_layout);
|
void applyLayout(LyXLayout_ptr const & new_layout);
|
||||||
///
|
///
|
||||||
int getFirstCounter(int i) const;
|
|
||||||
///
|
|
||||||
void erase(lyx::pos_type pos);
|
void erase(lyx::pos_type pos);
|
||||||
/** the flag determines wether the layout should be copied
|
/** the flag determines wether the layout should be copied
|
||||||
*/
|
*/
|
||||||
|
@ -20,8 +20,6 @@
|
|||||||
#include "ParagraphParameters.h"
|
#include "ParagraphParameters.h"
|
||||||
#include "counters.h"
|
#include "counters.h"
|
||||||
|
|
||||||
#include <boost/array.hpp>
|
|
||||||
|
|
||||||
class LyXLayout;
|
class LyXLayout;
|
||||||
|
|
||||||
struct Paragraph::Pimpl {
|
struct Paragraph::Pimpl {
|
||||||
@ -59,9 +57,7 @@ struct Paragraph::Pimpl {
|
|||||||
BufferParams const & bparams) const;
|
BufferParams const & bparams) const;
|
||||||
///
|
///
|
||||||
Inset * inset_owner;
|
Inset * inset_owner;
|
||||||
///
|
|
||||||
boost::array<int, 10> counter_;
|
|
||||||
|
|
||||||
/** A font entry covers a range of positions. Notice that the
|
/** A font entry covers a range of positions. Notice that the
|
||||||
entries in the list are inserted in random order.
|
entries in the list are inserted in random order.
|
||||||
I don't think it's worth the effort to implement a more effective
|
I don't think it's worth the effort to implement a more effective
|
||||||
@ -151,7 +147,6 @@ struct Paragraph::Pimpl {
|
|||||||
ParagraphParameters params;
|
ParagraphParameters params;
|
||||||
///
|
///
|
||||||
Counters ctrs;
|
Counters ctrs;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/// match a string against a particular point in the paragraph
|
/// match a string against a particular point in the paragraph
|
||||||
bool isTextAt(string const & str, lyx::pos_type pos) const;
|
bool isTextAt(string const & str, lyx::pos_type pos) const;
|
||||||
|
@ -1227,12 +1227,12 @@ void LyXText::setCounter(Buffer const * buf, Paragraph * par) const
|
|||||||
par->params().appendix(par->previous()->params().appendix());
|
par->params().appendix(par->previous()->params().appendix());
|
||||||
if (!par->params().appendix() && par->params().startOfAppendix()) {
|
if (!par->params().appendix() && par->params().startOfAppendix()) {
|
||||||
par->params().appendix(true);
|
par->params().appendix(true);
|
||||||
par->counters().reset("");
|
par->counters().reset();
|
||||||
}
|
}
|
||||||
par->enumdepth = par->previous()->enumdepth;
|
par->enumdepth = par->previous()->enumdepth;
|
||||||
par->itemdepth = par->previous()->itemdepth;
|
par->itemdepth = par->previous()->itemdepth;
|
||||||
} else {
|
} else {
|
||||||
par->counters().reset("");
|
par->counters().reset();
|
||||||
par->params().appendix(par->params().startOfAppendix());
|
par->params().appendix(par->params().startOfAppendix());
|
||||||
par->enumdepth = 0;
|
par->enumdepth = 0;
|
||||||
par->itemdepth = 0;
|
par->itemdepth = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user