]> git.lyx.org Git - lyx.git/blobdiff - src/bufferlist.h
Small fix.
[lyx.git] / src / bufferlist.h
index e2c0109f32a998b45e19ecdbaae0ce742da319d1..f5155b370eb3a5262f56c6de0765a5979f4de5fd 100644 (file)
@@ -4,9 +4,9 @@
  * 
  *           LyX, The Document Processor        
  *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-1999 The LyX Team
+ *           Copyright 1995-2000 The LyX Team
  *
- *           This file is Copyright 1996
+ *           This file is Copyright 1996-2000
  *           Lars Gullik Bjønnes
  *
  * ====================================================== */
@@ -21,8 +21,6 @@
 #include "buffer.h"
 #include "debug.h"
 
-#define NEW_STORE 1
-
 /** A class to hold all the buffers in a structure
   The point of this class is to hide from bufferlist what kind
   of structure the buffers are stored in. Should be no concern for
   gave me an "internal gcc error".
   */
 class BufferStorage {
-#ifdef NEW_STORE
 public:
        ///
-       typedef vector<Buffer *> Container;
+       typedef std::vector<Buffer *> Container;
        ///
        typedef Container::iterator iterator;
        ///
+       typedef Container::const_iterator const_iterator;
+       ///
        bool empty() const { return container.empty(); }
        ///
        void release(Buffer * buf);
        ///
-       Buffer * newBuffer(string const & s, LyXRC *, bool = false);
+       Buffer * newBuffer(string const & s, bool = false);
        ///
        Container::iterator begin() { return container.begin(); }
        ///
        Container::iterator end() { return container.end(); }
        ///
+       Container::const_iterator begin() const { return container.begin(); }
+       ///
+       Container::const_iterator end() const { return container.end(); }
+       ///
        Buffer * front() { return container.front(); }
        ///
        Buffer * operator[](int c) { return container[c]; }
@@ -57,55 +60,9 @@ public:
 private:
        ///
        Container container;
-#else
-public:
-       ///
-       BufferStorage();
-       ///
-       bool empty();
-       ///
-       void release(Buffer * buf);
-       ///
-       Buffer* newBuffer(string const & s, LyXRC *, bool = false);
-private:
-       enum {
-               /** The max number of buffers there are possible to have
-                   loaded at the same time. (this only applies when we use an
-                   array)
-               */
-               NUMBER_OF_BUFFERS = 50
-       };
-       
-       /** The Bufferlist is currently implemented as a static array.
-         The buffers are new'ed and deleted as reqested.
-         */
-       Buffer *buffer[NUMBER_OF_BUFFERS];
-       ///
-       friend class BufferStorage_Iter;
-#endif
 };
 
 
-#ifndef NEW_STORE
-/// An Iterator class for BufferStorage
-class BufferStorage_Iter {
-public:
-       ///
-       BufferStorage_Iter(BufferStorage const & bs)
-       { cs = & bs; index = 0;}
-       /// next
-       Buffer* operator() ();
-       ///
-       Buffer* operator[] (int a);
-private:
-       ///
-       const BufferStorage *cs;
-       ///
-       unsigned char index;
-};
-#endif
-
-
 /** The class governing all the open buffers
   This class governs all the currently open buffers. Currently all the buffer
   are located in a static array, soon this will change and we will have a
@@ -125,21 +82,18 @@ public:
        };
 
        /// returns the state of the bufferlist
-       list_state getState() { return _state; }
+       list_state getState() const { return state_; }
        
        /** loads a LyX file or...
-         If the optional argument tolastfiles is false (default is
+           If the optional argument tolastfiles is false (default is
             true), the file name will not be added to the last opened
            files list
-           */  
+       */  
        Buffer * loadLyXFile(string const & filename, 
                             bool tolastfiles = true);
        
        ///
-       bool empty();
-
-       /// Saves buffer. Returns false if unsuccesful.
-       bool write(Buffer *, bool makeBackup = true);
+       bool empty() const;
 
        ///
         bool QwriteAll();
@@ -155,13 +109,8 @@ public:
 
        /// Make a new file (buffer) using a template
        Buffer * newFile(string const &, string);
-
-       /** This one must be moved to some other place.
-        */
-       void makePup(int);
-
-       ///
-       void updateInset(Inset *, bool = true);
+       /// returns a vector with all the buffers filenames
+       std::vector<string> getFileNames() const;
 
        ///
        int unlockInset(UpdatableInset *);
@@ -181,8 +130,11 @@ public:
        Buffer * first();
        
        /// returns true if the buffer exists already
-       bool exists(string const &);
+       bool exists(string const &) const;
 
+       /// returns true if the buffer is loaded
+       bool isLoaded(Buffer const * b) const;
+       
        /// returns a pointer to the buffer with the given name.
        Buffer * getBuffer(string const &);
        /// returns a pointer to the buffer with the given number.
@@ -193,7 +145,7 @@ private:
        BufferStorage bstore;
        
        ///
-       list_state _state;
+       list_state state_;
 };
 
 #endif