]> git.lyx.org Git - lyx.git/blobdiff - src/Paragraph.h
HTML for math sizes.
[lyx.git] / src / Paragraph.h
index e1cb33e0f1cc9ebf42a90aecf077dc96fad2a16d..b50cfacc8870793b8c03b348ee4bf78775579148 100644 (file)
 #define PARAGRAPH_H
 
 #include "FontEnums.h"
-#include "Layout.h"
 
 #include "insets/InsetCode.h"
 
 #include "support/strfwd.h"
 #include "support/types.h"
 
+#include <set>
+
 namespace lyx {
 
 class AuthorList;
@@ -42,6 +43,7 @@ class LaTeXFeatures;
 class Inset_code;
 class InsetList;
 class Language;
+class Layout;
 class Font;
 class Font_size;
 class MetricsInfo;
@@ -51,6 +53,7 @@ class ParagraphParameters;
 class TexRow;
 class Toc;
 class WordLangTuple;
+class XHTMLStream;
 
 class FontSpan {
 public:
@@ -91,7 +94,7 @@ class Paragraph
 public:
        ///
        Paragraph();
-       ///
+       /// Copy constructor.
        Paragraph(Paragraph const &);
        /// Partial copy constructor.
        /// Copy the Paragraph contents from \p beg to \p end (without end).
@@ -102,6 +105,8 @@ public:
        ~Paragraph();
        ///
        int id() const;
+       ///
+       void setId(int id);
 
        ///
        void addChangesToToc(DocIterator const & cdit, Buffer const & buf) const;
@@ -114,6 +119,8 @@ public:
                            Language const * from, Language const * to);
        ///
        bool isMultiLingual(BufferParams const &) const;
+       ///
+       void getLanguages(std::set<Language const *> &) const;
 
        /// Convert the paragraph to a string.
        /// \param AsStringParameter options. This can contain any combination of
@@ -151,7 +158,7 @@ public:
        pos_type firstWordDocBook(odocstream & os, OutputParams const & runparams) const;
 
        /// Output the first word of a paragraph, return the position where it left.
-       pos_type firstWordLyXHTML(odocstream & os, OutputParams const & runparams) const;
+       pos_type firstWordLyXHTML(XHTMLStream & xs, OutputParams const & runparams) const;
 
        /// Writes to stream the docbook representation
        void simpleDocBookOnePar(Buffer const & buf,
@@ -162,7 +169,7 @@ public:
        /// \return any material that has had to be deferred until after the
        /// paragraph has closed.
        docstring simpleLyXHTMLOnePar(Buffer const & buf,
-                                odocstream &,
+                                XHTMLStream & xs,
                                 OutputParams const & runparams,
                                 Font const & outerfont,
                                 pos_type initial = 0) const;
@@ -178,10 +185,6 @@ public:
        ///
        Inset const & inInset() const;
        ///
-       InsetCode ownerCode() const;
-       ///
-       bool forcePlainLayout() const;
-       ///
        bool allowParagraphCustomization() const;
        ///
        bool usePlainLayout() const;
@@ -210,13 +213,13 @@ public:
        /// is there a change within the given range ?
        bool isChanged(pos_type start, pos_type end) const;
        /// is there an unchanged char at the given pos ?
-       bool isUnchanged(pos_type pos) const;
+       bool isChanged(pos_type pos) const;
        /// is there an insertion at the given pos ?
        bool isInserted(pos_type pos) const;
        /// is there a deletion at the given pos ?
        bool isDeleted(pos_type pos) const;
        /// is the whole paragraph deleted ?
-       bool isFullyDeleted(pos_type start, pos_type end) const;
+       bool isDeleted(pos_type start, pos_type end) const;
 
        /// will the paragraph be physically merged with the next
        /// one if the imaginary end-of-par character is logically deleted?
@@ -243,16 +246,16 @@ public:
        /// recompute this value
        void setBeginOfBody();
 
+       ///
+       docstring expandLabel(Layout const &, BufferParams const &) const;
+       ///
+       docstring expandDocBookLabel(Layout const &, BufferParams const &) const;
        ///
        docstring const & labelString() const;
-
        /// the next two functions are for the manual labels
        docstring const getLabelWidthString() const;
        /// Set label width string.
        void setLabelWidthString(docstring const & s);
-       /// Expand the counters for the labelstring of \c layout
-       docstring expandLabel(Layout const &, BufferParams const &,
-               bool process_appendix = true) const;
        /// Actual paragraph alignment used
        char getAlign() const;
        /// The nesting depth of a paragraph
@@ -417,16 +420,23 @@ public:
        ///
        void updateWords();
 
-       /// Spellcheck word at position \p from and fill in found misspelled word.
+       /// Spellcheck word at position \p from and fill in found misspelled word
+       /// and \p suggestions if \p do_suggestion is true.
        /// \return true if pointed word is misspelled.
        bool spellCheck(pos_type & from, pos_type & to, WordLangTuple & wl,
-               docstring_list & suggestions) const;
+               docstring_list & suggestions, bool do_suggestion =  true) const;
 
        /// Spellcheck word at position \p pos.
        /// \return true if pointed word is misspelled.
        bool isMisspelled(pos_type pos) const;
+       /// an automatically generated identifying label for this paragraph.
+       /// presently used only in the XHTML output routines.
+       std::string magicLabel() const;
 
 private:
+       /// Expand the counters for the labelstring of \c layout
+       docstring expandParagraphLabel(Layout const &, BufferParams const &,
+               bool process_appendix) const;
        ///
        void deregisterWords();
        ///