]> git.lyx.org Git - lyx.git/blobdiff - src/Buffer.h
do what the FIXME suggested
[lyx.git] / src / Buffer.h
index 7bfc8c35fa11415e2b738e93e4ea7e2869cd8f0a..4e01081476bf854474ce40c1c38e22f8164e1512 100644 (file)
@@ -18,7 +18,6 @@
 #include "support/types.h"
 #include "support/SignalSlot.h"
 
-#include <set>
 #include <string>
 #include <vector>
 
@@ -32,6 +31,8 @@ class ErrorItem;
 class ErrorList;
 class FuncRequest;
 class Inset;
+class InsetRef;
+class InsetLabel;
 class Font;
 class Format;
 class Lexer;
@@ -41,6 +42,7 @@ class LyXVC;
 class LaTeXFeatures;
 class Language;
 class MacroData;
+class MacroNameSet;
 class OutputParams;
 class Paragraph;
 class ParConstIterator;
@@ -366,7 +368,6 @@ public:
        /// Iterate through the whole buffer and try to resolve macros
        void updateMacroInstances() const;
 
-       typedef std::set<docstring> MacroNameSet;
        /// List macro names of this buffer. the parent and the children
        void listMacroNames(MacroNameSet & macros) const;
        /// Write out all macros somewhere defined in the parent,
@@ -453,6 +454,14 @@ public:
        ///
        std::vector<Format const *> exportableFormats(bool only_viewable) const;
 
+       ///
+       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;
+
 private:
        /// search for macro in local (buffer) table or in children
        MacroData const * getBufferMacro(docstring const & name,