#ifndef PARAGRAPH_FUNCS_H
#define PARAGRAPH_FUNCS_H
-#include "ParagraphList.h"
+#include "ParagraphList_fwd.h"
+
#include "support/types.h"
+
+namespace lyx {
+
class Buffer;
class BufferParams;
-class TexRow;
-class LatexRunParams;
-class LyXLex;
-class InsetOld;
+class InsetBase;
+class LyXFont;
+class Paragraph;
-///
+/**
+ * This breaks a paragraph at the specified position.
+ * The new paragraph will:
+ * get the default layout, when flag == 0
+ * will inherit the existing one, except for depth, when flag == 1
+ * will inherit the existing one, including depth, when flag == 2
+ * Be aware that the old or new paragraph does not contain any rows
+ * after this.
+ */
void breakParagraph(BufferParams const & bparams,
ParagraphList & paragraphs,
- ParagraphList::iterator par,
- lyx::pos_type pos,
+ pit_type par,
+ pos_type pos,
int flag);
///
void breakParagraphConservative(BufferParams const & bparams,
ParagraphList & paragraphs,
- ParagraphList::iterator par,
- lyx::pos_type pos);
+ pit_type par,
+ pos_type pos);
/**
* Append the next paragraph onto the tail of this one.
* Be careful, this doesent make any check at all.
*/
void mergeParagraph(BufferParams const & bparams,
- ParagraphList & paragraphs,
- ParagraphList::iterator par);
+ ParagraphList & paragraphs, pit_type par);
/// for the environments
-ParagraphList::iterator depthHook(ParagraphList::iterator pit,
- ParagraphList const & plist,
- Paragraph::depth_type depth);
+pit_type depthHook(pit_type par,
+ ParagraphList const & plist, depth_type depth);
-ParagraphList::iterator outerHook(ParagraphList::iterator pit,
- ParagraphList const & plist);
+pit_type outerHook(pit_type par, ParagraphList const & plist);
/// Is it the first par with same depth and layout?
-bool isFirstInSequence(ParagraphList::iterator par,
- ParagraphList const & plist);
+bool isFirstInSequence(pit_type par, ParagraphList const & plist);
/** Check if the current paragraph is the last paragraph in a
proof environment */
-int getEndLabel(ParagraphList::iterator pit,
- ParagraphList const & plist);
-
-
-void latexParagraphs(Buffer const & buf,
- ParagraphList const & paragraphs,
- std::ostream & ofs,
- TexRow & texrow,
- LatexRunParams const &,
- string const & everypar = string());
+int getEndLabel(pit_type par, ParagraphList const & plist);
-/// read a paragraph from a .lyx file. Returns number of unrecognised tokens
-int readParagraph(Buffer & buf, Paragraph & par, LyXLex & lex);
-
-LyXFont const outerFont(ParagraphList::iterator pit,
- ParagraphList const & plist);
+/**
+ * Get the font of the "environment" of paragraph \p par_offset in \p pars.
+ * All font changes of the paragraph are relative to this font.
+ */
+LyXFont const outerFont(pit_type par_offset, ParagraphList const & pars);
-/// find outermost paragraph containing an inset
-ParagraphList::iterator outerPar(Buffer const & buf, InsetOld const * inset);
+/// return the number of InsetOptArg in a paragraph
+int numberOfOptArgs(Paragraph const & par);
-/// find owning paragraph containing an inset
-Paragraph const & ownerPar(Buffer const & buf, InsetOld const * inset);
+} // namespace lyx
#endif // PARAGRAPH_FUNCS_H