+ typedef std::vector<std::pair<InsetRef *, ParIterator> > References;
+ References & references(docstring const & label);
+ References const & references(docstring const & label) const;
+ void clearReferenceCache() const;
+ void setInsetLabel(docstring const & label, InsetLabel const * il);
+ InsetLabel const * insetLabel(docstring const & label) const;
+
+ /// return a list of all used branches (also in children)
+ void getUsedBranches(std::list<docstring> &, bool const from_master = false) const;
+
+ /// sets the buffer_ member for every inset in this buffer.
+ // FIXME This really shouldn't be needed, but at the moment it's not
+ // clear how to do it just for the individual pieces we need.
+ void setBuffersForInsets() const;
+ /// Updates screen labels and some other information associated with
+ /// insets and paragraphs. Actually, it's more like a general "recurse
+ /// through the Buffer" routine, that visits all the insets and paragraphs.
+ void updateLabels() const { updateLabels(UpdateMaster, false); }
+ /// \param scope: whether to start with the master document or just
+ /// do this one.
+ /// \param output: whether we are preparing for output.
+ void updateLabels(UpdateScope scope, bool output) const;
+ ///
+ void updateLabels(ParIterator & parit, bool output) const;
+
+ /// Spellcheck starting from \p from.
+ /// \p from initial position, will then points to the next misspelled
+ /// word.
+ /// \p to will points to the end of the next misspelled word.
+ /// \p word_lang will contain the found misspelled word.
+ /// \return progress if a new word was found.
+ int spellCheck(DocIterator & from, DocIterator & to,
+ WordLangTuple & word_lang, docstring_list & suggestions) const;
+