X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FParagraph.h;h=761e6e9b5dbfe8b19e764372713eca0c89cc9426;hb=2098f1d8c20d51e63e670bcdc9da8996068975bf;hp=c256faf4fc5191b3e48f85775dd17c775e1330d4;hpb=67e70c6c022fa445cd654937faeb87955e3bca7a;p=lyx.git diff --git a/src/Paragraph.h b/src/Paragraph.h index c256faf4fc..761e6e9b5d 100644 --- a/src/Paragraph.h +++ b/src/Paragraph.h @@ -34,6 +34,7 @@ class Counters; class Cursor; class CursorSlice; class DocIterator; +class docstring_list; class DocumentClass; class Inset; class InsetBibitem; @@ -49,6 +50,8 @@ class PainterInfo; class ParagraphParameters; class TexRow; class Toc; +class WordLangTuple; +class XHTMLStream; class FontSpan { public: @@ -89,7 +92,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). @@ -100,6 +103,8 @@ public: ~Paragraph(); /// int id() const; + /// + void setId(int id); /// void addChangesToToc(DocIterator const & cdit, Buffer const & buf) const; @@ -149,7 +154,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, @@ -160,9 +165,10 @@ 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, + bool fortoc = false, pos_type initial = 0) const; /// @@ -176,10 +182,6 @@ public: /// Inset const & inInset() const; /// - InsetCode ownerCode() const; - /// - bool forcePlainLayout() const; - /// bool allowParagraphCustomization() const; /// bool usePlainLayout() const; @@ -208,13 +210,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? @@ -227,10 +229,10 @@ public: void setChange(pos_type pos, Change const & change); /// accept changes within the given range - void acceptChanges(BufferParams const & bparams, pos_type start, pos_type end); + void acceptChanges(pos_type start, pos_type end); /// reject changes within the given range - void rejectChanges(BufferParams const & bparams, pos_type start, pos_type end); + void rejectChanges(pos_type start, pos_type end); /// Paragraphs can contain "manual labels", for example, Description /// environment. The text for this user-editable label is stored in @@ -248,9 +250,6 @@ public: docstring const getLabelWidthString() const; /// Set label width string. void setLabelWidthString(docstring const & s); - /// translate \p label to the paragraph language if possible. - docstring const translateIfPossible(docstring const & label, - BufferParams const & bparams) const; /// Expand the counters for the labelstring of \c layout docstring expandLabel(Layout const &, BufferParams const &, bool process_appendix = true) const; @@ -362,9 +361,9 @@ public: bool isSeparator(pos_type pos) const; /// bool isLineSeparator(pos_type pos) const; - /// True if the character/inset at this point can be part of a word. - /// Note that digits in particular are considered as letters - bool isLetter(pos_type pos) const; + /// True if the character/inset at this point is a word separator. + /// Note that digits in particular are not considered as word separator. + bool isWordSeparator(pos_type pos) const; /// True if the element at this point is a character that is not a letter. bool isChar(pos_type pos) const; /// True if the element at this point is a space @@ -417,9 +416,19 @@ public: word_location const loc) const; /// void updateWords(); + + /// 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, 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: ///