#define PARAGRAPH_H
#include "FontEnums.h"
+#include "LayoutEnums.h"
#include "SpellChecker.h"
#include "support/strfwd.h"
class Inset;
class InsetBibitem;
class LaTeXFeatures;
-class Inset_code;
class InsetList;
class Language;
class Layout;
class Font;
-class Font_size;
class MetricsInfo;
class OutputParams;
class PainterInfo;
class ParagraphParameters;
-class Toc;
+class TocBackend;
class WordLangTuple;
class XHTMLStream;
class otexstream;
{
return first < s.first;
}
-
+
inline bool operator==(FontSpan const & s) const
{
return first == s.first && last == s.last;
{
return empty() ? 0 : last - first;
}
-
+
inline FontSpan intersect(FontSpan const & f) const
{
result.last = last;
return result;
}
-
+
inline bool empty() const
{
return first > last;
///
void addChangesToToc(DocIterator const & cdit, Buffer const & buf,
- bool output_active) const;
+ bool output_active, TocBackend & backend) const;
+ /// set the buffer flag if there are changes in the paragraph
+ void addChangesToBuffer(Buffer const & buf) const;
+ ///
+ bool isChangeUpdateRequired() const;
///
Language const * getParLanguage(BufferParams const &) const;
///
int options = AS_STR_NONE,
const OutputParams *runparams = 0) const;
///
- void forOutliner(docstring &, size_t const maxlen,
- bool const shorten = true) const;
+ void forOutliner(docstring &, size_t maxlen, bool shorten = true,
+ bool label = true) const;
///
void write(std::ostream &, BufferParams const &,
XHTMLStream & xs,
OutputParams const & runparams,
Font const & outerfont,
+ bool start_paragraph = true,
+ bool close_paragraph = true,
pos_type initial = 0) const;
///
/// Set label width string.
void setLabelWidthString(docstring const & s);
/// Actual paragraph alignment used
- char getAlign() const;
+ LyXAlignment getAlign() const;
/// The nesting depth of a paragraph
depth_type getDepth() const;
/// The maximal possible depth of a paragraph after this one
///
char_type getChar(pos_type pos) const;
/// Get the char, but mirror all bracket characters if it is right-to-left
- char_type getUChar(BufferParams const &, pos_type pos) const;
+ char_type getUChar(BufferParams const &, OutputParams const &,
+ pos_type pos) const;
/// pos <= size() (there is a dummy font change at the end of each par)
void setFont(pos_type pos, Font const & font);
- /// Returns the height of the highest font in range
- FontSize highestFontInRange(pos_type startpos,
- pos_type endpos, FontSize def_size) const;
///
void insert(pos_type pos, docstring const & str,
Font const & font, Change const & change);
InsetList const & insetList() const;
///
void setBuffer(Buffer &);
+ ///
+ void resetBuffer();
///
bool isHfill(pos_type pos) const;
bool mw, ///<
pos_type pos, ///< start from here.
bool del = true) const;
-
+
void locateWord(pos_type & from, pos_type & to,
word_location const loc) const;
///
/// presently used only in the XHTML output routines.
std::string magicLabel() const;
+ /// anonymizes the paragraph contents (but not the paragraphs
+ /// contained inside it. Does not handle undo.
+ void anonymize();
+
private:
/// Expand the counters for the labelstring of \c layout
docstring expandParagraphLabel(Layout const &, BufferParams const &,