#define PARAGRAPH_H
#include "Changes.h"
-#include "Dimension.h"
#include "InsetList.h"
#include "lyxlayout_ptr_fwd.h"
-#include "Row.h"
-#include "insets/Inset.h" // only for Inset::Code
+#include "insets/InsetCode.h"
namespace lyx {
///
Language const * getParLanguage(BufferParams const &) const;
///
- bool isRightToLeftPar(BufferParams const &) const;
+ bool isRTL(BufferParams const &) const;
///
void changeLanguage(BufferParams const & bparams,
Language const * from, Language const * to);
///
Inset * inInset() const;
///
- Inset::Code ownerCode() const;
+ InsetCode ownerCode() const;
///
bool forceDefaultParagraphs() const;
bool empty() const { return text_.empty(); }
///
- Layout_ptr const & layout() const;
+ LayoutPtr const & layout() const;
///
- void layout(Layout_ptr const & new_layout);
+ void layout(LayoutPtr const & new_layout);
/// This is the item depth, only used by enumerate and itemize
signed char itemdepth;
docstring const translateIfPossible(docstring const & label,
BufferParams const & bparams) const;
/// Expand the counters for the labelstring of \c layout
- docstring expandLabel(Layout_ptr const &, BufferParams const &,
+ docstring expandLabel(LayoutPtr const &, BufferParams const &,
bool process_appendix = true) const;
/// Actual paragraph alignment used
char getAlign() const;
/// The maximal possible depth of a paragraph after this one
depth_type getMaxDepthAfter() const;
///
- void applyLayout(Layout_ptr const & new_layout);
+ void applyLayout(LayoutPtr const & new_layout);
/// (logically) erase the char at pos; return true if it was actually erased
bool eraseChar(pos_type pos, bool trackChanges);
void insertInset(pos_type pos, Inset * inset,
Font const &, Change const & change);
///
- bool insetAllowed(Inset_code code);
+ bool insetAllowed(InsetCode code);
///
Inset * getInset(pos_type pos) {
return insetlist.get(pos);
}
///
- bool isHfill(pos_type pos) const {
- return isInset(pos)
- && getInset(pos)->lyxCode() == Inset::HFILL_CODE;
- }
+ bool isHfill(pos_type pos) const;
+
/// hinted by profiler
bool isInset(pos_type pos) const {
return getChar(pos) == static_cast<value_type>(META_INSET);
ParagraphParameters & params();
///
ParagraphParameters const & params() const;
- ///
- bool hfillExpansion(Row const & row, pos_type pos) const;
/// Check if we are in a Biblio environment and insert or
/// delete InsetBibitems as necessary.
/// was previously past that position. Return 0 otherwise.
int checkBiblio(bool track_changes);
+ /// For each author, set 'used' to true if there is a change
+ /// by this author in the paragraph.
+ void checkAuthors(AuthorList const & authorList);
+
public:
///
InsetList insetlist;
private:
///
- Layout_ptr layout_;
+ LayoutPtr layout_;
/**
* Keeping this here instead of in the pimpl makes LyX >10% faster
* for average tasks as buffer loading/switching etc.