]> git.lyx.org Git - lyx.git/blobdiff - src/TextCache.h
fix build, thesaurus
[lyx.git] / src / TextCache.h
index 68af6be328c73290d8a76407c767bb45761b15fa..93df369bb05498b8c4fde5eff392090d39e8996e 100644 (file)
@@ -4,9 +4,9 @@
  * 
  *           LyX, The Document Processor        
  *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-2000 The LyX Team
+ *           Copyright 1995-2001 The LyX Team
  *
- *           This file is Copyright 2000
+ *           This file is Copyright 2000-2001
  *           Lars Gullik Bjønnes
  *
  * ====================================================== */
 #pragma interface
 #endif
 
-#include <iosfwd>
-
 #include "LString.h"
 #include "lyxtext.h"
+#include "buffer.h"
+
+#include <iosfwd>
+#include <map>
 
-class Buffer;
 
 // This is only the very first implemetation and use of the TextCache,
 // operations on it needs to be put into a class or a namespace, that part
@@ -36,7 +37,7 @@ class Buffer;
 //
 // Q. What are we caching?
 // A. We are caching the screen representations (LyXText) of the
-//    documents (Buffer,LyXParagraph) for specific BufferView widths.
+//    documents (Buffer,Paragraph) for specific BufferView widths.
 // Q. Why the cache?
 // A. It is not really needed, but it speeds things up a lot
 //    when you have more than one document loaded at once since a total
@@ -112,21 +113,22 @@ class Buffer;
 class TextCache {
 public:
        ///
-       typedef std::vector<LyXText*> Cache;
+       typedef std::map<Buffer *, std::pair<int,LyXText *> > Cache;
+       
        ///
-       typedef LyXText * value_type;
+       typedef Cache::value_type value_type;
 
        /** Returns a pointer to a LyXText that fits the provided buffer
            and width. Of there is no match 0 is returned. */
-       LyXText * findFit(Buffer * b, unsigned short p);
+       LyXText * findFit(Buffer * b, int p);
        /** Lists all the LyXText's currently in the cache.
            Uses msg as header for the list. */
        void show(std::ostream & o, string const & msg);
        /// Gives info on a single LyXText (buffer and width)
-       static void show(std::ostream & o, LyXText *);
+       static void show(std::ostream & o, value_type const &);
        /** Adds a LyXText to the cache iff its buffer is
            present in bufferlist. */
-       void add(LyXText *);
+       void add(Buffer *, int witdth, LyXText *);
        /** Clears the cache. Deletes all LyXText's and releases
            the allocated memory. */
        void clear();
@@ -137,6 +139,6 @@ private:
        Cache cache;
 };
 
-// bla bla
+///
 extern TextCache textcache;
 #endif