public:
///
enum META_KIND {
- ///
- META_HFILL = 1,
- ///
- META_NEWLINE,
- ///
- META_INSET
+ /// Note that this is 1 right now to avoid
+ /// crashes where getChar() is called wrongly
+ /// (returning 0) - if this was 0, then we'd
+ /// try getInset() and crash. We should fix
+ /// all these places.
+ META_INSET = 1
};
///
typedef char value_type;
///
Paragraph const * next() const;
+ ///
+ void previous(Paragraph *);
+ ///
+ Paragraph * previous();
+ ///
+ Paragraph const * previous() const;
+#endif
+
/// initialise tracking for this par
void trackChanges(Change::Type = Change::UNCHANGED);
/// is there a non-addition in this range ?
bool isChangeEdited(lyx::pos_type start, lyx::pos_type end) const;
+ /// set change at pos
+ void setChange(lyx::pos_type pos, Change::Type type);
+
/// accept change
void acceptChange(lyx::pos_type start, lyx::pos_type end);
/// mark whole par as erased
void markErased();
- ///
- void previous(Paragraph *);
- ///
- Paragraph * previous();
- ///
- Paragraph const * previous() const;
-#endif
/// for the environments
Paragraph * depthHook(depth_type depth);
/// for the environments
Paragraph * outerHook();
///
Paragraph const * outerHook() const;
- ///
- int beginningOfMainBody() const;
+
+ /// Paragraphs can contain "manual labels", for example, Description environment.
+ /// The text for this user-editable label is stored in the paragraph alongside
+ /// the text of the rest of the paragraph (the body). This function returns
+ /// the starting position of the body of the text in the paragraph.
+ int beginningOfBody() const;
+
///
string const & getLabelstring() const;
///
void applyLayout(LyXLayout_ptr const & new_layout);
+ /// definite erase
+ void eraseIntern(lyx::pos_type pos);
/// erase the char at the given position
void erase(lyx::pos_type pos);
/// erase the given range. Returns true if actually erased.
InsetList insetlist;
///
//Counters & counters();
-
- friend void breakParagraph(BufferParams const & bparams,
- Paragraph * par, lyx::pos_type pos, int flag);
-
private:
///
LyXLayout_ptr layout_;