]> git.lyx.org Git - lyx.git/blobdiff - src/bufferlist.h
don't copy if a reference is fine
[lyx.git] / src / bufferlist.h
index f186b84e0b135267dfbc7ee9f1690bbebb62ed3d..adb65fde2c4498cc3ed6200e4c6712d33316a9c1 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 1996-2000
+ *           This file is Copyright 1996-2001
  *           Lars Gullik Bjønnes
  *
  * ====================================================== */
 #pragma interface
 #endif
 
-#include "buffer.h"
-#include "debug.h"
+class Buffer;
+class UpdatableInset;
+#include <vector>
 #include <boost/utility.hpp>
 
+#include "LString.h"
+
 /** 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
@@ -30,7 +33,7 @@
   This class should ideally be enclosed inside class BufferList, but that
   gave me an "internal gcc error".
   */
-class BufferStorage : public noncopyable {
+class BufferStorage : boost::noncopyable {
 public:
        ///
        typedef std::vector<Buffer *> Container;
@@ -68,7 +71,7 @@ private:
 
 /** The class govern all open buffers.
  */
-class BufferList : public noncopyable {
+class BufferList : boost::noncopyable {
 public:
        ///
        BufferList();
@@ -96,19 +99,16 @@ public:
        bool empty() const;
 
        ///
-        bool QwriteAll();
+        bool qwriteAll();
 
        /// Close all open buffers.
        void closeAll();
 
-       ///
-       void resize();
-
        /// Read a file into a buffer readonly or not.
        Buffer * readFile(string const &, bool ro);
 
        /// Make a new file (buffer) using a template
-       Buffer * newFile(string const &, string, bool isNamed=false);
+       Buffer * newFile(string const &, string, bool isNamed = false);
        /// returns a vector with all the buffers filenames
        std::vector<string> const getFileNames() const;
 
@@ -120,7 +120,7 @@ public:
 
        ///
        void emergencyWriteAll();
-
+       
        /** Close buffer.
            @param buf the buffer that should be closed
            @return #false# if operation was canceled
@@ -139,14 +139,19 @@ public:
        /// returns a pointer to the buffer with the given name.
        Buffer * getBuffer(string const &);
        /// returns a pointer to the buffer with the given number.
-       Buffer * getBuffer(int);
+       Buffer * getBuffer(unsigned int);
 
 private:
+       /// ask to save a buffer on quit
+       bool qwriteOne(Buffer * buf, string const & fname, string & unsaved_list); 
+
        ///
        BufferStorage bstore;
        
        ///
        list_state state_;
+       ///
+       void emergencyWrite(Buffer * buf);
 };
 
 #endif